Enable Nested Hyper-V Virtualization in Windows 10 Build 10565
Microsoft has quietly slipped nested virtualization into Windows 10 build 10565, or in other words, Microsoft has included the ability to run Hyper-V on a Hyper-V virtual machine (VM) guest.
Although this technology is primarily intended for enabling Hyper-V Containers in Windows Server 2016 because server and client operating systems share the same core code, this feature has cropped up in Windows 10 before making an official appearance in the Windows Server technical preview, which last saw a refresh in August.
To make this technology work, Microsoft is virtualizing Intel VT-x and AMD-V hardware features that are normally hidden from the OS running in a guest VM. It should also be noted that only Intel VT-x based systems are supported in the current build. For more information on Windows Server Containers, see What are Windows Server Containers? on the Petri IT Knowledgebase.
In advance of the public preview of Hyper-V Containers on Windows Server 2016, this early glimpse of nested Hyper-V has a list of known issues and only supports Hyper-V on Hyper-V. Stated differently, no other hypervisor can be installed on a Hyper-V guest VM. Furthermore, only Windows 10 build 10565 or later versions are supported as guest and host operating systems for the time being.
Dynamic memory must be disabled, and if networking is required, MAC spoofing must be enabled, which can be achieved using the Set-VMNetworkAdapter cmdlet as shown below, replacing the value of the –VMName parameter with the name of a VM host, which will support nested virtualization.
Set-VMNetworkAdapter -VMName ‘My VM’ -MacAddressSpoofing On
It’s also worth noting that save, restore, and checkpoint operations will fail on hosts where nested virtualization is enabled, as well as attempts to resize runtime memory.
Enable Nested Virtualization
Microsoft has provided a PowerShell script for enabling nested virtualization on host VMs (Enable-NestedVm.ps1), and another for checking the current nested virtualization configuration status of VM hosts (Get-NestedVirtStatus.ps1), both of which can be downloaded from GitHub.
Both scripts must be run with elevated privileges, and the name of the VM host to be configured for nested virtualization must be passed to the Enable-NestedVm.ps1 script as shown below, replacing the value of the –VMName parameter with the name of the VM to be configured.
Enable-NestedVm.ps1 -VmName ‘My VM’
Don’t forget before trying nested virtualization, you’ll need plenty of available RAM. And although there’s no minimum requirement given by Microsoft, anything less than 4GB is likely to be a non-starter.
More in Windows 10
Microsoft Stops Selling Windows 10 Digital Downloads
Feb 1, 2023 | Rabia Noureen
Microsoft Offers Temporary Fix for Start menu or UWP App Freezing Issues on Windows 11 and 10
Jan 26, 2023 | Rabia Noureen
Microsoft to End Sale of Windows 10 Home and Pro Licenses This Month
Jan 19, 2023 | Rabia Noureen
Microsoft Releases a Script to Recover Some Windows App Shortcuts Deleted on Friday 13
Jan 16, 2023 | Rabia Noureen
[Updated] Microsoft to Fix Defender Bug Deleting Windows Apps Shortcuts from Taskbar
Jan 13, 2023 | Rabia Noureen
Microsoft FastTrack Now Helps IT Admins Deploy Windows Autopatch at No Additional Cost
Jan 13, 2023 | Rabia Noureen
Most popular on petri