Windows 7 Bootfix

Microsoft has changed the way Windows is booted starting with Windows Vista, leading into troubles when cloning installed Windows Vista++ systems to another harddisk. You will get an ugly "STOP: 0xC000000E" error when trying to boot from the destination disk.

But fixing this is rather easy once you know what to do:

  • Boot from Windows Vista++ install media.
  • Open a command prompt with Shift-F10 or choose "Computer Repair Options" and the "Command Prompt".
  • Enter "bcdedit".

There will be output similar to this:


Windows Boot Loader
-------------------
identifier {default}
device unknown
path \Windows\system32\winload.exe
description Windows 7
locale en-US
inherit {bootloadersettings}
recoverysequence {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
recoveryenabled Yes
osdevice unknown
systemroot \Windows
resumeobject {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
nx OptOut
hypervisorlaunchtype Auto

The problem is mainly burried in the two cited lines. To fix it enter these commands:


bcdedit /set {default} device partition=X:
bcdedit /set {default} osdevice partition=X:

Replace X: with the drive letter which contains your OS, showing up in the WinPE that you booted from the install media. If your boot manager contains more than one entry you might need to change "{default}" to your entry's identifier.

Finally chck the changes running another bcdedit and reboot. Voila!

If bcdedit refuses to work try these commands:

bootrec /FixMBR
bootsect /nt60 all /force /mbr
bootrec /FixBoot
bootrec /rebuildbcd

If still failing:

bcdedit /createstore X:\BOOT\BCD (X: = letter of boot drive as seen in install environment)
bcdboot X:\Windows /s X: (X: = letter of system drive as seen in install environment)
bootrec /rebuildbcd

Adding a boot entry

The easiest way to add a boot entry is to duplicate an existing one:

bcdedit /copy {default} /d "Windows 7 Test Boot Entry"
bcdedit /set {default} device partition=X:
bcdedit /set {default} osdevice partition=X:

Again, replace X: with the drive letter which contains your OS, showing up in the WinPE that you booted from the install media.