Secuencia de arranque de Windows (boot).
Publicado por webpath en 24-12-07
1.- Descripción del proceso de arranque en los sistemas operativos de Microsoft anteriores a Vista.
2.- Descripción del proceso de arranque en Window$ Vista.
1.-Breve revisión del gestor de arranque anterior a Vista.
Aplicable a Windows NT (NT, W2000, XP, W2003) y en posible conjunto con antiguos sistemas MS-DOS, Windows 9X.
La instalación de un MS-DOS, o bien de un Win9X, modifica:
- Sector de “boot” de la partición (no confundir con el MBR del disco duro). Son los primeros 512 bytes de la partición, y lleva “hardcoded” el nombre del archivo IO.SYS. Por tanto, cargará el IO.SYS de la propia partición (C:) y este se encargará de la carga del resto del sistema operativo.
- Los archivos que intervienen son: el propio “boot” de la partición, IO.SYS, MS-DOS.SYS, COMMAND.COM.
La instalación de un sistema Windows NT (NT, W2000, XP, W2003) implica:
- Si existe un sistema operativo anterior (MS-DOS, Windows 9X)
- Guarda el antiguo “boot” de la partición en un archivo llamado BOOTSECT.DOS.
- Crea un nuevo sector de “boot” de la partición apuntando a NTLDR (hardcoded).
- Copia los archivos NTLDR y NTDETECT.COM que son los cargadores del sistema operativo.
- Crea o modifica un archivo llamado BOOT.INI que básicamente contiene:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(3)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(3)partition(1)\WINDOWS=”Microsoft Windows XP Professional” /FASTDETECT /NOEXECUTE=OPTIN
c:\=”Microsoft Windows 98”
Es decir, por cada sistema instalado creará una línea en [operating systems] y la última línea referenciará al sistema operativo previo (MS-DOS o Windows 98).
-
- El funcionamiento en la carga es:
- Si se selecciona cualquiera de los sistemas Windows NT, se cargará directamente.
- Si se selecciona la última línea que referencia a alguno de los viejos sistemas, el circuito de carga es:
- Se carga en memoria el antiguo sector de arranque (BOOTSECT.DOS)
- Se le cede control, por lo cual, este cargará el IO.SYS tal y como hemos visto en la primera parte.
- El funcionamiento en la carga es:
Nota: NTLDR y NTDETECT.COM han ido evolucionando con los sistemas operativos y conservándose compatibilidad descendente. Es decir, los de XP pueden cargar los sistemas anteriores (NT 4 y W2000). Pero el de W2000 no podrá cargar XP. Por motivos evidentes, siempre deberemos guardarnos una copia de los últimos, por si acaso re-instalamos un sistema anterior poderlos restituir rápidamente. Todos los archivos citados hasta el momento se graban en el raíz de C: con atributos de “ocultos” y de “sistema”.
2.- Cambios introducidos en Windows Vista.
- El “boot” de la partición se modifica y apunta (hardcoded) al archivo BOOTMGR.
- Se copia en C:\ (raíz) el archivo de arranque del sistema: BOOTMGR
- Se crea una carpeta en C:\Boot con el contenido del nuevo gestor de arranque de Windows Vista y con los archivos:
C:\Boot\winldfw.efi
C:\Boot\winnvram.efi
C:\Boot\bootfix.bin
C:\Boot\fixfat.exe
C:\Boot\fixntfs.exe
C:\Boot\hibrsm32.exe
C:\Boot\hibrsm64.exe
C:\Boot\NTDETECT.COM
C:\Boot\ntldr
C:\Boot\windowscodeintegrity.luacdf
- Nota: NTLDR y NTDETECT, aunque tienen el mismo nombre que los vistos previamente, son para uso exclusivo de Windows Vista y por tanto los que tuviésemos con el mismo nombre en el raíz de C:\ debido a tener un sistema operativo anterior (por ejemplo XP), permanecerán inalterados.
- Se modifica el Boot.ini de C:\. Imaginemos que tuviésemos instalado XP Home y XP Profesional, así como un sistema previo Windows 9X. En ese caso, hasta el momento de instalar Vista, tendríamos:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS=”Microsoft Windows XP Professional” /FASTDETECT /NOEXECUTE=OPTIN
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS=”Microsoft Windows Home” /FASTDETECT /NOEXECUTE=OPTIN
c:\=”Microsoft Windows”
- La instalación de Windows Vista -por ejemplo, en un segundo disco- nos lo modificará quedando:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS=”Microsoft Windows Vista” /FASTDETECT /NOEXECUTE=OPTIN /USENEWLOADER
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS=”Microsoft Windows XP Professional” /FASTDETECT /NOEXECUTE=OPTIN
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS=”Microsoft Windows Home” /FASTDETECT /NOEXECUTE=OPTIN
c:\BOOTSECT.DOS=”Previous Operating System”
c:\=”Microsoft Windows”
- La secuencia de arranque sería:
- El “boot” de la partición arranca el BOOTMGR
- Este, lee el archivo BOOT.INI y lo “resume” en la siguiente pantalla

-
- Si seleccionamos Windows Vista, usa los archivos nuevos de la carpeta “Boot” para cargar Windows Vista.
- Si seleccionamos un sistema operativo previo, sacará el menú clásico:

-
- Y usará los archivos clásicos de C:\ (NTLDR y NTDETECT.COM) para cargar el antiguo sistema operativo.
NOTA: Por cada Windows Vista instalado, meterá una línea en el Boot.ini que se reflejará en ambos menús.
La instalación o re-instalación de un nuevo sistema operativo “anterior” a Windows Vista no modificará archivos básicos de arranque. Pero por desgracia modificará el “boot” de la partición haciéndolo apuntar a NTLDR de C:\ en vez de a BOOTMGR, lo que impedirá arrancar los sistema Windows Vista.
Para solucionarlo deberá recuperarse el “Boot” de la partición, y deberá hacerse desde una recuperación del arranque, previsiblemente mediante el comando FIXBOOT (o el equivalente). En la fase actual de Beta1, no existe la posibilidad de arrancar en modo consola y el sistema de mantenimiento del disco no está operativo.
Este documento se irá modificando de acuerdo a los cambios en las siguiente Beta y en la versión final para dejarlo de acuerdo a la realidad.
Obtenido de: http://www.multingles.net/docs/jmt/wv_arranque.htm
Jks escribió
Hola, muy buen aporte pero quisiera saber q debo modificar en el archivo del boot en el caso de quiera q bootear de otro disco duro.
gracias de antemano
Juan escribió
Entiendo que el valor rdisk
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS=”Microsoft Windows Vista” /FASTDETECT /NOEXECUTE=OPTIN /USENEWLOADER
JOALMOR escribió
hola quisiera que me ayudaran hize el update de servicepack1 en win vista
despues de tanto batallar prenderse y apagarse reacciono y se instalo pero ahora no arranca
windows solo aparece
path: \Windows\system32\winload.exe
partition: 2
Hard disk: b6dd6a6
[ /NOEXECUTE=OPTIN