How to fix broken or corrupted BCD causing Windows 10 to be unable to boot after Windows updates?

Last updated: 20210316

This is application for complex boot ups, using UEFI/EFI instead of MBR (for people who install multiple OSes on a computer)

 

PS: You may have to repeat these after every major Windows update!

 

Hardware requirements:

1 x 16GB and above USB FLASH THUMB disk.

1 other working PC.

 

Software requirements:

Windows 10 installation available online from Microsoft.

        • https://go.microsoft.com/fwlink/?LinkId=691209
        • https://www.microsoft.com/software-download/windows10

EasyBCD (optional)

EasyUEFI (optional)

 

Step 1: Create the bootable Windows Installation disk by running the Windows 10 installer from Microsoft website above.

Boot into the USB head to Troubleshoot > Command Prompt

 

In the command prompt that opens, run the disk management tool by typing the command:
diskpart

 

Display the list of drives on the computer:
list disk

 

 

Look for the disks that says “GPT” , EFI partitions are only running on disks using GPT.

 

Select the disk where the EFI is on:
sel disk 0

 

Display the list of partitions and volumes on the disk:
list partition
list volume

 

Assign the EFI partitions to a drive letter we are going to use later:

select volume 1 (example)
assign letter R:

 

If there’s more than 1 EFI, we can load them as well to check

select volume 2 (example)
assign letter S:

 

Close the diskpart:
exit

 

Go to the bootloader directory on the hidden EFI volume:
cd /d R:\efi\microsoft\boot\

 

 

Use the attrib command to remove the hidden, read-only, and system attributes from the BCD file:

attrib BCD -s -h -r

 

Delete the current BCD configuration file by renaming it (this will keep the old boot configuration as a backup):
ren BCD BCD.bak

 

Using the bcdboot.exe utility, you need to recreate the BCD store by copying the UEFI boot environment files to the boot partition from the Windows directory:
bcdboot C:\Windows /l en-us /s k: /f ALL

  • C:\Windows – is the path to the directory with the latest Windows 10 installed;
  • /f ALL – means that you want to copy the Windows Boot Environment files, including those for UEFI and BIOS computers (potential ability to boot in UEFI and BIOS systems). To copy only the EFI bootloader, use the /f UEFI command;
  • /l en-us — is a type of the system locale. By default, en-us – English (USA) is used;
  • /c – this is a new BCDBoot option in Windows 10 that allows you to overwrite existing boot records (including debugsettings). Use this option to ignore old boot settings and create a clean BCD configuration;
  • /v – used to enable BCDBoot verbose output.
Hint. If you use a localized version of Windows 10, the command will be different. For example, in the Windows version for the UK, use the following command
bcdboot c:\Windows /l en-uk /s K: /f ALL
Windows 10 Dutch:
bcdboot c:\Windows /l nl-NL /s K: /f ALL
Windows 10 Deutch (German):
bcdboot c:\Windows /l de-DE /s K: /f ALL 

Now, if you run the bcdedit command, you will see the following :

An entry should appear in the Windows Boot Manager section containing the full path to the UEFI boot file (\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI). In this example, it is located on volume 2 (partition=\Device\HarddiskVolume2).

 

That’s it!

By now you would have gotten your main Windows running by rebuilding a working BCD to your EFI partition.

 


 

What if you have multiple Windows running and you need the other Windows options to appear too?

Boot into the working Windows, run the software EasyBCD and add new installation to your BCD menu.

 

What if Windows boot menu is not loading, or working, and your system is loading Clover or other boot menus?

Run EasyUEFI and switch the orders of boot menu, you can delete the Windows Boot Manager from the list, and re-add it again if its status is locked as “Hidden”

 

Leave a Reply

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