Share via


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:

  1. 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
    
  2. 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

  3. 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:

  1. 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
    
  2. 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

  3. 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

  4. 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:

  1. 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
    
  2. 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.

  1. 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:

  1. 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>

  2. 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

  3. 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

  1. 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
    
  2. 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

  3. 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)

  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
    
  2. 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

  3. 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}

  4. 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)

  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
    
  2. 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”

  3. 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

  4. 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

  5. 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

  6. 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
    
  7. 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

  8. 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}

  9. Force regeneration of the BCD store using the following command:

    sc control wdsserver 129