2

Since Vista, Windows stores the boot menu in a Boot Configuration Data store (BCD). I took a look at mine today, and here's the entry for the one and only Win7 instance:

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

The ARC paths of boot.ini are gone, it seems - this boot entry has a C: to identify the drive to load Win7 from. But aren't drive letters arbitrary in Windows? How does it know what physical drive and partition corresponds to C without looking at the registry first?

2 Answers 2

2

The BCD is actually a Registry hive, usually mounted in the registry under the HKLM\BCD00000000 key. You can use regedit to export that key as a .reg file, and examine the actual data that BCD stores. The format of the device/osdevice data is undocumented and rather obscure, but you will find the disk ID that occurs in the partition table, and the linear sector address of the 1st sector of the partition in question amongst that data. Windows drive letters are used by bcdedit to present that data in a presumably more understandable manner.

1

The path is BCD is not physically stored as a drive letter. I've been fiddling with the repair console; once you change the drive letter of the boot partition and invoke BCDEdit again, the drive letter magically changes in BCD as well. It's probably something similar to an ARC path, and BCDEdit abstracts this away.

1
  • 1
    It's not an ARC path (which was the drive and partition numbers), but rather a unique identifier that lets it identify the disk and the partition even if their order is shuffled around. I recommend EasyBCD if you're new to the Vista bootloader. Apr 22, 2012 at 7:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .