| The Windows Vista™ boot process | | | | environment by adding, deleting, editing, and |
| differs from WindowsÂ(R) XP in the way | | | | appending entries in the BCD store. |
| the operating system is located and | | | | Bcdedit.exe is located in the WindowsSystem32 |
| initialized. Start-up begins with the BIOS | | | | directory of the Windows Vista partition. |
| loading the Master Boot Record (MBR) on the | | | | |
| bootable disk. The MBR in turn loads the | | | | Boot.ini Compared to BCD |
| Partition Boot Record (PBR) on the active | | | | |
| partition. So far, Windows Vista remains | | | | BCD eliminates the need for Boot.ini in |
| relatively unchanged. | | | | Windows Vista, although Boot.ini is still |
| | | | present on dual-boot systems for backwards |
| Windows Vista is different from XP starting | | | | compatibility. Because the BCD boots to the |
| by the fact the PBR code written by Windows | | | | boot environment first instead of Ntldr, the |
| Vista no longer looks for Ntldr. The new boot | | | | location of Ntldr is not verified unless a |
| loader in Windows Vista is Bootmgr. This | | | | legacy operating system is chosen. |
| component loads the Boot Configuration | | | | |
| Database (BCD), which in turn loads an OS | | | | Configuration Tools |
| loader boot application (Winload.exe, in the | | | | |
| case of Windows Vista). Finally, the OS | | | | The BCD store can be modified or repaired |
| loader application is responsible for | | | | using several tools: |
| initializing the kernel. This process is | | | | |
| illustrated below. | | | | System Properties in Control Panel |
| | | | |
| You can think of this change in two elements: | | | | SystemPropertiesAdvanced.exe |
| | | | |
| The two key actions performed by Ntldr in | | | | Msconfig |
| previous Windows versions have been divided | | | | |
| between two components: | | | | Windows Recovery Environment (WinRE) Startup |
| | | | Repair |
| 1. Bootmgr reads the boot configuration, | | | | |
| including device and path locations. | | | | Bcdedit.exe |
| | | | |
| 2. WindowsSystem32Winload.exe initializes the | | | | Bootrec.exe |
| kernel. | | | | |
| | | | Most of these tools enable you to perform |
| The boot configuration stored by Boot.ini in | | | | simple tasks, such as setting a boot menu |
| previous Windows versions is now stored in an | | | | timeout, setting a default operating system, |
| extensible database, BootBCD, the Boot | | | | or configuring boot options such as /SOS and |
| Configuration Database (BCD). | | | | SAFEBOOT. Others are repair-oriented tools; |
| | | | Startup Repair and Bootrec.exe, in |
| These changes are significant because of the | | | | particular, provide automated mechanisms for |
| impact they have: | | | | fixing problems in the BCD. |
| | | | |
| 1. The boot process can be extended to | | | | Bcdedit.exe is the main tool for detailed BCD |
| support other applications, such as other | | | | store modifications. You can use Bcdedit to |
| operating systems or other versions of the | | | | change Bootmgr options; add boot, delete, and |
| OS. | | | | edit boot entries; import and export the BCD |
| | | | store; and create a new store if it becomes |
| 2. Only nonversion-specific components are | | | | significantly damaged. Bcdedit.exe is located |
| stored in the root of the active partition. | | | | in the WindowsSystem32 directory of the |
| This means that theoretically Windows Vista | | | | Windows Vista partition and is also available |
| could be installed on a machine running some | | | | in WinRE. |
| future Windows version with the same boot | | | | |
| structure, and it would not break the boot | | | | BCD Store Location |
| process for that future version. With legacy | | | | |
| Windows, installing an older Windows version | | | | The BCD store is a registry hive, stored as |
| last causes the newer version to fail on | | | | BootBCD on the active partition. This hive is |
| start-up. This is due to version-specific | | | | loaded but hidden from view in Regedit.exe |
| code improvements in Ntldr. | | | | within Windows Vista. The store is loaded to |
| | | | the following registry location: |
| 3. Tool-oriented boot entries can be | | | | HKLMBCD00000000. |
| supported to offer maintenance options on | | | | |
| boot when a previous start-up failed. In the | | | | You can also view the store manually in WinRE |
| past, Windows supported an menu provided by | | | | by loading the hive from the Boot folder. To |
| a target operating system. This new structure | | | | obtain a copy of the hive on a running |
| can make tools available earlier during the | | | | system, use the Bcdedit /export filename |
| boot process, meaning that they are available | | | | command to export a hive file for offline |
| even if all OS-specific boot entries are | | | | examination. This command exports the BCD |
| damaged. The Windows Memory Diagnostic tool | | | | store to a file called filename in the |
| is provided in the boot menu in this way. | | | | current directory. |
| | | | |
| BCD Store | | | | Related Components |
| | | | |
| The Boot Configuration Data (BCD) store | | | | Msconfig |
| contains boot configuration parameters and | | | | |
| controls how the operating system is started | | | | Msconfig is the preferred PSS UI tool for |
| in Microsoft Windows Vista operating system. | | | | managing boot settings. The tool supports BCD |
| These parameters were previously in the | | | | and allows the user to enumerate all BCD |
| Boot.ini file in BIOS-based operating systems | | | | objects in the system store. It allows |
| or in the nonvolatile RAM (NVRAM) entries in | | | | certain elements to be altered for each OS |
| Extensible Firmware Interface-based operating | | | | object, including debug settings, safe mode |
| systems. You can use the Bcdedit.exe command | | | | settings, and other popular PSS options. It |
| line tool to affect the Windows code which | | | | cannot be used with the WinRE console; |
| runs in the pre-operating system environment | | | | Bcdedit needs to be used in these cases. |
| by adding, deleting, editing, and appending | | | | |
| entries in the BCD store. Bcdedit.exe is | | | | Bcdedit.exe |
| located in the WindowsSystem32 directory of | | | | |
| the Windows Vista partition. | | | | Bcdedit.exe is a command line tool that can |
| | | | be used to manage BCD settings. In summary, |
| The BCD is a database used by Bootmgr. It | | | | Bcdedit.exe is a replacement for Bootcfg.exe. |
| contains the functions of Boot.ini and is | | | | However, it is enhanced for better scripting |
| located in the {ActivePartition}boot folder | | | | and to expose some of the more powerful |
| | | | features of BCD that bootcfg.exe did not |
| Bcdedit.exe | | | | expose for manipulating Boot.ini. Bcdedit.exe |
| | | | is designed to work on previous operating |
| You can use Bcdedit.exe to modify the Windows | | | | systems and in recovery environments. |
| code which runs in the pre-operating system | | | | |