How Windows 11 BCD Manages Multiple OS Entries

The Windows 11 Boot Configuration Data (BCD) is a firmware-independent database that manages the boot environment and controls how the computer starts. When configuring a multi-boot system—such as dual-booting multiple versions of Windows or combining Windows with Linux—the BCD acts as a centralized registry containing specific parameters, device paths, and execution instructions for each operating system. Through the Windows Boot Manager, the BCD evaluates these entries, determines startup priority, and renders the boot selection menu to hand off control to the selected OS loader.

The Architecture of the BCD Store

The BCD replaces the legacy boot.ini file used in older Windows versions and is structured similarly to a Windows Registry hive. On modern UEFI-based Windows 11 installations, the BCD file resides on the hidden EFI System Partition (ESP) at \EFI\Microsoft\Boot\BCD.

The BCD organizes boot data into distinct objects identified by Globally Unique Identifiers (GUIDs). Each object contains elements specifying the exact settings required to load a specific environment:

How the BCD Handles Multi-Boot Configurations

When multiple operating systems are installed, the BCD manages them using a structured hierarchy:

1. GUID Assignment and OS Identification

Every operating system entry added to the BCD is assigned a unique GUID. The currently running Windows system is often referenced aliased as {current}, while the pre-selected primary system is referenced as {default}. Other installations receive distinct 128-bit identifiers (e.g., {466f5a88-0af2-4376-a021-0be6e050205b}).

2. The Display Order List

Within the {bootmgr} object, an element named displayorder holds an ordered array of OS GUIDs. When the system initializes, the Windows Boot Manager reads this list. If more than one valid loader object is present in the displayorder, the boot manager interrupts the automatic startup and displays the graphical or text-based boot menu.

3. Execution Handoff

Each entry points to a specific boot loader executable: * For Windows installations: The BCD entry specifies the drive volume and path to the Windows OS loader (\Windows\system32\winload.efi). * For Virtual Hard Disks (VHD/VHDX): The entry points to the virtual disk file, allowing native VHD boot without dedicated disk partitioning. * For Non-Windows Systems (e.g., Linux): The BCD can chainload alternative EFI binaries (such as GRUB via shimx64.efi or grubx64.efi), though modern systems often use UEFI NVRAM variables alongside BCD to switch between different OS boot managers directly.

Managing BCD Entries in Windows 11

Windows 11 provides several utilities to view and modify the BCD store: