
Seit Vista speichert Windows das Startmenü in einem Boot Configuration Data Store (BCD). Ich habe mir heute meinen angeschaut und hier ist der Eintrag für die einzige Win7-Instanz:
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
Die ARC-Pfade von boot.ini sind anscheinend verschwunden – dieser Starteintrag dient C:
zur Identifizierung des Laufwerks, von dem Win7 geladen werden soll. Aber sind Laufwerksbuchstaben in Windows nicht beliebig? Woher weiß es, welches physische Laufwerk und welche Partition C entspricht, ohne vorher in der Registrierung nachzuschauen?
Antwort1
Der BCD ist eigentlich ein Registry-Hive, der normalerweise in der Registry unter dem Schlüssel HKLM\BCD00000000 eingebunden ist. Sie können regedit verwenden, um diesen Schlüssel als .reg-Datei zu exportieren und die tatsächlichen Daten zu untersuchen, die der BCD speichert. Das Format der Geräte-/OSdevice-Daten ist nicht dokumentiert und ziemlich obskur, aber Sie werden in diesen Daten die Datenträger-ID finden, die in der Partitionstabelle vorkommt, und die lineare Sektoradresse des 1. Sektors der betreffenden Partition. bcdedit verwendet Windows-Laufwerksbuchstaben, um diese Daten auf eine vermutlich verständlichere Weise darzustellen.
Antwort2
Der Pfad ist BCD und wird physisch nicht als Laufwerksbuchstabe gespeichert. Ich habe an der Reparaturkonsole herumgespielt; sobald Sie den Laufwerksbuchstaben der Startpartition ändern und BCDEdit erneut aufrufen, ändert sich der Laufwerksbuchstabe wie von Zauberhand auch in BCD. Es ist wahrscheinlich etwas Ähnliches wie ein ARC-Pfad, und BCDEdit abstrahiert dies.