Booting hyper-V and VMWare on the same Headless Machine |
|
|
General |
Written by Darwin sanoy |
Thursday, May 6, 2010 AM |
Share On email Share on favoritesshare On printshare On twittershare On twitthisshare On diggshare On technoratishare On Alibaba inshare On igoogleshare On googlebuzzshare On googleshare On stumbleuponMore Sharing Services This week I built a virtualization server on the cheap. I wanted to be able to test with both hyper-V and VMWare Workstation on the same configuration. however, once you add the hyper-V server role, the parent partition becomes virtualized as well. VMware Workstation detects this situation and simply shows an abort message. I found This excellent article that tells of how to create a boot option to turn off hyper-v. if you do not disable hyper-V then vmware workstation gives the error "vmware workstation and hyper-V are not compatible. you must remove the hyper-V role from Your system to run vmware workstation. "when you attempt to start a virtual machine. Here are the steps from the above link outlined:
- At the command prompt, type the following:
Bcdedit/copy {default}/D "No hypervisor"
- The above command shocould say: the entry was successfully copied to {guid}. Copy that guid to the clipboard including the curly braces.
- Now, type the following command:
Bcdedit/set {guid_hvoff} hypervisorlaunchtype off In the upper command, replace {guid_hvoff} with what you copied in step 2. The upper command just sets a property in the boot entry that will not load the hypervisor on boot.
Now I had just one more problem-the machine I am using will be headless and in another location. So how to switch back and forth between the options? Here is how to create two shell scripts to swap back and forth.
- In a file called Restart-HyperV-OFF.cmd copy and edit this text:
@ Echo off Bcdedit/default {guid_hvoff} Echo. Echo press any key to restart or CTRL-C to cancel Pause Shutdown/R/T 0/d p: 0: 0
- Note that {guid_hvoff} is the same guid that you just copied for the bcdedit command above.
This shell script can now boot with hyper-V off. the only way to know the guid of the "hyper-V on" GUID is to boot into hyper-V off and enumerate the existing guids.
- Run Restart-HyperV-OFF.cmd
- After the reboot, run the following command:
Bcdedit/Enum
- Find the "Windows boot loader" section that has the setting "hypervisorlaunch auto"
- Copy the {guid_hvon} from the "identifier" field of the same Windows boot loader section.
(Note: If the identifier says "{current}" then you did not successfully boot into the non-hypervisor boot configuration .)
- In a file called Restart-HyperV-ON.cmd copy and edit this text:
@ Echo off Bcdedit/default {guid_hvon} Echo. Echo press any key to restart or CTRL-C to cancel Pause Shutdown/R/T 0/d p: 0: 0
- Note that you must replace {guid_hvon} with the guid you copied in the earlier step.
Looks like I will be using vmware workstation over hyper-V due to these factors:
- VM portability (hyper-v vms cannot be shared back and forth with virtual PC reliably ).
- VMware teams (Management of groups of VMS ).
- VM clones.
- Ability to do USB pass through to VMS.
And using vmware workstation over esxi due:
- Storage of VMS on NTFS (I like the freedom to move drives in and out of the server without moving data and reformatting ).
- It cocould not use the Integrated Nic on the motherboard-chewing up a precious PCI slot on a board that only has two.
Attachments:
Hypervbootcontrol.zip |
[Scripts for remotely toggling hyper-V startup] |
0.6 kb |
|
Please do not repost content without permission. training and tools to make apps run on win7 and virtualization alization => http://CSI-Windows.com