¡Proporcione información detallada sobre el proceso de inicio de la computadora! Si estás satisfecho te daré más puntos, ¡gracias!
======
Encender y encender la computadora es casi algo que los usuarios de computadoras deben hacer todos los días, pero ¿qué hace la computadora cuando muestra el inicio? ¿pantalla? Es posible que la mayoría de los usuarios no lo sepan. Permítanme presentarles lo que hace la computadora desde que se enciende hasta el cielo azul y las nubes blancas de Windows 9x.
Existe un mecanismo de autoprueba de hardware muy completo durante el proceso de inicio del ordenador. Para las computadoras que utilizan Award BIOS, puede completar más de 100 pasos de detección en los breves segundos de autoprueba de encendido. En primer lugar, comprendamos dos conceptos básicos: el primero es BIOS (Sistema básico de entrada y salida). BIOS es en realidad un conjunto de programas que están "solidificados" en el hardware de la computadora y se ocupan directamente del proceso de inicio de la computadora. se realiza bajo el control del BIOS de la placa base, que a menudo llamamos "BIOS del sistema". El segundo concepto básico es la dirección de la memoria. Generalmente la computadora se instala con 32 MB, 64 MB o 128 MB de memoria para facilitar el acceso a la CPU, a cada byte de estas memorias se le asigna una dirección. El rango de direcciones de 32 MB está representado por números hexadecimales de 0 a 1FFFFFFH. La memoria de gama baja de 1 MB de 0 a FFFFFH es muy especial, porque la memoria máxima a la que puede acceder directamente el procesador de 32 bits que utilizamos es de solo 1 MB, por lo que. memoria en este 1 MB Los 640 KB de gama baja se denominan memoria básica, mientras que A0000H ~ BFFFFH están reservados para la memoria de video de la tarjeta gráfica y C0000H ~ FFFFFH están reservados para el BIOS. El BIOS del sistema generalmente ocupa los últimos 64 KB o más de espacio. y la tarjeta gráfica El BIOS generalmente está en C0000H ~ C7FFFH, y el BIOS del controlador IDE está en C8000H ~ CBFFFH. Después de comprender estos conceptos básicos, echemos un vistazo más de cerca al proceso de inicio de la computadora.
Cuando presionamos el interruptor de encendido, la fuente de alimentación comienza a suministrar energía a la placa base y otros dispositivos. En este momento, el voltaje aún es inestable. El chipset de control de la placa base enviará una señal de reinicio a la CPU. para permitir la inicialización de la CPU. Cuando la fuente de alimentación comienza a estabilizarse, el chipset elimina la señal de reinicio y la CPU inmediatamente comienza a ejecutar instrucciones desde la dirección FFFF0H. Esta dirección está dentro del rango de direcciones del BIOS del sistema. Ya sea Award BIOS o AMI BIOS, solo existe. un salto aquí. Gire el comando y salte al código de inicio real en el BIOS del sistema.
En este paso, lo primero que debe hacer el código de inicio del BIOS del sistema es realizar la POST (Autoprueba de encendido). La tarea principal de la POST es detectar si existen algunos dispositivos clave en el sistema. y funcione correctamente, como la memoria y la tarjeta gráfica, etc. Dado que el proceso de detección POST es antes de que se inicialice la tarjeta de visualización, si se encuentran algunos errores fatales durante la autoprueba POST, como que no se encuentra la memoria o hay un problema con la memoria (el proceso POST solo verifica la memoria convencional de 640K ), no se mostrará en la pantalla. En este momento, el sistema POST puede sonar a través del altavoz para informar el error. La duración y la frecuencia del sonido representan el tipo de error (consulte las ediciones 30 y 36). de este periódico para obtener detalles sobre códigos de arranque POST comunes).
A continuación, el BIOS del sistema buscará el BIOS de la tarjeta gráfica. La dirección inicial del chip ROM que almacena el BIOS de la tarjeta gráfica suele ser C0000H. llama a su código de inicialización, que está determinado por el BIOS de la tarjeta gráfica. Complete la inicialización de la tarjeta gráfica. Durante este proceso, la mayoría de las tarjetas gráficas suelen mostrar cierta información sobre la tarjeta gráfica en la pantalla, como fabricante, tipo de chip gráfico, capacidad de memoria de video, etc. Esta es la primera pantalla que vemos cuando encendemos la computadora, pero esta pantalla Es casi en un instante, algunas BIOS de tarjetas gráficas también utilizan una función de retardo para que los usuarios puedan ver claramente la información mostrada. Luego, el BIOS del sistema buscará los programas BIOS de otros dispositivos. Después de encontrarlos, también llamará a los códigos de inicialización dentro de estos BIOS para inicializar estos dispositivos.
Después de buscar el BIOS de todos los demás dispositivos, el BIOS del sistema mostrará su propia pantalla de inicio, que incluye el tipo de BIOS del sistema, el número de serie y el número de versión. Al mismo tiempo, el código de información de la placa base aparecerá en la esquina inferior izquierda de la pantalla, incluida la fecha del BIOS, el modelo del chipset de la placa base, el código de identificación de la placa base y el código del fabricante, etc.
Luego, el BIOS del sistema detectará el tipo de CPU y la frecuencia de funcionamiento, y mostrará los resultados de la detección en la pantalla. Este es el tipo de CPU y la frecuencia principal que vemos al arrancar. A continuación, el BIOS del sistema comienza a probar toda la capacidad de memoria del host y, al mismo tiempo, muestra el valor de la prueba de memoria en la pantalla, que es el conocido contador de memoria en la mitad superior de la pantalla que avanza rápidamente.
Una vez superada la prueba de memoria, el BIOS del sistema comenzará a detectar algunos dispositivos de hardware estándar instalados en el sistema. Estos dispositivos incluyen: discos duros, CD-ROM, unidades de disquete, interfaces serie, interfaces paralelas y otros. Además, la mayoría de las versiones nuevas del BIOS del sistema también detectan y configuran automáticamente parámetros relacionados con la memoria, parámetros del disco duro, modos de acceso, etc.
Una vez completada la detección del dispositivo estándar, el código de soporte Plug and Play dentro del BIOS del sistema comenzará a detectar y configurar los dispositivos Plug and Play instalados en el sistema. Después de encontrar cada dispositivo, el BIOS del sistema mostrará el nombre y modelo del dispositivo en la pantalla y asignará recursos como interrupciones, canales DMA y puertos de E/S al dispositivo.
En este punto, todo el hardware ha sido probado y configurado. El BIOS del sistema borrará la pantalla nuevamente y mostrará una lista de configuración del sistema en la parte superior de la pantalla, que enumera brevemente los distintos estándares instalados en el sistema. Dispositivos de hardware, así como los recursos que utilizan y algunos parámetros de trabajo relacionados.
Presiona la BIOS del sistema para actualizar ESCD (Extended System Configuration Data, datos de configuración extendidos del sistema). ESCD son los datos utilizados por el BIOS del sistema para intercambiar información de configuración del hardware con el sistema operativo. Estos datos se almacenan en CMOS. Por lo general, los datos de ESCD solo se actualizarán después de que cambie la configuración del hardware del sistema, por lo que no veremos el mensaje "Actualizar ESCD... Éxito" cada vez que iniciemos la máquina. Sin embargo, el BIOS del sistema de algunas placas base utiliza un formato de datos diferente al de Windows 9x al guardar datos ESCD. Por lo tanto, Windows 9x convertirá los datos ESCD a su propio formato durante su propio proceso de inicio, pero incluso la próxima vez que inicie la máquina. si la configuración del hardware no ha cambiado, el BIOS del sistema volverá a cambiar el formato de datos del ESCD. Este ciclo hará que el BIOS del sistema actualice el ESCD cada vez que se inicie la máquina. Es por eso que algunas computadoras actualizan el ESCD cada vez. por qué aparece el mensaje "Actualizar ESCD... Éxito" durante el inicio.
Después de actualizar los datos del ESCD, el código de inicio del BIOS del sistema realizará su último trabajo, que consiste en iniciar desde el disquete, el disco duro o la unidad óptica de acuerdo con la secuencia de inicio especificada por el usuario. Tomando el arranque desde la unidad C como ejemplo, el BIOS del sistema leerá y ejecutará el registro de arranque maestro en el disco duro. Luego, el registro de arranque maestro busca la primera partición activa en la tabla de particiones y luego lee y ejecuta el registro de arranque de la partición. de esta partición activa El registro de inicio de la partición será responsable de leer y ejecutar IO.SYS, que es el archivo de sistema más básico para DOS y Windows 9x. IO.SYS de Windows 9x primero debe inicializar algunos datos importantes del sistema y luego mostrar el familiar cielo azul y las nubes blancas. Debajo de esta imagen, Windows continuará iniciando e inicializando la parte DOS y la parte GUI (interfaz gráfica de usuario). .
Lo anterior describe las diversas tareas de inicialización que deben completarse cuando la computadora enciende el interruptor de encendido (o presiona la tecla Restablecer) para un arranque en frío si presionamos la combinación de teclas Ctrl+Alt+Supr en. DOS (o seleccione desde Windows (Reiniciar la computadora) para realizar un inicio en caliente, luego se omitirá el proceso POST y se iniciará directamente desde el tercer paso. Además, la prueba de CPU y memoria en el quinto paso no se realizará nuevamente.
Ya sea un arranque en frío o en caliente, el BIOS del sistema repetirá el proceso de arranque y detección de hardware anterior. Es este proceso discreto el que garantiza que podamos iniciar y usar la computadora normalmente.
=====
Lo anterior es el proceso de inicio POST.
======
El proceso de inicio de WINDOWS es el siguiente:
Selección del sistema operativo
Este paso no es necesario Sólo aparecerá cuando haya varios sistemas operativos Windows instalados en el ordenador. Sin embargo, no importa cuántos sistemas Windows estén instalados en su computadora, este paso se ejecutará según lo diseñado durante el proceso de inicio de la computadora. Solo cuando haya varios sistemas instalados, el sistema mostrará una lista para permitirle elegir iniciar el sistema. Pero si solo tienes un sistema, el gestor de arranque pasará directamente a la siguiente etapa después de tomar la decisión.
Si ha instalado varios sistemas operativos Windows (generalmente se refiere a sistemas más nuevos como Windows 2000/XP/2003, excluyendo los sistemas Windows 9x), todos los registros se guardarán en el disco del sistema en un archivo llamado boot.ini en el directorio raíz. Una vez que el programa ntldr complete el trabajo de inicialización, leerá el archivo boot.ini del disco duro y, según su contenido, determinará cuántos Windows están instalados en la computadora y qué particiones están instaladas en qué disco duro. Si solo tienes uno instalado, omite este paso. Pero si hay varios instalados, ntldr mostrará una lista de selección del sistema operativo basada en los registros del archivo y durará 30 segundos de forma predeterminada. Tan pronto como haga su selección, ntldr comenzará a cargar automáticamente el sistema seleccionado. Si no elige, después de 30 segundos, ntldr comenzará a cargar el sistema operativo predeterminado. En este punto, el paso de selección del sistema operativo se ha completado con éxito.
Consejos: ¿Cuál es la diferencia entre volumen del sistema y volumen de arranque?
Estos son dos conceptos que se confunden fácilmente, porque según la definición de Microsoft de estos dos términos, es fácil causar malentendidos. Según la definición de Microsoft, el disco del sistema se refiere a la partición/volumen del disco duro que almacena los archivos utilizados para iniciar Windows (según la introducción anterior, ya hemos entendido que estos archivos se refieren a ntldr, boot.ini, etc.); mientras que el disco de arranque se refiere a la partición/volumen del disco duro que almacena los archivos utilizados para iniciar la partición/volumen del disco duro que contiene los archivos del sistema de Windows. Si solo hay un sistema operativo, generalmente lo instalamos en la primera partición primaria del primer disco duro físico (generalmente reconocido como la unidad C), luego el disco del sistema y el disco de arranque pertenecen a la misma partición. Sin embargo, si instala Windows en otra partición, como la unidad D, entonces la unidad del sistema seguirá siendo su unidad C (porque aunque Windows esté instalado en otra unidad, los archivos utilizados para iniciar el sistema aún se guardarán en la partición). directorio raíz de la unidad C), pero su disco de arranque se convertirá en la unidad D. Existe una regla muy extraña: la partición que almacena los archivos necesarios para iniciar el sistema se llama "disco del sistema", mientras que la partición que almacena los archivos del sistema operativo se llama "disco de inicio", que simplemente se invierte. Pero así lo estipula Microsoft.
Detección de hardware
Este proceso requiere principalmente el uso de Ntdetect.com y Ntldr. Después de seleccionar el sistema Windows que queremos cargar en la etapa de selección del sistema operativo anterior, Ntdetect.com primero recopila toda la información del hardware instalado en la computadora actual y la enumera en una tabla, y luego le entrega la tabla a Ntldr (información de este La tabla se utilizará más adelante para crear claves en el registro relacionado con el hardware). Los tipos de hardware que deben recopilarse incluyen: tipo de bus/adaptador, tarjeta gráfica, puerto de comunicación, puerto serie, unidad de punto flotante (CPU), memoria extraíble, teclado, dispositivo señalador (ratón). En este punto, la operación de detección de hardware se ha completado con éxito.
Selección del archivo de configuración
Este paso no es necesario. Este paso solo es necesario si ha creado varios perfiles de hardware en su computadora (comúnmente utilizados en computadoras portátiles).
Consejos: ¿Qué es un archivo de configuración de hardware? ¿Por qué usarlo?
Esta función es más adecuada para usuarios de portátiles.
Si tiene una computadora portátil que se usa principalmente en la oficina y en el hogar, puede usar una tarjeta de red para conectarla a la LAN de la empresa cuando esté en la oficina. La empresa utiliza un servidor DHCP para asignar direcciones IP a los clientes; cuando llega a casa, no hay un servidor DHCP, al iniciar el sistema, el sistema tardará mucho en buscar el servidor DHCP inexistente, lo que prolongará el tiempo de inicio del sistema. En este caso, puede usar diferentes archivos de configuración de hardware en la oficina y en casa. Podemos usar el archivo de configuración de hardware para decidir qué hardware usar en un determinado archivo de configuración y qué hardware no usar. Por ejemplo, en el ejemplo citado anteriormente, podemos crear archivos de configuración separados para las computadoras portátiles en casa y en la oficina, y la tarjeta de red se desactivará en el archivo de configuración del hogar. De esta forma, si utiliza el archivo de configuración de inicio después de regresar a casa, la tarjeta de red se desactivará directamente cuando se inicie el sistema, evitando así la necesidad de buscar un servidor DHCP inexistente y prolongar el tiempo de inicio del sistema.
Si Ntldr detecta que se han creado varios archivos de configuración de hardware en el sistema, mostrará una lista de todos los archivos de configuración disponibles para que el usuario elija. En realidad, esto es similar a la selección del sistema operativo. Ntldr realizará este paso independientemente de si se crean múltiples archivos de configuración en el sistema, pero la lista de archivos solo se mostrará cuando se detecten múltiples archivos de configuración de hardware.
Fase de carga del kernel
En esta fase, Ntldr cargará el archivo del kernel de Windows XP: Ntoskrnl.exe, pero esto solo se está cargando y el kernel no se cargará en este momento. . está inicializado. Lo que luego se carga es la capa de abstracción de hardware (hal.dll).
La capa de abstracción de hardware es en realidad un programa que se ejecuta en la memoria. Este programa sirve como puente entre el kernel de Windows XP y el hardware físico. En circunstancias normales, los sistemas operativos y las aplicaciones no pueden interactuar directamente con el hardware físico. Solo el kernel de Windows y una pequeña cantidad de servicios del sistema en modo kernel pueden interactuar directamente con el hardware. Si la mayoría de los demás servicios y aplicaciones del sistema quieren interactuar con el hardware, deben hacerlo a través de la capa de abstracción de hardware.
Consejos: Por qué usar la capa de abstracción de hardware
Hay dos razones principales para usar la capa de abstracción de hardware: 1. Ignorar llamadas de hardware no válidas o incluso incorrectas. Sin una capa de abstracción de hardware, todas las llamadas e incluso los errores que se produzcan en el hardware se devolverán al sistema operativo, lo que puede provocar inestabilidad en el sistema. La capa de abstracción de hardware es como un filtro que funciona entre el hardware físico y el kernel del sistema operativo. Puede filtrar todas las llamadas y errores que se consideran perjudiciales para el sistema operativo, lo que mejora directamente la estabilidad del sistema 2. Más Traducción entre plataformas. Se puede dar un ejemplo vívido de esta razón: supongamos que cada hardware físico usa un idioma diferente y cada componente o aplicación del sistema operativo usa el mismo idioma. Entonces la comunicación entre diferentes hardware físico y sistemas será caótica y muy ineficiente. Si hay una capa de abstracción de hardware, equivale a disponer un traductor entre el software y el hardware. Este traductor comprende el idioma de todo el hardware y transmitirá el significado original de lo que el hardware dice al sistema operativo y al software en un idioma que. el sistema o el software pueden entender. A través de este mecanismo, se puede mejorar enormemente el soporte del sistema operativo para el hardware.
Después de cargar la capa de abstracción de hardware, lo siguiente que carga el kernel es la clave de registro HKEY_LOCAL_MACHINE\System. Ntldr determinará qué clave de registro del conjunto de controles debe cargarse a continuación en función del contenido de la clave de selección cargada (Figura 2), y estas claves determinarán qué controladores de dispositivo cargará el sistema o qué servicios se iniciarán. Una vez cargado el contenido de estas claves de registro, el sistema entrará en la fase de inicialización del kernel, momento en el que ntldr entregará el control del sistema al kernel del sistema operativo.
Inicializando la fase del kernel
Al ingresar a esta fase, el logotipo de Windows XP se mostrará en la pantalla de la computadora y también se mostrará una barra de progreso de desplazamiento. Esta barra de progreso puede. desplácese varias veces (Figura 3). A partir de este paso podremos tener una impresión intuitiva del inicio del sistema desde la pantalla. En esta etapa, se completarán estas cuatro tareas: crear claves de registro de hardware, copiar claves de registro del conjunto de controles, cargar e inicializar controladores de dispositivos e iniciar servicios.
Crear clave de registro de hardware
Primero cree una clave de hardware en el registro. El kernel de Windows utilizará la información de hardware recopilada en la fase de detección de hardware anterior para crear la clave HKEY_LOCAL_MACHINE\Hardware. , es decir, el contenido de esta clave en el registro no es fijo, sino que se actualizará dinámicamente según la configuración del hardware del sistema actual.
Copie la clave de registro del conjunto de controles
Si la clave de registro del hardware se crea correctamente, el núcleo del sistema creará una copia de seguridad del contenido de la clave del conjunto de controles. Esta copia de seguridad será utilizada por la opción "Última configuración buena conocida" en el menú de inicio avanzado del sistema. Por ejemplo, si instalamos un nuevo controlador de tarjeta gráfica y el sistema falla antes de que la clave de registro de hardware se cree correctamente después de reiniciar el sistema, si selecciona la opción "Última configuración buena conocida", el sistema usará automáticamente la última. El contenido de la copia de seguridad de la clave de registro del conjunto de controles regenera la clave de hardware, de modo que se puedan deshacer los cambios anteriores en la configuración del sistema debidos a la instalación de un nuevo controlador de tarjeta gráfica.
Carga e inicialización de controladores de dispositivo
En esta etapa, el kernel del sistema operativo primero inicializará el controlador de dispositivo subyacente cargado previamente en la etapa de carga del kernel, y luego el kernel registrará Buscar todo controladores de dispositivo con un valor de clave de inicio de "1" en la clave HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services de la tabla (Figura 4). Estos controladores de dispositivo se inicializarán inmediatamente después de la carga. Si se produce algún error durante este proceso, el núcleo del sistema lo manejará automáticamente según el valor de la clave "ErrorControl" del controlador de dispositivo. Hay cuatro valores clave de la tecla "ErrorControl", que tienen los siguientes significados:
0, ignorar, continuar iniciando y no mostrar mensajes de error.
1. Normal, continúa iniciando y muestra un mensaje de error.
2. Restaure, detenga el inicio y reinicie el sistema usando la opción "Última configuración buena conocida". Si un error persiste, se ignorará.
3. En serio, deja de iniciar y utiliza la opción "Última configuración buena conocida" para reiniciar el sistema. Si el error persiste, el inicio se detendrá y se mostrará un mensaje de error.
Iniciar el servicio
Después de que el kernel del sistema se haya cargado correctamente y todos los controladores de dispositivos subyacentes se hayan inicializado correctamente, el administrador de sesión comenzará a iniciar los subsistemas y servicios de alto nivel, y luego Inicie el subsistema Win32. La función del subsistema Win32 es controlar todos los dispositivos de entrada/salida y acceder a los dispositivos de visualización. Cuando se completen todas estas operaciones se podrá mostrar la interfaz gráfica de Windows, y también podremos utilizar el teclado y otros dispositivos de E/S.
A continuación, el administrador de sesión iniciará el proceso Winlogon. En este punto, la fase de inicialización del kernel se ha completado con éxito y el usuario puede comenzar a iniciar sesión en este momento.
Fase de inicio de sesión
En esta fase, el proceso winlogon.exe iniciado por el administrador de sesión iniciará el subsistema de la Autoridad de seguridad local (lsass.exe). Después de llegar a este paso, la interfaz de bienvenida de Windows XP (Figura 5) o la interfaz de inicio de sesión se mostrará en la pantalla. En este momento, podrá iniciar sesión sin problemas. Sin embargo, al mismo tiempo, el inicio del sistema no se ha completado por completo y es posible que algunos controladores de dispositivos no críticos aún se estén cargando en segundo plano.
Luego, el sistema escaneará nuevamente la clave de registro HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services (¿recuerda que el primer escaneo fue durante el paso de inicio?) y buscará los valores de todas las claves de Inicio. Un servicio que es un número de "2" o mayor. Estos servicios no son críticos y el sistema no comienza a cargarlos hasta que el usuario inicia sesión correctamente.
Consejos: Por qué Windows XP se inicia más rápido que Windows 2000
Entre todos los sistemas operativos Windows actuales, Windows 2000 puede tener la velocidad de inicio más lenta. Esto no se debe al rendimiento del hardware de la computadora. no es suficiente, pero lo es por las "deficiencias innatas" del diseño de Windows 2000. Para compensar esta deficiencia, Microsoft ideó un nuevo método al desarrollar Windows XP, es decir, todos los controladores de dispositivos y servicios sin importancia se cargarán y ejecutarán después de que el usuario inicie sesión en el sistema. Es decir, durante el proceso de inicio del sistema, todos los programas cargados y ejecutados son necesarios para ejecutar el sistema, de modo que la interfaz de inicio de sesión se pueda mostrar en el menor tiempo posible para que los usuarios inicien sesión. El sistema solo comienza a cargar componentes no críticos después de que el usuario inicia sesión. Se puede decir que acelerar la velocidad de inicio de Windows XP es en realidad un enfoque "oportunista", pero este enfoque es bastante efectivo. Sin embargo, este diseño también trae algunos problemas. Por ejemplo, algunos amigos informaron que habían iniciado sesión exitosamente en su sistema, pero pasaron varios minutos antes de que la barra de tareas y los íconos del escritorio aparecieran en el escritorio. De hecho, esto se debe a que durante los pocos minutos de espera, el sistema está ocupado procesando servicios y componentes sin importancia. Este fenómeno puede ocurrir si hay demasiado contenido para procesar o si la configuración del hardware de la computadora no es lo suficientemente potente.
Consejos: Cómo controlar la secuencia de inicio de servicios no críticos
Ya sabes que los servicios no críticos se cargan después de que el usuario inicia sesión correctamente, entonces, ¿podemos controlarlos manualmente? ¿En qué orden se cargan los servicios? En realidad, esto es muy simple. La secuencia de inicio de los servicios también está determinada por el valor de la clave de registro de inicio respectiva y la relación de dependencia entre cada servicio. Suponiendo que la operación del servicio A debe depender del servicio B, entonces el servicio A no puede iniciarse correctamente hasta que el servicio B se inicie normalmente. Supongamos que el valor de la clave de inicio del servicio C es 3 y el valor de la clave de inicio del servicio D es 6, entonces el servicio C se iniciará antes que el servicio D (cuanto menor sea el valor, mayor será la prioridad).
En este punto, el proceso de inicio de Windows XP está completo.