I currently have Windows 7 64 bit as my primary OS.

I also have Win 8 64 bit pro on a different partition.

My intention is to create a virtual machine of my Windows 7, so that I can access it from Windows 8, and then use Win 8 as my primary OS.

I started HyperV in Win 8, created a VHDX of the Windows 7 partition (dynamic size).

When I boot into the VM, Windows BSDODs, complaining about a disk error. Unfortunately I can't seem to get much more detail than that, as it reboots very quickly.

I can boot into the Windows 7 recovery mode (not safe mode) and issue commands, attempt startup repair, none of that works.

In recovery mode, I can see that the contents of the VHDX is mounted correctly. I can create folders etc., so its not read only or anything.

It is mounted s D: though, not C:. Not sure if that's just because its in recovery mode, but if so, then I guess that could be the problem, and my question is how to alter that - is it something I need to do via BCDedit?

Or could the BSDO be due to the emulated storage hardware being very different?

Or are there any other obvious gotchas on making this scenario work?

Thank for any ideas as to how to get this working.

I created the above VDHX from Hyper V. In Windows 7 I've tried using disk2vhd and using that VHD for the VM. In that case, I immediately get an error in a console: "disk read error".


Windows7 doesn't support VHDX by default. You must first install/integrate the the Update KB982018 to the install.wim


or use the old VHD format.

  • Downloaded and attempted to install that KB. Says its already installed - so that VHDX would have been of an image of Win 7 that has it applied. – Nik May 19 '13 at 19:58
  • in this case, use a VHD file and not a VHDX. – magicandre1981 May 20 '13 at 5:14
  • as per my update, that fails too. – Nik May 20 '13 at 8:20

To convert physical-to-virtual (P2V) I have had excellent results with VMware vCenter Converter, although you will have to boot in Windows 7 and do the conversion while Windows 7 is running. The result VM should of course not be stored on the system drive or any other drive to be virtualized, and the process might take hours.

You can run the resulting VM using VMware Player, which is probably the simplest way.

Or you can try to convert the VMDK virtual disk of VMware to VHD. I have had good results using StarWind V2V Converter, but others are available.

This procedure worked for me, but there is no guarantee that it will always work. Physical-to-virtual is always a matter of chance.

  • I also suggest StarWind V2V Converter – Ramhound Jun 5 '13 at 9:58
  • Thanks, tried this, but immediately got "disk read error" when booting the VM. – Nik Jun 8 '13 at 15:00
  • Was that with VMware Player ? – harrymc Jun 8 '13 at 15:23

There are many ways to solve it, but the fastest way I've found is just use copyp2v.tbs from Terabyte (TeraByte OS Deployment Tool Suite), use "Make bootable", and select VMDK. Restart the machine and reconfigure.


Hmm.. coincidentally I had a similar problem today and decided to write down my misery =)

See : How to convert existing Win7 64 bit to virtual machine?

In the end it came down to VmPlayer (by default) trying to emulate the disk-image as a SCSI-device while it originally came from an installation on a SATA-disk.

Not sure if it's applicable, but worth a try...

  • This is applicable in part or more, but it doesn't add anything new to existing answers. This should have been a comment. – harrymc Jun 7 '13 at 8:12
  • IMHO it does add the crucial part where I suggest to change the configuration file so it uses IDE instead of SCSI.. Anyway, merely trying to help... – deroby Jun 7 '13 at 11:25
  • Thanks for suggestion - I managed to remove the default SCSI drive in vmware player, and re-add it as IDE, but no go - "disk read error" on command prompt when booting. – Nik Jun 8 '13 at 15:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.