In Windows 10 build version 10586 and Windows Server 2016 Technical Preview 4, Microsoft added nested virtualization on Hyper-V. We can enable Hyper-V feature on a virtual machine which is installed Windows Server 2016 TP4 or Windows 10 build 10586. The build versions prior to Windows Server 2016 TP4 or Windows 10 build 10586. It doesn't work. At this moment, there are some limitations on a virtual machine which will be enabled Hyper-V feature.
Dynamic memory must be off
Runtime memory resize doesn't support (Windows Server 2016 Hyper-V new feature)
Checkpoint doesn't support
Live migration doesn't support
Save or Restore of a virtual machine doesn't support
There are some requirements to use nested virtualization.
Once nested virtualization is enabled in a VM, MAC spoofing must be enabled for networking to work in its guests
Hosts with Device Guard enabled cannot expose virtualization extensions to guests. You must first disable VBS in order to preview nested virtualization
Hosts with Virtualization Based Security (VBS) enabled cannot expose virtualization extensions to guests. You must first disable VBS in order to preview nested virtualization
This feature is currently Intel-only. Intel VT-x is required
Beware: nested virtualization requires a good amount of memory. I managed to run a VM in a VM with 4 GB of host RAM, but things were tight
To enable nested virtualization on a VM, we can perform Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $True
or We can use a script which is provided by Microsoft to enable it.
The script will configure a virtual machine to fulfill the requirements like disabling Mac address spoofing, changing the memory size and so on.
Then, we can enable the Hyper-V feature on a VM.
Please try to use it and give some feedback to Microsoft.
More information:
This posting is provided “AS IS” with no warranties, and confers no rights!