Repair Windows 8 EFI Bootloader

Suppose you have installed Windows 8 on your machine. After an unexpected incidents you can not boot your Windows anymore, what will you do? Reinstall? No, let’s fix it!
This article will discuss about how to repair / fix Windows 8 Bootloader. For simplification, we have following assumption:

  1. Our machine is EFI-based with GPT disk (thus have EFI partition on first partition)
  2. You have Windows 8 installer (yes, we use installer DVD to do)

Now boot into your machine wit Windows 8 installer. Do normal method until you are prompted with list of volumes / partitions. Now press [Shift] + F10. This will bring you alovely black-themed cmd :D

Now invoke following commands:

Then you will be brought to a diskpart program. First we must now what your disk (the one windows 8 installed). To do so we will issue this command:

Now you will see a list of disk you have numbered by a value from 0. In this article I assume we have 1 disk and the installed windows on disk 0. If not, change 0 with appropriate number. Now execute this:

Now list the volumes by invoking:

At minimal you have 1 EFI partition, 1 MSR partition, and 1 primary partition. Look at the output and write down the letter the partition use. In this article I assume the windows partition has letter C:  as shown below. The red square means the volume / partition of my EFI partition and blue one means the partition where my Windows installed.

diskpart

To change a volume letter (i.e: from b: to c:, etc) follow this commands:

Where # is the volume you want to assign with and n is a drive letter (b,c,d, etc).

Now assign EFI partition to B: (in this article I have vol 1):

On successful attempt you will be prompted that the volume has been assign to letter b.Then exit diskpart with exit command. Now go to the EFI partition and fix the boot:

Now delete (or rename) the BCD file:

Then use bcdboot.exe to recreate BCD store.

Where C:\Windows is our installed windows on drive C: and B: is drive of our EFI partition. The /f ALL parameter updates the BIOS settings including UEFI firmware/NVRAM, while /l en-us is to localise for US locale, it will default to US English.

To re-enable Hyper-V, we should run the following commands:

Now reboot and wish you luck :D

About Xathrya Sabertooth

A simple-minded person who loves tinkering in low level system.

, , , , ,

Comments

  1. […] to replace the corrupted BCD with the backup copy stored inside the "Windows" folder. Repair Windows 8 EFI Bootloader | Xathrya Sabertooth   My System Specs You need to have JavaScript enabled so that you can use this … […]


Warning: Unknown: write failed: Disk quota exceeded (122) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0