Skip to content

Instantly share code, notes, and snippets.

@andreibosco
Created January 24, 2014 00:43
Show Gist options
  • Select an option

  • Save andreibosco/8589922 to your computer and use it in GitHub Desktop.

Select an option

Save andreibosco/8589922 to your computer and use it in GitHub Desktop.
restore windows 8 efi boot partition

Fonte: http://superuser.com/questions/460762/how-can-i-repair-the-windows-8-efi-bootloader

I've spent a lot of time trying to get my Windows 8 PC to boot again after cloning to a new SSD and try to summarise how I finally got it all working -

Firstly, boot from a UEFI Windows 8 recovery disk (CD/DVD/USB) - I found that the automated recovery process didn't find the correct Windows partition, nor when I managed to add it to BCD settings would it make it reliably bootable e.g. using BCDEDIT I got it to find and launch the Windows partition but it refused to cold boot or would not "keep" the settings after a 2nd reboot or power off.

Go into the Advanced options and run the Command Prompt.

Enter diskpart to use the DiskPart tool to ensure you have all the right partitions and to identify your EFI partition - the key thing here is that your EFI partition is formatted as FAT32:

DISKPART> sel disk 0

Disk 0 is now the selected disk.

DISKPART> list vol

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     E                       DVD-ROM         0 B  No Media
  Volume 1     C                NTFS   Partition    195 GB  Healthy    Boot
  Volume 2         WINRE        NTFS   Partition    400 MB  Healthy    Hidden
  Volume 3                      FAT32  Partition    260 MB  Healthy    System

Then assign a drive letter to the EFI partition:

DISKPART> sel vol 3

Volume 3 is the selected volume.

DISKPART> assign letter=b:

DiskPart successfully assigned the drive letter or mount point.

Exit DiskPart tool by entering exit and at the command prompt run the following:

cd /d b:\EFI\Microsoft\Boot\

bootrec /fixboot

Delete or rename the BCD file:

ren BCD BCD.bak

Use bcdboot.exe to recreate BCD store:

bcdboot c:\Windows /l en-gb /s b: /f ALL

The /f ALL parameter updates the BIOS settings including UEFI firmware/NVRAM, /l en-gb is to localise for UK/GB locale. The localisation defaults to US English.

Reboot and cross your fingers.

This gave me headaches. I was going in circles for a long while and there. isn't a lot of reliable info about fixing UEFI/Windows 8 at the time of writing.

[EDIT]

To re-enable Hyper-V, I also had to run the following:

bcdedit /set {default} hypervisorlaunchtype Auto
bcdedit /set {default} nx OptIn
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment