Recovering a multiboot system after a drive failure
Okay, this is I am sure a topic that has been covered many, many times. However, it took me a few tries and a bit of searching to find the answer to the following challenge:
I had a PC with two hard drives. Each drive had an operating system (Windows 8 and Server 2008 R2). The primary hard drive that held the boot sector failed over the weekend and left my system unbootable…
All I needed to so was rebuild the boot sector on the 2nd drive…
The solution turned out to be pretty simple (after a bit of research). A while ago, I posted an article on how to build a bootable USB flash drive. This included all of the tools I needed to perform the recovery, including the bcdboot tool:
C:\windows\system32>bcdboot /?
Bcdboot - Bcd boot file creation and repair tool.
The bcdboot.exe command-line tool is used to copy critical boot files to the system partition and to create a new system BCD store.
bcdboot <source> [/l <locale>] [/s <volume-letter> [/f <firmware>]] [/v] [/m [{OS Loader ID}]] [/addlast]
source Specifies the location of the windows system root.
/l Specifies an optional locale parameter to use when
initializing the BCD store. The default is US English.
/s Specifies an optional volume letter parameter to designate
the target system partition where boot environment files are
copied. The default is the system partition identified by
the firmware.
/v Enables verbose mode.
/m If an OS loader GUID is provided, this option merges the
given loader object with the system template to produce a
bootable entry. Otherwise, only global objects are merged.
/d Specifies that the existing default windows boot entry
should be preserved.
/f Used with the /s command, specifies the firmware type of the
target system partition. Options for <firmware> are 'UEFI',
'BIOS', or 'ALL'.
/addlast Specifies that the windows boot manager firmware entry
should be added last. The default behavior is to add it
first.
Examples: bcdboot c:\windows /l en-us
bcdboot c:\windows /s h:
bcdboot c:\windows /s h: /f UEFI
bcdboot c:\windows /m {d58d10c6-df53-11dc-878f-00064f4f4e08}
bcdboot c:\windows /d /addlast
The steps were very simple:
1: Boot from the USB flash drive I created previously (or similar) – in my case I had to use F12 during the POST process to select to boot from USB.
2: Select Next from the language selection menu
3: Select “Repair Your Computer”
4: Select “Troubleshoot” (to display Troubleshooting Options)
5: Select “Advanced Options”
6: Select “Command Prompt” (now, others had reported success with the Automatic Repair Option, but it didn’t work for me)
7: type "bcdboot c:\windows /s c: ” (without the speech marks) and press ENTER
Note: This assumed that my boot drive was C: and the version of Windows was installed in the C:\Windows directory. You get the picture…
Okay, I told you this was straight forward, but it had me thinking for a few minutes… thanks to Scott Hanselman as it was his blog post that finally pointed me in the right direction after a few false starts.
Enjoy!