How to Modify the BCD Store Using Bcdedit
Applies To: Windows Server 2008, Windows Server 2008 R2
You can use the Boot Configuration Data Editor (Bcdedit.exe) to view and modify the contents of the Boot Configuration Data (BCD) store. For more information, see "Boot Configuration Data Editor Frequently Asked Questions" (https://go.microsoft.com/fwlink/?LinkId=112156).
Note
Note that when you modify the BCD store, you must force it to be recreated in order for your changes to take effect. To do this, either restart the WDSServer service (run wdsutil /stop-server and then run wdsutil /start-server) or run Sc control wdsserver 129.
In This Topic
To View the Contents of the BCD Store
To Configure the Default Selection Time-out Value
To Configure a Localized Boot Manager Experience
To Configure the TFTP Block Size
To Configure the TFTP Window Size
To Configure Windows Debugger Options
To Turn On Emergency Management Services Settings
To View the Contents of the BCD Store
To view the contents of this store, run the following command at the command prompt:
Syntax: bcdedit /enum all /store <path to BCD store>
Example: C:\boot>bcdedit.exe /enum all /store c:\remoteinstall\tmp\X86.{05FF3388-7D71-46A1-AE8A704480979281}.bcd
To Configure the Default Selection Time-out Value
The default selection time-out value is set to 30 seconds. You can configure this value by setting the appropriate option in the Default.bcd store for your client’s architecture, using the following steps:
View the existing configuration settings in the Default.bcd store by running the following command:
Syntax: bcdedit /enum all /store <full path and file name of store>
Example:
C:\>bcdedit /enum all /store c:\RemoteInstall\Boot\x86\default.bcd Windows Boot Manager -------------------- identifier {bootmgr} inherit {dbgsettings} timeout 30 Real-mode Application (10400009) -------------------------------- identifier {40fe5c41-285e-412b-b4cd-0ce498e470a2} device boot path OSChooser\i386\startrom.n12 description Remote Installation Services pxesoftreboot Yes Debugger Settings ----------------- identifier {dbgsettings} debugtype Serial debugport 1 baudrate 115200 Device options -------------- identifier {68d9e51c-a129-4ee1-9725-2ab00a957daf} ramdisksdidevice boot ramdisksdipath \Boot\Boot.SDI
Set the appropriate time-out value by running the following command:
Syntax: bcdedit /store <full path and file name of store> /set {bootmgr} timeout <value in seconds>
Example: bcdedit /store c:\RemoteInstall\Boot\x86\default.bcd /set {bootmgr} timeout 10
Force regeneration of the BCD store using the following command:
C:\>sc control wdsserver 129
To Configure a Localized Boot Manager Experience
To configure Boot Manager to allow a localized setup experience, perform the following steps:
View the existing settings in the default BCD store by running the following command:
Syntax: bcdedit /enum all /store <full path and file name of store>
Example:
C:\>bcdedit /enum all /store c:\RemoteInstall\Boot\x86\default.bcd Windows Boot Manager -------------------- identifier {bootmgr} inherit {dbgsettings} timeout 30 Real-mode Application (10400009) -------------------------------- identifier {40fe5c41-285e-412b-b4cd-0ce498e470a2} device boot path OSChooser\i386\startrom.n12 description Remote Installation Services pxesoftreboot Yes Debugger Settings ----------------- identifier {dbgsettings} debugtype Serial debugport 1 baudrate 115200 Device options -------------- identifier {68d9e51c-a129-4ee1-9725-2ab00a957daf} ramdisksdidevice boot ramdisksdipath \Boot\Boot.SDI
Set the appropriate locale value by running the following command:
Syntax: bcdedit /store <full path and file name of store> /set {bootmgr} locale <lang>
Example: bcdedit /store c:\RemoteInstall\Boot\x86\default.bcd /set {bootmgr} locale en-US
Set the application path by running the following command:
Syntax: bcdedit /store <full path and file name of store> /set {bootmgr} path <relative path to bootmgr.exe>
Example: bcdedit /store c:\RemoteInstall\Boot\x86\default.bcd /set {bootmgr} path \boot\<arch>\bootmgr.exe
Force regeneration of the BCD store in the \Tmp folder by sending a control signal to the server service by specifying, using the following command:
C:\>sc control wdsserver 129
To Configure the TFTP Block Size
The default TFTP block size value is 1432 bytes. You can configure this value by setting the appropriate value in the default BCD store for the client architecture, using the following steps:
Determine the GUID identifier of Boot Manager by running the following command:
Syntax: bcdedit /enum all /store <full path and file name of store>
Example:
C:\>bcdedit /enum all /store c:\RemoteInstall\Boot\x86\default.bcd Windows Boot Manager -------------------- identifier {bootmgr} inherit {dbgsettings} timeout 30 Real-mode Application (10400009) -------------------------------- identifier {40fe5c41-285e-412b-b4cd-0ce498e470a2} device boot path OSChooser\i386\startrom.n12 description Remote Installation Services pxesoftreboot Yes Debugger Settings ----------------- identifier {dbgsettings} debugtype Serial debugport 1 baudrate 115200 Device options -------------- identifier {68d9e51c-a129-4ee1-9725-2ab00a957daf} ramdisksdidevice boot ramdisksdipath \Boot\Boot.SDI
Set the appropriate TFTP block size value by running the following command:
Syntax: bcdedit /store <full path and file name of store> /set {<GUID identifier>} ramdisktftpblocksize <block size>
Example: bcdedit /store c:\RemoteInstall\boot\x86\default.bcd /set {68d9e51c-a129-4ee1-9725-2ab00a957daf} ramdisktftpblocksize 4096
Note
We recommend that you increase this setting in multiples (4096, 8192, 16384, and so on) and that you not set a value higher than 16384.
Force regeneration of the BCD store using the following command:
sc control wdsserver 129
To Configure the TFTP Window Size
The default TFTP window size is 4. You can configure this value by setting the appropriate value in the default BCD store for the client architecture, using the following steps:
At the command prompt, determine the GUID identifier of Boot Manager by running the following command:
Syntax: bcdedit /enum all /store <full path and file name of store>
Set the appropriate TFTP window size by running the following command:
Syntax: bcdedit /store <full path and file name of store> {<GUID>} ramdisktftpwindowsize <windowsize>
Example: bcdedit /store c:\RemoteInstall\boot\x86\default.bcd {68d9e51c-a129-4ee1-9725-2ab00a957daf} ramdisktftpwindowsize 8
Force regeneration of the BCD store by running the following command:
sc control wdsserver 129
To Configure Windows Debugger Options
There are three debugging options that you can add by using BCDedit.exe. These options are described in the following table.
Option | Description |
---|---|
/bootdebug |
Enables or disables boot debugging for a boot application. |
/dbgsettings |
Sets the global debugger parameters. |
/debug |
Enables or disables kernel debugging for an operating system entry. |
To turn on debugging for boot manager
View the existing settings in the Default.bcd store by running the following command:
Syntax: bcdedit /enum all /store <full path and file name of store>
Example:
C:\>bcdedit /enum all /store c:\RemoteInstall\Boot\x86\default.bcd Windows Boot Manager -------------------- identifier {bootmgr} inherit {dbgsettings} timeout 30 Real-mode Application (10400009) -------------------------------- identifier {40fe5c41-285e-412b-b4cd-0ce498e470a2} device boot path OSChooser\i386\startrom.n12 description Remote Installation Services pxesoftreboot Yes Debugger Settings ----------------- identifier {dbgsettings} debugtype Serial debugport 1 baudrate 115200 Device options -------------- identifier {68d9e51c-a129-4ee1-9725-2ab00a957daf} ramdisksdidevice boot ramdisksdipath \Boot\Boot.SDI
Set the appropriate debugging values by running the following command:
Syntax: bcdedit /store <full path and file name of store> /set {bootmgr} bootdebug <value>
Example: bcdedit /store c:\RemoteInstall\Boot\x86\default.bcd /set {bootmgr} bootdebug on
Force the regeneration of the BCD store using the following command:
sc control wdsserver 129
To turn on debugging for a particular operating system entry (for OSLoader)
Determine the GUID of the operating system entry by running the following command:
Syntax: bcdedit /store <full path and file name of per-image BCD store> /enum all
Example:
C:\>bcdedit /store c:\RemoteInstall\Boot\x86\Images\boot.wim.bcd /enum all Windows Boot Loader ------------------- identifier {06689f95-f69c-4937-8ded-09a966a6a319} device ramdisk=[boot]\Boot\x86\Images\boot.wim,{68d9e51c-a129-4ee1-9725-2ab00a957daf} description WinPE 5600 RC1 osdevice ramdisk=[boot]\Boot\x86\Images\boot.wim,{68d9e51c-a129-4ee1-9725-2ab00a957daf} systemroot \WINDOWS detecthal Yes winpe Yes
Enable debugging options by running the following command:
Syntax: bcdedit /store <full path and file name of per-image BCD store> /set <GUID identifier> debug <value>
Example: bcdedit /store c:\RemoteInstall\Boot\x86\default.bcd /set {06689f95-f69c-4937-8ded-09a966a6a319} debug on
Enable the inheritance of the debug options that are in Default.bcd so that they apply to the operating system entry, using the following command:
Syntax: bcdedit /store <full path and file name of per-image BCD store> /set <GUID identifier> inherit {dbgsettings}
Example: bcdedit /store c:\RemoteInstall\Boot\x86\default.bcd /set {06689f95-f69c-4937-8ded-09a966a6a319} inherit {dbgsettings}
Force regeneration of the BCD store using the following command:
sc control wdsserver 129
To Turn On Emergency Management Services Settings
For servers equipped with the proper firmware, Emergency Management Services (EMS) provides functionality that you can use to administer a server remotely. This is useful for computers that do not support direct video output or do not have a keyboard and mouse attached. Except for hardware maintenance and replacement, all administrative functions that you can accomplish locally should be available remotely. This includes starting your computer and performing system-recovery tasks. This method is typically used for high-end servers in a data center.
There are generally two types of devices that support remote administration: those whose BIOS and Extensible Firmware Interface (EFI) support UI redirection, and those whose BIOS does not support UI redirection. The first class of computers is generally EFI-based, typically Itanium-based servers. The second class of computers have had the video card removed (or the computer did not come with one), and the goal is to redirect output by using a COM port.
Support for remote administration is enabled by default for Itanium-based computers that are using configuration settings specified in the default BCD store that was created for Itanium-based clients. These EMS settings are enabled and set to use the BIOS default settings (as opposed to COM port redirection). Each per-image BCD store that is generated for Itanium-based clients is set to inherit these settings from the default BCD configuration.
Support for remote administration is not enabled by default for x86-based or x64-based computers that do not support BIOS redirection. To enable this support, you must do the following:
Adjust the default network boot program to one that supports remote administration (for example, hdlscom1.com, hdlscom1.n12, hdlscom2.com, or hdlscom2.n12). For more information about network boot programs and their use, see Managing Network Boot Programs.
Signal the loader to support remote administration. You can do this by using BCDedit.exe to set the appropriate EMS options in the default BCD store used for that architecture. You must enable EMS settings and, optionally, you can specify the default port and baud rate.
To turn on EMS settings for a particular operating system entry (for OSLoader)
Determine the GUID of the operating system entry by running the following command:
Syntax: bcdedit /store <full path and file name of per-image BCD store> /enum all
Example:
C:\>bcdedit /store c:\RemoteInstall\Boot\x86\Images\boot.wim.bcd /enum all Windows Boot Loader ------------------- identifier {06689f95-f69c-4937-8ded-09a966a6a319} device ramdisk=[boot]\Boot\x86\Images\boot.wim,{68d9e51c-a129-4ee1-9725-2ab00a957daf} description WinPE 5600 RC1 osdevice ramdisk=[boot]\Boot\x86\Images\boot.wim,{68d9e51c-a129-4ee1-9725-2ab00a957daf} systemroot \WINDOWS detecthal Yes winpe Yes
Create the EMS settings option in the Default.bcd store by running the following command:
Syntax: bcdedit /store <full path and file name of per-image BCD store> /create {emssettings} /d <description>
Example: bcdedit /store c:\RemoteInstall\Boot\x86\default.bcd /create {emssettings} /d "EMS Settings”
Set the baud rate by running the following command:
Syntax: bcdedit /store <full path and file name of per-image BCD store> /set {emssettings} baudrate <value>
Example: bcdedit /store c:\RemoteInstall\Boot\x86\default.bcd /set {emssettings} baudrate 115200
Set the output port type by running the following command:
Syntax: bcdedit /store <full path and file name of per-image BCD store> /set {emssettings} debugtype <value>
Example:bcdedit /store c:\RemoteInstall\Boot\x86\default.bcd /set {emssettings} debugtype Serial
Set the output port number (this should match the output port of the configured network boot program) by running the following command:
Syntax: bcdedit /store <full path and file name of per-image BCD store> /set {emssettings} debugport <value>
Example: bcdedit /store c:\RemoteInstall\Boot\x86\default.bcd /set {emssettings} debugport 1
Determine the GUID of the operating system entry by running the following command:
Syntax: bcdedit /store <full path and file name of per-image BCD store> /enum all
Example:
C:\>bcdedit /store c:\RemoteInstall\Boot\x86\Images\boot.wim.bcd /enum all Windows Boot Loader ------------------- identifier {06689f95-f69c-4937-8ded-09a966a6a319} device ramdisk=[boot]\Boot\x86\Images\boot.wim,{68d9e51c-a129-4ee1-9725-2ab00a957daf} description WinPE 5600 RC1 osdevice ramdisk=[boot]\Boot\x86\Images\boot.wim,{68d9e51c-a129-4ee1-9725-2ab00a957daf} systemroot \WINDOWS detecthal Yes winpe Yes
Enable EMS settings in the per-image BCD by running the following command:
Syntax: bcdedit /store <full path and file name of the per-image BCD store> /set <GUID identifier> ems <value>
Example:bcdedit /store c:\RemoteInstall\Boot\x86\default.bcd /set {06689f95-f69c-4937-8ded-09a966a6a319} ems on
Enable inheritance of EMS settings from Default.bcd values as configured above, by running the following command:
Syntax: bcdedit /store <full path and file name of per-image BCD store> /set <GUID identifier> inherit {emssettings}
Example: bcdedit /store c:\RemoteInstall\Boot\x86\default.bcd /set {06689f95-f69c-4937-8ded-09a966a6a319} inherit {emssettings}
Force regeneration of the BCD store using the following command:
sc control wdsserver 129