Boot Configuration Data (BCD) files provide a store that is used to describe boot applications and boot application settings. The objects and elements in the store effectively replace Boot.ini.

BCDEdit is a command-line tool for managing BCD stores. It can be used for a variety of purposes, including creating new stores, modifying existing stores, adding boot menu options, and so on. BCDEdit serves essentially the same purpose as Bootcfg.exe on earlier versions of Windows, but with two major improvements:

  • BCDEdit exposes a wider range of boot options than Bootcfg.exe.
  • BCDEdit has improved scripting support.
noteNote
Administrative privileges are required to use BCDEdit to modify BCD.

BCDEdit is the primary tool for editing the boot configuration of Windows Vista and later versions of Windows. It is included with the Windows Vista distribution in the %WINDIR%System32 folder.

BCDEdit is limited to the standard data types and is designed primarily to perform single common changes to BCD. For more complex operations or nonstandard data types, consider using the BCD Windows Management Instrumentation (WMI) application programming interface (API) to create more powerful and flexible custom tools.

BCDEdit Command-Line Options

The following command-line options are available for BCDEdit.exe.

BCDEdit / Command [Argument1] [Argument2] …

General BCDEdit Command-Line Option

Option Description
/? Displays a list of BCDEdit commands. Running this command without an argument displays a summary of the available commands. To display detailed help for a particular command, run bcdedit /? command, where command is the name of the command you are searching for more information about. For example, bcdedit /? createstore displays detailed help for the Createstore command.

BCDEdit Command-Line Options that Operate on a Store

Option Description
/createstore Creates a new empty boot configuration data store. The created store is not a system store.
/export Exports the contents of the system store into a file. This file can be used later to restore the state of the system store. This command is valid only for the system store.
/import Restores the state of the system store by using a backup data file previously generated by using the /export option. This command deletes any existing entries in the system store before the import takes place. This command is valid only for the system store.
/store This option can be used with most BCDedit commands to specify the store to be used. If this option is not specified, then BCDEdit operates on the system store. Running the bcdedit /store command by itself is equivalent to running the bcdedit /enum active command.

BCDEdit Command-Line Options that Operate on Entries in a Store

Option Description
/copy Makes a copy of a specified boot entry in the same system store.
/create Creates a new entry in the boot configuration data store. If a well-known identifier is specified, then the /application/inherit, and /device options cannot be specified. If an identifier is not specified or not well known, an /application,/inherit, or /device option must be specified.
/delete Deletes an element from a specified entry.

BCDEdit Command-Line Options that Operate on Entry Options

Option Description
/deletevalue Deletes a specified element from a boot entry.
/set Sets an entry option value.

BCDEdit Command-Line Options that Control Output

Option Description
/enum Lists entries in a store. The /enum option is the default value for BCEdit, so running the bcdedit command without options is equivalent to running the bcdedit /enum active command.
/v Verbose mode. Usually, any well-known entry identifiers are represented by their friendly shorthand form. Specifying /v as a command-line option displays all identifiers in full. Running the bcdedit /v command by itself is equivalent to running the bcdedit /enum active /v command.

BCDEdit Command-Line Options that Control the Boot Manager

Option Description
/bootsequence Specifies a one-time display order to be used for the next boot. This command is similar to the /displayorder option, except that it is used only the next time the computer starts. Afterwards, the computer reverts to the original display order.
/default Specifies the default entry that the boot manager selects when the timeout expires.
/displayorder Specifies the display order that the boot manager uses when displaying boot options to a user.
/timeout Specifies the time to wait, in seconds, before the boot manager selects the default entry.
/toolsdisplayorder Specifies the display order for the boot manager to use when displaying the Tools menu.

BCDEdit Command-Line Options that Control Emergency Management Services

Option Description
/bootems Enables or disables Emergency Management Services (EMS) for the specified entry.
/ems Enables or disables EMS for the specified operating system boot entry.
/emssettings Sets the global EMS settings for the computer. /emssettings does not enable or disable EMS for any particular boot entry.

BCDEdit Command-Line Options that Control Debugging

Option Description
/bootdebug Enables or disables the boot debugger for a specified boot entry. Although this command works for any boot entry, it is effective only for boot applications.
/dbgsettings Specifies or displays the global debugger settings for the system. This command does not enable or disable the kernel debugger; use the /debug option for that purpose. To set an individual global debugger setting, use the bcdedit /setdbgsettings type value command.
/debug Enables or disables the kernel debugger for a specified boot entry.

To troubleshoot a new installation, enable debug mode by modifying the boot configuration file (BCD). For example, use the following syntax to enable kernel or boot debug

bcdedit /set <id> debug on

-or-

bcdedit /set <id> bootdebug on

where <id> is the GUID of the Loader object that is used to load the operating system. “Default” can be used if the operating system is the default option of the Boot Manager menu.

Categories: MicrosoftServer

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Microsoft

Azure AD and Manual UPN Update

In Azure AD, the UserPrincipalName (UPN) can be manually updated using Set-MsolUserPrincipalName Power Shell cmdlet.  The details and syntax are explained here – https://msdn.microsoft.com/en-us/library/azure/dn194135.aspx One of the common issues you experience during this process is Read more…

Microsoft

Azure Password Reset – The Password you’ve selected does not meet your Active Directory password policy

This is a common error message when you try to reset a password from Azure management port or Self service portal.  The error message is very clear here – “The Password you’ve selected does not Read more…

Microsoft

Azure – Your account is temporarily locked to prevent unauthorized use

Here is the another common error message when dealing with directory and password synchronization.  Error Message: Your account is temporarily locked to prevent unauthorized use. Try again later. Contact Customer Support if the problem persists Read more…