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
Reference from Windows Insider Preview: Nested Virtualization
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.
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!
No comments:
Post a Comment