Comprensión en profundidad de XP misterioso archivo de arranque NTLDR

  

NTLDR generalmente se almacena en el directorio raíz de la unidad C. Es un archivo del sistema con atributos ocultos y de solo lectura. Su principal responsabilidad es analizar el archivo Boot.ini. Si su comprensión de esto no es muy clara, entonces usaremos Windows XP como ejemplo para introducir el rol de NTLDR en el proceso de arranque del sistema.

Windows XP se someterá a tres etapas de arranque previo, arranque y carga del kernel durante el proceso de arranque. Esto es completamente diferente de la forma en que Windows 9X lee directamente el sector de arranque para arrancar el sistema. NTLDR está en estas tres. El proceso de guía de las fases jugará un papel crucial.

1. Fase previa al inicio

El trabajo realizado por la computadora durante la fase previa al inicio es: al ejecutar el programa POST, la POST detectará la memoria total del sistema y el estado de otros dispositivos de hardware, y cargará el primer sector físico del disco en la memoria. , cargue el registro de arranque maestro del disco duro y ejecútelo, el registro de arranque maestro encontrará la posición inicial de la partición activa. El sector de inicio de la partición activa se carga y ejecuta, y finalmente el archivo NTLDR se carga y se inicializa desde el sector de inicio.

2. Fase de inicio

Durante la fase de inicio, Windows XP pasará por las cuatro fases pequeñas de la fase inicial del cargador de inicio, la fase de selección del sistema operativo, la fase de detección de hardware y la fase de selección de la configuración.

(1) En la fase inicial del gestor de arranque, NTLDR convertirá el microprocesador de la computadora del modo real al modo de memoria plana de 32 bits. En el modo real, el sistema reservará 640 KB para MS-DOS. El espacio de la memoria, el resto de la memoria se ve como memoria extendida, en el modo plano de 32 bits, el sistema trata toda la memoria como memoria disponible, luego NTLDR ejecuta el controlador de sistema de archivos pequeño apropiado, luego NTLDR puede identificar cada uso Una partición del sistema de archivos en formato NTFS o FAT, en cuyo punto finaliza la fase inicial del cargador de arranque.

(2) Cuando finaliza la fase inicial del cargador de arranque, entrará en la fase de selección del sistema operativo. Si hay varios sistemas operativos instalados en la computadora, ya que NTLDR carga el archivo Boot.ini correcto, se inicia. Aparecerá el menú que solicita el sistema operativo. NTLDR encuentra la ubicación de la partición del archivo del sistema desde el archivo boot.ini. Si se selecciona el sistema NT, NTLDR ejecutará el archivo NTDETECT.COM; de lo contrario, NTLDR cargará BOOTSECT.DOS y luego pasará el control a BOOTSECT.DOS. Si solo hay un sistema operativo en el archivo Boot.ini o el valor del tiempo de espera es 0, no aparecerá la pantalla del menú del sistema operativo. Si el archivo Boot.ini es ilegal o no existe, NTLDR intentará iniciar desde el volumen predeterminado del sistema. El sistema Consejo

: después de que se inicie NTLDR, si se encuentra el archivo Hiberfil.sys en el directorio raíz del sistema y el archivo es válido, NTLDR leerá la información en el archivo Hiberfil.sys y permitirá que el sistema se recupere para dormir antes. Estado, esto no procesa el archivo Boot.ini.

(3) Cuando finalice la fase de selección del sistema operativo, entrará en la fase de detección de hardware. En este momento, el archivo NTDETECT.COM recopilará la lista de información de hardware en la computadora y luego la devolverá a NTLDR, por lo que NTLDR los pondrá La información del hardware se carga en el Hardware en el registro "HKEY_LOCAL_MACHINE".

(4) Una vez finalizada la fase de detección de hardware, se ingresará a la fase de selección de la configuración. Si hay varias listas de configuración de hardware, aparecerá el menú de selección del archivo de configuración. Si solo hay una, no se mostrará.

3. Cargando la etapa del núcleo

Durante la fase de carga del núcleo, NTLDR cargará el núcleo NTOKRNL.EXE, luego NTLDR cargará la capa de abstracción de hardware (HAL.dll), y el sistema cargará la clave "HKEY_MACHINESystem" en el registro. En este punto, NTLDR leerá la clave "HKEY_MACHINESystemselect" para determinar qué ControlSet se cargará. El ControlSet cargado contendrá el controlador para el dispositivo y los servicios que deben cargarse. Luego, NTLDR carga el controlador de dispositivo subyacente con el valor de la clave de inicio de 0 en el registro "HKEY_LOCAL_MACHINESystemservice". Cuando se carga la imagen CurrentControlSet del ControlSet, NTLDR pasará el control a NTOSKRNL.EXE, y el proceso de arranque finalizará.

Sugerencia: si presiona F8 al inicio, veremos varios modos de inicio de selección en el menú de inicio. En este momento, NTLDR cargará el kernel de NT con los parámetros de inicio según la elección del usuario. Los usuarios también pueden establecer los parámetros de inicio en el archivo Boot.ini.

Copyright © Conocimiento de Windows All Rights Reserved