Hyper-V & VMware: Only One at a Time
Hyper-V is great. Just love the idea of using the integrated virtualization infrastructure to host virtual machines. It’s a promising combination and I expected some performance improvements which I thought would be great to compare against VMware’s Workstation, Microsoft’s biggest rival in the virtualization market.
Unfortunately, things didn’t turn out as planned.
Scenario 1: Add Hyper-V first, then VMware
- Add Hyper-V role to the server
- Create a virtual machine inside Hyper-V (in this case I tried with Windows XP SP2)
- Install VMware Workstation
- Create a virtual machine inside VMware (Windows XP SP2 again)
- Starting the VMware guest for the first time resulted in a crash of the host operating system
Hyper-V works well and getting VMware Workstation up and running was no problem at all but I soon realized that VMware crashes my host (has been quite a while since the last encounter with the BSOD) while booting the guest operating system. The reasons for that are still unclear but I guest that both need mutually exclusive access to the hardware virtualization at the same time: Hyper-V needs it to function and VMware needs it to host x64 operating systems. The same is true for Microsoft Virtual Server 2005 or Virtual PC 2007.
Note: I have no intentions to run a virtual machine in each of the virtualization solutions at once. One at a time is sufficient but does not work even with Hyper-V services completely shut down.
Several options come to mind to find out if there is any way to get both virtualization environments running.
Scenario 2: install VMWare first, add Hyper-V later on
- Install VMware Workstation
- Create a virtual machine inside VMware (Windows XP SP2)
- Add Hyper-V role to the server
- Create a virtual machine inside Hyper-V (Windows XP SP2)
- Hyper-V service refuses to start and VMware now only hosts 32-bit guest operating systems
Once Hyper-V has been uninstalled VMware was able to host x64 guest OSes again.
No Solution, only a Crappy Workaround
Currently, there seems to be no way to have both virtualization solutions operational at the same time. If you don’t mind rebooting the host system you may want to consider adding an extra entry to the boot loader:
- Open a command prompt and create a new 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
HyperVisorLaunchTypeproperty to off:bcdedit /set {guid} hypervisorlaunchtype offUse the GUID you’ve previously copied to the clipboard.
From now on you will be able to choose between a boot with Hyper-V enabled or disabled. That saves you from removing the Hyper-V role whenever you are forced to use VMware.

