Solve nested virtualization challenges in Windows Server 2016

Enable nested virtualization with your Windows Server 2016 Hyper-V environment.

John Savill

January 28, 2016

1 Min Read
ITPro Today logo

Q. I'm unable to install Hyper-V in a VM running on Windows Server 2016 as it says the required processor features are missing, what can I do?

A. You have to make a configuration change on the VM that you will install Hyper-V into (for nested virtualization) to expose the required virtualization functions. Microsoft documents how to do this by running the following PowerShell:

Invoke-WebRequest https://raw.githubusercontent.com/Microsoft/Virtualization-Documentation/master/hyperv-tools/Nested/Enable-NestedVm.ps1 `    -OutFile ~/Enable-NestedVm.ps1 ~/Enable-NestedVm.ps1 -VmName "savnest01"

If you examine the downloaded PowerShell you can see all the changes required:

  • The VM must be turned off when making the changes

  • Any saved state is removed

  • Dynamic memory is disabled and the VM should have at least 4 GB (the exact amount will depend on how many VMs you wish to run)

  • MAC address spoofing is needed if the VMs running inside the VM need network connectivity

  • Most importantly and the cause of the error is that virtualization extensions must be enabled to the VM, this is enabled by the above script using:Set-VMProcessor -VMName $vmName -ExposeVirtualizationExtensions $true

Once all this is done you can have VMs running in VMs with Hyper-V 2016.

 

Each week, John Savill answers all of your toughest tech questions about the worlds of Windows Server, Azure, and beyond. Read his past IT advice here, and email your questions to [email protected].

About the Author

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like