Today, I decided to try and migrate a few VMs I have on Virtualbox to Hyper-V and it didn’t go so well. It’d probably had worked out kinda ok if I just did fresh installs but I went the disk conversion route.

So I converted the virtual disks twice, VDI (Virtualbox’s Default) > VHD (A more universal disk) > VHDX (For Hyper-V). That was fun.

Only to find out that 1) Windows 7 must have been installed wrong on Virtualbox with a SATA controller so I couldn’t get it to boot on Hyper-V no matter what I tried. It kept blue-screening with the error 0x0000007B. I googled it and tried some registry “hacks” to start the IDE service (I think) but it kept failing. To edit the registry, I had to mount the VHD to my windows host and open the system hive in the local registry editor.

That was pointless

That quickly got annoying so I turned my attention to Windows XP. That worked out a little better as it was installed on Virtualbox with a IDE Controller. Got it running under Hyper-V… annnnd hello 800x600 32bit resolution that maxed at 1024x768 with the generic drivers Hyper-V (I assume) gave it. It was missing the video drivers and two unknown devices. I got networking up with the Hyper-V Legacy Network Controller but Windows XP still couldn’t find any drivers.

At that point, I tried to find some sort of driver pack iso for Hyper-V like Virtualbox has and no joy. That instantly turned me off on Hyper-V and I deleted everything associated with it and removed the feature from the windows host. I’d expect this kind of trouble from Linux VMs but they worked better than the 8+ year old operating systems. Imagine that. Oh well, can’t say I didn’t try. Maybe I’ll try again with Hyper-V on a independent server and not migrate anything older than Windows 8 or Server 2012.

I would have kept Hyper-V itself installed if it didn’t pull virtualization support from the host for Virtualbox to run right. Given the way Hyper-V integrates itself and runs right on the bare metal, below the host OS, I can understand why but still. I would have thought there’d be some sort of VT-X passthru, if that’s technically possible though.

The only thing it had going for it was VLAN support on a per VM or per physical NIC bases and auto start/stop of the vms with the host. Maybe some other time in the future.

I did this on my Dell Precision T3610 Workstation with an Intel Xeon E5-1650 v2, 16GB DDR3 ECC RAM, a secondary Toshiba 128GB SSD with a Samsung EVO 840 128GB SSD primary.