
Desde Vista, Windows almacena el menú de inicio en un almacén de datos de configuración de inicio (BCD). Eché un vistazo al mío hoy y aquí está la entrada para la única instancia de Win7:
Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \Windows\system32\winload.exe
description Windows 7
locale en-US
inherit {bootloadersettings}
recoverysequence {89491629-36d4-11df-938c-f89ebe5d401b}
recoveryenabled Yes
osdevice partition=C:
systemroot \Windows
resumeobject {89491621-36d4-11df-938c-f89ebe5d401b}
nx OptIn
Al parecer, las rutas ARC de boot.ini desaparecieron: esta entrada de arranque tiene una función C:
para identificar la unidad desde la que cargar Win7. ¿Pero no son arbitrarias las letras de unidad en Windows? ¿Cómo sabe qué unidad física y partición corresponden a C sin mirar primero el registro?
Respuesta1
El BCD es en realidad una colmena del Registro, generalmente montada en el registro bajo la clave HKLM\BCD00000000. Puede usar regedit para exportar esa clave como un archivo .reg y examinar los datos reales que almacena BCD. El formato de los datos del dispositivo/dispositivo operativo no está documentado y es bastante oscuro, pero encontrará la ID del disco que aparece en la tabla de particiones y la dirección del sector lineal del primer sector de la partición en cuestión entre esos datos. Bcdedit utiliza las letras de unidad de Windows para presentar esos datos de una manera presumiblemente más comprensible.
Respuesta2
La ruta es BCD y no se almacena físicamente como letra de unidad. He estado jugueteando con la consola de reparación; una vez que cambia la letra de la unidad de la partición de arranque e invoca BCDEdit nuevamente, la letra de la unidad también cambia mágicamente en BCD. Probablemente sea algo similar a una ruta ARC, y BCDEdit lo abstrae.