I'm trying the install Win8 in a VHD using the Hanselman Guide
All went well until the PC rebooted and Windows shows me this error:
Your PC needs to be repaired
The application or operating system couldn't be loaded because
a required file is missing or contains errors.
File:\windows\system32\winload.exe
Error code: 0xc000000e
Ideas?
I had this exact same problem, and I fixed it by moving the VHD to my C drive.
Error code 0xc000000e is STATUS_NO_SUCH_DEVICE
, which is a bit sad. \system32\winload.exe
is the first file loaded off the disk (it runs the preboot environement before \system\ntoskrnl.exe
is loaded which is the first bit that anyone would recognise as Windows), so this looks like something in the filesystem driver is objecting to how your virtual machine is representing your virtual disk to the OS (i.e Windows doesn't like the virtual hard disk controller).
Has Windows 8 ever successfully booted up on that Virtual machine before? If not - it may be that the particular virtual machine software you are using isn't supported by the Windows 8 Preview, in which case your best bet is to go and use a different VM software.
If you have booted up on that VM before, this looks like something has gone badly wrong and you might need to reinstall the OS.
I'd suggest you first compare the hash on your ISO.
MD5: cda63e335fb9af5354c63441f5aa5169 SHA1: 1288519c5035bcac83cbfa23a33038ccf5522749
Worse comes to worse, try a reinstall. Personally, I've run the Dev preview off VHDs. Haven't had time to try this one.
I had this very same error, but under different circumstances than you.
In my case I was moving existing vhdx file to a new path (actually new drive). To continue native booting into it I had to edit boot records in BCD to point to the new path. There is official guide for this scenario, but it is missing one critical command - which may help you.
The official guide
The official guide Add a Native-Boot Virtual Hard Disk to the Boot Menu can be summarized as:
:: Add boot record by copying and modifying current record
:: This command gives you new {new-guid} you will use below
bcdedit /copy {current} /d "Description here"
:: Update copied record with the new path N:\windows.vhdx
bcdedit /set {new-guid} device vhd=[N:]\windows.vhdx
bcdedit /set {new-guid} osdevice vhd=[N:]\windows.vhdx
Fairly easy, but it didn't work; I was getting the same error as you.
The fix
To fix it I had to mount the vhdx from its new path N:\windows.vhdx
to disk letter O:\
and run this command:
:: bcdboot does two things:
:: a) it creates or repairs boot files in specified location
:: b) it creates or updates boot record in BCD
bcdboot O:\Windows
Then you can unmount the vhdx. It didn't really made huge difference in bcdedit /v
listing -- basically it just updated the copied boot record with a new guid instead of previous {new-guid}
-- but something got fixed in the boot records behind the curtain and it started working.
Note: you could argue that bcdboot
actually fixed the vhdx file, namely the boot files in O:\
, but that could not play role in my scenario, because I discarded the vhdx I ran the bcdboot
on and instead used another copy that was never treated this way.
User contributions licensed under CC BY-SA 3.0