Adding Boot Entries
The first step in customizing boot options in operating systems is to add a new boot entry for an operating system. A boot entry is a set of options that define a load configuration for an operating system or bootable program.
You can have multiple boot entries for an operating system, each with a different set of boot parameters. Windows Installer creates a standard boot entry when you install an operating system, and you can create additional, customized boot entries for an operating system by editing the boot options.
You can add, delete, and change the options in the boot entry that Windows Installer created. However, it is prudent to keep the standard entry and, instead, add a separate entry that you customize.
To add a boot entry, copy an existing boot entry, and then modify the copy.
This topic applies to Windows Vista and later, Windows Server 2008 and later, and Windows Recovery Environment.
Adding a new boot entry
In Windows, you use BCDEdit to modify your boot options. To add a new boot entry, open a Command Prompt window with elevated privileges (select and hold (or right-click) Command Prompt and select Run as administrator from the shortcut menu).
NoteВ В Before setting BCDEdit options you might need to disable or suspend BitLocker and Secure Boot on the computer.
The easiest way to create a new boot entry is to copy an existing entry and then modify it as you need. To do this, use BCDEdit with the /copy option. For example, in the following command, BCDEdit copies the Microsoft Windows boot entry that was last used to boot Windows, identified as , and creates a new boot entry. The /d description option specifies DebugEntry as the name of the new boot entry.
If the command succeeds, BCDEdit displays a message similar to the following:
When you copy a boot loader entry that appears on the boot menu, the copy is automatically added as the last item on the boot menu.
The GUID in the preceding message (which appears between braces (<>)) is the identifier of the new boot entry. The /copy option creates a new GUID for the boot entry. You use the identifier to represent the entry in all subsequent BCDEdit commands.
If the command fails, be sure that you are running in a Command Prompt window with administrator privileges and that all of the command parameters are spelled correctly, including the braces around .
You can also add a boot entry using the /create option. This method is more difficult because you need to provide additional information about the boot entry type. You also need to specify the /application, /inherit, or /device options. For example, the following creates a new operating system boot entry called «My Windows Vista»:
When you use the /create option, the new boot loader entries are not added to the boot menu automatically. The /create option creates a new GUID for the boot entry. You must add the new boot entry to the boot menu by using the /displayorder option. You can place the boot loader entries in any order.
For information about the /create command parameters, type bcdedit /? /create in a Command Prompt window.
Editing the boot menu
In Windows, new boot loader entries are not added to the boot menu automatically. You can place the boot loader entries in any order.
You can use the /displayorder option to set the order in which the boot manager displays the boot entries on a multi-boot menu. The command has the following syntax:
The ID is the GUID of the boot entry or a reserved identifier, such as ). Separate each identifier with a space. Be sure to include the braces (<>).
For example, to add the DebugEntry boot entry to the boot menu after the entry, use the following command (remember to use ‘
You can also use the options /addlast, /addfirst, and /remove to order and remove items from the menu. For example, the following command adds the DebugEntry boot entry as the last item on the menu:
Removing and deleting a boot entry
The following command removes the <49916baf-0e08-11db-9af4-000bdbd316a0>boot entry item from the boot menu.
When you remove the specified boot entry using the /displayorder and /remove options, the boot entry is removed from the boot menu, but it is still in the BCD store. To completely remove a boot loader entry from the boot menu and from the store, use the /delete option.
To verify that the display order is correct, use the following command:
When you type bcdedit without additional parameters, BCDEdit displays the boot manager entry and the boot loader entries in the order that they will appear in the menu.
The Windows Boot Manager entry also includes the boot menu display order, as the following example shows.
Overview of Boot Options in Windows
The Windows boot loader architecture includes a firmware-independent boot configuration and storage system called Boot Configuration Data (BCD) and a boot option editing tool, BCDEdit (BCDEdit.exe). During development, you can use BCDEdit to configure boot options for debugging, testing, and troubleshooting your driver on computers running Windows 10, Windows 8, Windows Server 2012, Windows 7, and Windows Server 2008.
Administrative privileges are required to use BCDEdit to modify BCD. Changing some boot entry options using BCDEdit could render your computer inoperable. As an alternative, use the System Configuration utility (MSConfig.exe) to change boot settings.
Boot Loading Architecture
Windows includes boot loader components that are designed to load Windows quickly and securely. The previous Windows NT boot loader, ntldr, is replaced by three components:
Windows Boot Manager (Bootmgr.exe)
Windows operating system loader (Winload.exe)
Windows resume loader (Winresume.exe)
In this configuration, the Windows Boot Manager is generic and unaware of the specific requirements for each operating system while the system-specific boot loaders are optimized for the system that they load.
When a computer with multiple boot entries includes at least one entry for Windows, the Windows Boot Manager, which resides in the root directory, starts the system and interacts with the user. It displays the boot menu, loads the selected system-specific boot loader, and passes the boot parameters to the boot loader.
The boot loaders reside in the root directory of each Windows partition. Once selected, the boot loaders take over the boot process and load the operating system in accordance with the selected boot parameters.
Boot Configuration Data
Windows boot options are stored in the Boot Configuration Data (BCD) store on BIOS-based and EFI-based computers.
BCD provides a common, firmware-independent boot option interface for all computers running Windows 10, Windows 8, Windows Server 2012, Windows 7, and Windows Server 2008. It is more secure than previous boot option storage configurations, because it permits secure lockdown of the BCD store and lets Administrators assign rights for managing boot options. BCD is available at run time and during all phases of setup. You can even call BCD during power state transitions and use it to define the boot process for resuming after hibernation.
You can manage BCD remotely and manage BCD when the system boots from media other than the media on which the BCD store resides. This feature is extremely important for debugging and troubleshooting, especially when a BCD store must be restored while running Startup Repair from a DVD, from USB-based storage media, or even remotely.
The BCD store, with its familiar object-and-element architecture, uses GUIDs and names such as «Default» to precisely identify boot-related applications.
BCD includes its own set of boot options. For more information about these boot options, see BCD Boot Options Reference.
Editing Boot Options
To edit boot options in Windows, use BCDEdit (BCDEdit.exe), a tool included in Windows.
To use BCDEdit, you must be a member of the Administrators group on the computer.
You can also use the System Configuration utility (MSConfig.exe) to change boot settings.
To change boot options programmatically in Windows, use the Windows Management Instrument (WMI) interface to boot options. This BCD WMI interface is the best method to programmatically change the boot options. For information about the BCD WMI interface, see Boot Configuration Data WMI Provider in the Windows SDK documentation.