Windows operating systems store the boot-related data and configuration in the Boot Configuration Data
or BCD
. The provided data and configuration replace the Boot.ini
configuration file. The BCDEdit
command line tool is used to manage the Boot Configuration Data easily via a command-line interface with different parameters. The BCDEdit can be used to create a new store, modify the existing store, add boot parameters, etc.
BCDEdit Command Location
The BCDEdit.exe is located under the “%WINDIR%\System32” or “C:\Windows\System32” for the modern Windows operating systems. But it can be directly called via the command interface like MS-DOS or PowerShell without providing the complete path.
%WINDIR%\System32

BCDEdit Command Syntax
The BCDEdit command has the following simple syntax.
bcdedit /COMMAND ARGUMENTS
- /COMMAND is the action we want to take.
- ARGUMENTS are single or more arguments related to the /COMMAND.
Create New Store
By default, every system has a default boot configuration. But we can also create a new boot configuration which is called creating the store. The /createstore
command is used to create a new store. The store path and file name are provided as an argument.
> bcdedit /createstore "C:\BCDDATA"
Export Store
Exporting is another action to save the current system store into a different file. The exporting can be used to a backup current system store. This command is only used for the system store and not other stores. The /export
command is used to export system store bt providing the exported file path and name.
> bcdedit /export "C:\BCD_Backup"
Import Store
Exported or another store can be imported in order to make a specified store a system store. the system store is completely updated according to the imported store. The /import
command is used to import specified stores.
> bcdedit /import "C:\BCD_Backup"
Copy Item
The BCDEdit command can be used to edit the BCD file by copying existing items. The /copy
command is used by providing the item ID we want to copy. The /d
is used to create a description of the copied entry.
> bcdedit /copy {cbd231bf-b7c8-7785-951a-fa03044f5d71} /d "New Entry"
Create Item
The /create
command can be used to create a new item or entry for the default store. The entry type can be a ramdisk or OS Loader etc.
NTLDR based OS loader entry:
> bcdedit /create {ntldr} /d "New Windows OS Loader"
Creates a RAM disk:
> bcdedit /create {ramdiskoptions}
New Operating System Boot Entry:
> bcdedit /create /d "Windows ABC" /application osloader
New Debugger Entry:
> bcdedit /create {dbgsettings}
Delete Item
An existing item can be deleted or removed with the /delete
command. The item ID should be provided as an argument to the /delete command.
> bcdedit /delete {cacd71bf-b738-4885-921a-faac31f44f5d71}
Set Value
The /set
command can be used to set a new value for an item.
bcdedit /set {cb2371bf-b7b8-4ac5-951a-fa81444f5d71} device partition=C:
Delete Value
A value can be deleted by using the /deletevalue
command.
> bcdedit /deletevalue {c12371bf-b321-4185-9aaa-fa03acdef5d71} winpe
Set Boot (Wait) Timeout
Another important function of the bcdedit is the ability to change boot wait timeout. The /timeout
command is used to change the current wait time. The default wait time is 5 seconds. In the following example, we set the wait time as 10 seconds.
> bcdedit /timeout 30