Quick fix: On UEFI systems, the BCD is at \EFI\Microsoft\Boot\BCD on the EFI System Partition (ESP). On legacy BIOS systems, it’s at \Boot\BCD on the active partition. Use bcdedit /enum from Terminal (Admin) to view it; repair via Windows Recovery Environment with bootrec /rebuildbcd.
Your PC fails to boot with “Boot Configuration Data file is missing” or “0xc000000f.” The Boot Configuration Data (BCD) store is a single file that the Windows boot manager reads to know what to load. If it’s damaged or missing, Windows can’t start. The file lives on a small partition you don’t normally see, and repairing it requires booting from recovery media.
Affects: Windows 11 (and Windows 10) on UEFI or legacy BIOS.
Fix time: ~20 minutes including USB creation.
What causes this
The Boot Configuration Data (BCD) is a small binary database stored as a registry hive. It contains: the boot loader path, which OS to boot, boot parameters, and recovery options. Windows reads BCD from a small hidden partition during early boot — the EFI System Partition (ESP) on UEFI systems, or the System Reserved partition on legacy BIOS systems.
BCD breaks for several reasons: dual-boot setup that overwrites Windows’s BCD, partition manipulation that resizes the EFI/SR partition, failed Windows updates that abandon BCD edits midway, or a third-party tool that “optimizes” partitions and removes the EFI/SR entries.
Method 1: Repair BCD from Windows Recovery Environment
The standard route. Works when Windows can still boot to the recovery menu (or when you have a Windows install USB).
- If Windows boots to the lock screen but you suspect BCD issues: Settings → System → Recovery → Advanced startup → Restart now.
- If Windows won’t boot at all: create a Windows 11 install USB using the Media Creation Tool on another PC. Boot from it.
- Once in WinRE/install USB: choose Repair your computer → Troubleshoot → Command Prompt.
- Run BCD repair sequence:
bootrec /scanos bootrec /fixmbr bootrec /fixboot bootrec /rebuildbcd - If
bootrec /fixbootreturns “Access denied” (common on UEFI): run instead:bcdboot C:\Windows /s S: /f UEFIwhere S: is the EFI System Partition. To find the ESP letter:
diskpart→list volume; the ESP is FAT32 and ~100 MB. - When
bootrec /rebuildbcdfinds a Windows install, it asks “Add installation to boot list? Y/N”. Type Y. - Close Command Prompt. Reboot normally.
This handles the majority of BCD corruption cases.
Method 2: Manually create BCD from scratch
For when bootrec /rebuildbcd finds no installations or returns errors.
- From WinRE Command Prompt, identify the Windows install drive:
diskpart list disk select disk 0 list volumeLook for the volume labeled with Windows or showing your username’s files when you
dirinto it. Note its letter (often C, sometimes D in WinRE). - Find the EFI System Partition: it’s ~100–500 MB, FAT32. Note its volume number. Assign it a letter:
select volume N assign letter=S exit - Use bcdboot to rebuild the BCD on the ESP:
bcdboot C:\Windows /s S: /f UEFIReplace C: with your Windows install drive letter and S: with your ESP letter.
- For legacy BIOS systems: replace
/f UEFIwith/f BIOSor/f ALL. - Verify BCD created:
bcdedit /store S:\EFI\Microsoft\Boot\BCD /enum. Output should show the bootloader entries. - Remove the temporary letter assignment for ESP:
diskpart→select volume N→remove letter=S. - Reboot.
This route creates BCD entirely from the Windows installation files — useful when the existing BCD is unrecoverable.
Method 3: Edit BCD with bcdedit for dual-boot or boot order fixes
For when Windows boots, but you need to modify BCD entries (add a Linux entry, change default OS, fix boot description).
- Boot Windows normally. Open Terminal (Admin).
- List current entries:
bcdedit /enum. Each entry shows an identifier (GUID or {bootmgr}), description, device, and OS device. - To change which OS is default:
bcdedit /default {GUID}. Replace {GUID} with the identifier of the desired default entry. - To change boot menu timeout:
bcdedit /timeout 10(10 seconds). - To rename a boot entry:
bcdedit /set {GUID} description "Windows 11 - main". - To delete a stale entry:
bcdedit /delete {GUID}. - To export BCD as backup before editing:
bcdedit /export C:\bcd_backup. To restore:bcdedit /import C:\bcd_backup. - Always export before making changes. BCD edits are immediate — there’s no undo.
This is the right approach for routine BCD maintenance (dual-boot setups, boot order changes) rather than emergency repair.
How to verify the fix worked
- Reboot. PC boots into Windows without error.
- Open Terminal (Admin). Run
bcdedit /enum. Output should show Windows Boot Manager and Windows Boot Loader entries with valid device paths. - Run
bcdedit /enum {bootmgr}. The device line should bepartition=\Device\HarddiskVolumeN(matching your ESP partition number).
If none of these work
If BCD repair completes but the system still won’t boot, the issue is upstream of BCD — usually the EFI System Partition or boot sector. Check ESP integrity: from WinRE Command Prompt, run diskpart → list volume. The ESP should be FAT32 and ~100 MB. If it shows as RAW or 0 bytes, the ESP is corrupted — you’ll need to recreate it (advanced, requires partition tools and detailed knowledge of GPT layout). Check disk partition table: run diskpart → list disk; the disk should show * in the GPT column (for UEFI systems). If MBR but the BIOS is UEFI, that’s the cause — you need to convert MBR to GPT with mbr2gpt /convert /allowfullos. For Windows installs that pre-date the current motherboard (after a motherboard swap or major hardware change): the boot manager may need full reinstall. Last resort: Reset This PC → Keep my files. Refreshes the OS while preserving user data.
Bottom line: BCD is at \EFI\Microsoft\Boot\BCD on UEFI ESP or \Boot\BCD on legacy SR. bootrec /rebuildbcd or bcdboot from WinRE fixes most corruption.