
Desde o Vista, o Windows armazena o menu de inicialização em um armazenamento de dados de configuração de inicialização (BCD). Dei uma olhada no meu hoje e aqui está a entrada para a única instância do 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
Parece que os caminhos ARC do boot.ini desapareceram - esta entrada de inicialização tem um C:
para identificar a unidade de onde carregar o Win7. Mas as letras das unidades não são arbitrárias no Windows? Como ele sabe qual unidade física e partição corresponde a C sem examinar primeiro o registro?
Responder1
O BCD é na verdade uma seção do Registro, geralmente montada no registro sob a chave HKLM\BCD00000000. Você pode usar o regedit para exportar essa chave como um arquivo .reg e examinar os dados reais que o BCD armazena. O formato dos dados do dispositivo/osdevice não está documentado e é bastante obscuro, mas você encontrará o ID do disco que ocorre na tabela de partição e o endereço do setor linear do primeiro setor da partição em questão entre esses dados. Letras de unidade do Windows são usadas pelo bcdedit para apresentar esses dados de uma maneira presumivelmente mais compreensível.
Responder2
O caminho é BCD e não está fisicamente armazenado como uma letra de unidade. Estive mexendo no console de reparo; depois que você altera a letra da unidade da partição de inicialização e invoca o BCDEdit novamente, a letra da unidade também muda magicamente no BCD. Provavelmente é algo semelhante a um caminho ARC, e o BCDEdit abstrai isso.