Windows 7 / Getting Started

Customizing Boot Configuration with the BCD Editor

The BCD store contains information required by your computer to locate and load the operating system. There is a single entry for the Windows Boot Manager and one Windows Boot Loader entry for each instance of Windows 7, Windows Vista, or a later version of Windows installed on the computer. On a computer with other operating systems, such as Windows XP, you'll also see a legacy operating system entry.

Windows Boot Manager is itself a boot loader application. There are other boot loader applications as well, including:

  • Bootsector The Windows Boot Sector Application
  • Fwbootmgr The Firmware Boot Manager
  • Ntldr The boot loader for legacy operating systems
  • Osloader The boot loader for Windows Vista or later operating systems
  • Resume The Windows Resume Loader

You access and manage the BCD store by using the BCD Editor (Bcdedit.exe). The BCD Editor is a command-line utility that requires elevated administrator privileges to perform management tasks. You can use the BCD Editor to view the entries in the BCD store by following these steps:

  1. Click Start, point to All Programs, and then click Accessories.
  2. Right-click Command Prompt, and then click Run As Administrator.
  3. To view the entries in the BCD store, type bcdedit at the command prompt.
  4. To view the available commands, type bcdedit /? at the command prompt.

The BCD Editor is an advanced command-line tool for IT professionals. If you make a mistake with the BCD Editor, your computer could end up in a nonbootable state, and you would need to initiate recovery. Because of this, only make changes when you are absolutely certain they will work.

Whenever you work with the BCD Editor, you work with the system BCD store, which contains the operating system boot entries and related boot settings. References in the BCD store can be specified by globally unique identifiers (GUIDs), such as {1cafd2de-e035-11dd-bbf6-bdebeb67615f}, as well as by well-known identifiers, such as {bootloadersettings}.

Table-1 shows well-known identifiers and their usage. Both well-known identifiers and GUIDs are enclosed in curly braces. GUIDs have dashes as well.

Table-1 Well-Known Identifiers
IdentifierUsage
{badmemory}Contains the global RAM defect list that can be inherited by any boot application entry.
{bootloadersettings}Contains the collection of global settings that should be inherited by all Windows Boot Loader application entries.
{bootmgr}Indicates the Windows Boot Manager entry.
{current}Represents a virtual identifier that corresponds to the operating system boot entry for the operating system that is currently running.
{dbgsettings}Contains the global debugger settings that can be inherited by any boot application entry.
{default}Represents a virtual identifier that corresponds to the boot manager default application entry.
{emssettings}Contains the global Emergency Management Services settings that can be inherited by any boot application entry.
{fwbootmgr}Indicates the firmware boot manager entry. This entry is used on EFI systems.
{globalsettings}Contains the collection of global settings that should be inherited by all boot application entries.
{hypervisorsettings}Contains the hypervisor settings that can be inherited by any operating system loader entry.
{legacy}Indicates the Windows Legacy OS Loader (Ntldr) that can be used to start Windows operating systems earlier than Windows Vista.
{memdiag}Indicates the memory diagnostic application entry.
{ntldr}Indicates the Windows Legacy OS Loader (Ntldr) that can be used to start operating systems earlier than Windows Vista.
{ramdiskoptions}Contains the additional options required by the boot manager for RAM disk devices.
{resumeloadersettings}Contains the collection of global settings that should be inherited by all Windows resume-from-hibernation application entries.

The BCD Editor provides separate commands for creating, copying, and deleting entries in the BCD store. You can use the /create command to create identifier, application, and inherit entries in the BCD store. The syntax is:

bcdedit /create Identifier /d "Description"

where Identifier is a well-known identifier for the entry you want to create, such as:

bcdedit /create {ntldr} /d "Pre-Windows Vista OS Loader"

You can create entries for specific boot loader applications as well, including:

  • Bootsector Sets the boot sector for a real-mode application
  • OSLoader Loads Windows Vista or later
  • Resume Resumes the operating system from hibernation
  • Startup Identifies a real-mode application

The syntax for creating entries for boot load applications is:

bcdedit /create /application AppType /d "Description"

where AppType is one of the previously listed application types, such as:

bcdedit /create /application osloader /d "Windows Vista"

You delete entries in the system store by using the /delete command and the following syntax:

bcdedit /delete Identifier

If you are trying to delete a well-known identifier, you must use the /f command to force deletion, such as:

bcdedit /delete {ntldr} /f

The /cleanup option is implied by default whenever you delete BCD entries. This option cleans up any other references to the entry being deleted to ensure that the data store doesn't have invalid references to the removed identifier. Entries are removed from the display order as well, and this could result in a different default operating system being set. To delete the entry and clean up all other references except the display order entry, you can use the /nocleanup command.

Other BCD Editor commands you can use include:

  • /set Used to set additional options and values for entries
  • /deletevalue Used to delete additional options and values for entries
  • /displayorder Used to change the display order of boot managers associated with a particular Windows Vista or later installation
  • /default Used to change the default operating system entry
  • /timeout Used to change the timeout value associated with the default operating system
  • /bootsequence Used to boot to a particular operating system one time and then revert to the default boot order afterward

To learn more about subcommands and how they are used, type bcedit, type the subcommand name, and then type /?. For example, to learn how to use the /set subcommand, type bcdedit /set /?.

[Previous] [Contents] [Next]