Skip to main content

Windows 8 boot loader corrupted

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 !!!

Comments

  1. OMG THANK YOU THANK YOU THANK YOU!!!!!!!!!!!! I looked for AGES!!!! Lenovo and Microsoft didn't know what the hell to do. LOL1

    ReplyDelete
    Replies
    1. I am very pleased that my post helps you. Thanks Steven.

      Delete
  2. but 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?

    ReplyDelete
  3. Oh yeah! I fixed my laptop after years of google search. Thanks Bro!

    ReplyDelete
  4. You get help from my blog http://crownanswer.blogspot.com. It’s my pleasure.

    ReplyDelete

Post a Comment

Popular posts from this blog

ORA-01033 Oracle initialization or shutdown in progress

ORA-01033 Oracle initialization or shutdown in progress When you connect oracle 12c plug gable database, Thus time you have get oracle initialization or shutdown in progress error. This error occurred because pluggable database are not initialized. To fix this error connect as sysdba and run  ALTER PLUGGABLE DATABASE ALL OPEN    command. ALTER PLUGGABLE DATABASE ALL OPEN Thanks.

Checking operating system version: must be 5.0, 5.1 or 5.2 Actual 6.1 Failed

This error occurred when we are installing old oracle software in latest OS (Operating System).   Basically Its’s occurring on windows platform.

AFTER LOGON Trigger not perfectly working

AFTER LOGON not perfectly working.  I have tried it on single instance oracle 12c database it's perfectly work but it's not perfectly working on multi instance Oracle 12c database. I have submitted this matter in oracle forum but not found any perfect answer. Do you know why  it's not working ???