Problem:
Installed Windows 7 and
Windows 8 in EFI mode on a hard disk some days past. Today, the boot loader is absent
or corrupted.
At present have the
Windows 8 installer on a flash drive and tried using the Automatic Repair
option to repair the boot loader but it didn't do anything. The Startup Repair
option is also absent in the Windows 8 installer.
How I can repair or recreate
the EFI boot loader from the Command Prompt?
BCDEDIT returns the following message:
The requested system device cannot be found.
Solution:
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 boot-able 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.
Use DISKPART tool to ensure you have all the right partitions - key thing here is your EFI partition being 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
I then assigned 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 Disk-part tool 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, it will default 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
CHEERS !!!
OMG THANK YOU THANK YOU THANK YOU!!!!!!!!!!!! I looked for AGES!!!! Lenovo and Microsoft didn't know what the hell to do. LOL1
ReplyDeleteI am very pleased that my post helps you. Thanks Steven.
Deletebut but BUT how do I boot into windows without booting to the USB. It wont let me write into the windows boot when i do boot into Windows OS from USB. so now that Im in my system how do i put without usb?
ReplyDeleteOh yeah! I fixed my laptop after years of google search. Thanks Bro!
ReplyDeleteYou get help from my blog http://crownanswer.blogspot.com. It’s my pleasure.
ReplyDelete