In one of previous posts, I show you how to configure nested virtualization on VMware ESXi. Now, I will show you same feature on Windows Server 2016.

With TP4 of Windows Server 2016, Microsoft introduced Nested Virtualization in Windows Server Hyper-V. As I said earlier, nested virtualization allows you to run a hypervisor inside a virtual machine running on a hypervisor. That is a great feature if you don’t have enough resources, but need more hypervisors.

If you want to implement this, you need to meet some prerequisites:

  • Least 4 GB RAM for virtualized Hyper-V;
  • Windows Server 2016 Technical Preview 4 or Windows 10 build 10565 on both the physical Hyper-V host and the virtualized host;
  • A processor with Intel VT-x (nested virtualization is available only for Intel processors at this time);
  • Other Hypervisors will not work at this moment.

 

Implementing this feature is very simple, but you have to pay attention on few things:

  • Disable Dynamic Memory on Virtual Machine;
  • Enable Virtualization Extensions on the vCPU with PowerShell command:
    • Set-VMProcessor -VMName “VMName” -ExposeVirtualizationExtensions $true
  • Enable MAC Address Spoofing;
  • Set Memory of the Virtual Machine to a minimum of 4GB RAM.

 

However, nested virtualization coming with some limitations. The following features are no longer compatible with that virtualized hypervisor VM, where is nested virtualization enabled.

  • Dynamic memory must be OFF. This will prevent the VM from booting;
  • Runtime memory resize will fail;
  • Applying checkpoints to a running VM will fail;
  • Live migration will fail;
  • Save/restore will fail;
  • Hosts with Device Guard enabled cannot expose virtualization extensions to guests;
  • Hosts with Virtualization Based Security (VBS) enabled cannot expose virtualization extensions to guests. You must first disable VBS in order to preview nested virtualization.

 

 

Windows Server 2016 with installed Hyper-V

 

 

 

Created two virtual machines

 

Configuring MAC spoofing

 

 

 

 

 

 

Error message. Expose virtualization is not enabled

 

 

Exposed virtualization status

 

 

Cannot modify vCPU setting until machine is running

 

 

Configured vCPU

 

 

Installed Hyper-V role on virtual machines

 

 

And installed VMs in virtualized Hyper-V

 

 

 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *