In this blog post I explain how you can install Windows 2012 Server Release Candidate (RC) in VMware ESXi and enable the Hyper-V role. It is possible to build a Hyper-V cluster LAB and live migrate VMs between the virtual Hyper-V nodes on one VMware ESXi 5 host.
Before you begin make sure:
- Windows 2012 Server RC ISO is place on a datastore
- VMware ESXi 5 Update 1 is installed with the latest updates
- To be able to boot 64bit guest OSes, make sure that on the VMware ESXi host the line below is added to the /etc/vmware/config file on your physical ESXi 5.x host (more information can be found on the blog from William Lam)
vhv.allow = TRUE
Create a new VM with the following settings (adjust the settings for your own need):
- Configuration – Custom
- Name – HV2012-02
- Storage – Choose VMFS
- Virtual Machine Version – Virtual Machine Version 8
- Guest Operating System – Microsoft Windows Server 2008 R2 (64-bit)
- CPUs – 2 Sockets, 2 Cores
- Memory – 4 GB
- Network – 4 NICs VMXNET 3
- SCSI Controller – LSI logic SAS
- Create a new virtual disk
- Disk Size – 40 GB
- Virtual Device Node – SCSI(0:0)
After the VM is created edit the VM configuration and add or change the following settings:
- Hardware – CD/DVD drive 1 – Datastore ISO file – browse to the Windows Server 2012 ISO
- Options – General Options – Guest Operating System – Microsoft Windows Server 8 (64-bit)
- Options – CPUID Mask – Advanced – Level 1 ecx (add the mask below for Intel Hosts)
---- ---- ---- ---- ---- ---- --H- ----
- Options – Boot Options – Specify the boot firmware – EFI
- Options – General – Configuration Parameters – Add Row – Add the line below (without =)
hypervisor.cpuid.v0 = FALSE
- Start the VM and install Windows Server 2012
- Install VMware tools
- Add the Hyper-V role
If you need to install more Windows Server 2012 Hyper-V VMs, create a template so that you only need to do the settings once.
9 thoughts on “Nest Windows Server 2012 Hyper-V in VMware ESXi 5”
Can you explain why the need to change the BIOS for the VM ?
@Maish, You need to change to BIOS to EFI or use the “vmGenCounter.enable = FALSE” adv. setting because without these setting the installation of Windows Server 2012 stops responding
Very handy. I first did this on workstation, worked great, but that was all I could use my laptop for. Now I can use my laptop for other things and run Hyper-V in my lab and access it when on the road.
Only problem I have is Server 2012 Hyper-V vms cannot seem to get networking. The virtualized Server 2012 RC does, but not the VMs running on it.
Assuming you’re running nest Hyper-V on ESXi 5.0, for networking to the VMs that are running on your Hyper-V VM you need to engaged Promiscuous Mode on the vSwitch of the physical ESXi 5.0 host. By default, your vSwitch on the physical ESXi 5.0 host has Promiscuous Mode disabled and that would mean networking to the VMs running on the nested Hyper-V VM couldn’t be contacted.
To engage Promiscuous Mode, highlight your ESX host from within VCenter (or from the VIC if you’re using a standalone ESXi 5.0 physical host) and go to the Configuration Tab. From there, choose Networking and choose Properties for your vSwitch. Highlight the cSwitch choice and then choose Edit, then choose the Security Tab. Change Promiscuous Mode to Accept (the default is Reject).
OK your way out of the dialog boxes and you should be getting connectivity to the VMs running on your nested Hyper-V VM.
Datto, thank you for reminding me about Promiscuous Mode for networking (also needed for running Hamachi VPN in ESXi VMs)!
Now with the GA version of ESXi 5.1 out, coupled with the GA version of Microsoft Hyper-V Server 2012, you can get this nesting working quite nicely, wrote up all the details, step-by-step, over here:
I confess, I still have work to do to test out nested VMs networking, but at least the Hyper-V VM does start…
Thx man !!
How would you extend the disk on nested hyper-v hypervisor?
I can increase the disk size on the vmware, but my hyper-v host can’t detect this 🙁