A few days ago, I came across a couple of blog posts about how VMware Server won’t run on top of Hyper-V. Frankly, I’m amazed that any hosted virtualisation product (like VMware Server) will run on top of any hypervisor – I always understood that hosted virtualisation required so many hacks to work at all that if it saw something that wasn’t the real CPU (i.e. a hypervisor handling access to the processor’s hardware virtualisation support) then it might be expected to fall over in a heap – and it seems that VMware even coded VMware Server 2.0 to check for the existence of Hyper-V and fail gracefully. Quite what happens with VMware Server on top of ESX or XenServer, I don’t know – but I wouldn’t expect it to work any better.
Bizarrely, Virtual PC and Virtual Server will run on Hyper-V (I have even installed Hyper-V on top of Hyper-V whilst recording the installation process for a Microsoft TechNet video!) and, for the record, ESX will run in VMware Workstation too (i.e. hypervisor on top of hosted virtualisation). As for Hyper-V in VMware Workstation VM – I’ve not got around to trying it yet but Microsoft’s Matt McSpirit is not hopeful.
Regardless of the above, Steve Graegart did come up with a neat solution for those instances when you really must run a hosted virtualisation solution and Hyper-V on the same box. It involves dual-booting, which is a pain in the proverbial but, according to Steve, it works:
- Open a command prompt and create a new [boot loader] entry by copying the default one
bcdedit /copy {default} /d "Boot without Hypervisor"
- After successful execution copy the GUID (ID of the new boot loader entry) including the curly braces to the clipboard.
- Set the HyperVisorLaunchType property to off
bcdedit /set {guid} hypervisorlaunchtype off
[using] the GUID you’ve previously copied to the clipboard.
After this, you should now have a boot time selection of whether or not to start Hyper-V (and hence whether or not an alternative virtualisation solution will run as expected).