There are many reason where it make sense to run Hyper-V in Hyper-V, one of them being to enable Credential Guard (VSM) in Windows Server 2016 TP 4 and later. For training, demos, test. R&D it is great. For Windows Server 2016 TP4 it needs to be enable and configured to work and that means PowerShell. Currently there are also some limitations.
On the Host:
Device Guard | Disable |
Credential Guard | Disable |
Hyper-V | Enabled |
Hardware | Intel VT-x |
Windows Version | Build 10565 or greater |
In the VM:
Dynamic Memory | No |
Change memory while VM is running | No |
Using any kind of Checkpoint | No |
Live Migration | No |
Save/Resume | No |
You can read the fine print here: https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/user_guide/nesting
The PowerShell Function/Script:
This script will enable Nested Hyper-V an a VM
Invoke-WebRequest "https://raw.githubusercontent.com/DeploymentBunny/Files/master/Tools/Enable-NestedHyperV/EnableNestedHyperV.ps1" -OutFile ~/EnableNestedHyperV.ps1 Import-Module ~/EnableNestedHyperV.ps1 Enable-NestedHyperV -VMname TEST100
This Script (Provided be Microsoft) will verify configuration
Invoke-WebRequest "https://raw.githubusercontent.com/Microsoft/Virtualization-Documentation/master/hyperv-tools/Nested/Get-NestedVirtStatus.ps1" -OutFile ~/Get-NestedVirtStatus.ps1 ~/Get-NestedVirtStatus.ps1
/mike
Categories: Datacenter, Hyper-V, Windows 10, Windows Server, Windows Server 2016, Windows Server vNext
Reblogged this on configMgr and commented:
Testing Nested Hyper-V? Mikael’s adds simplicity with a script for enabling the proper settings in a VM running in Hyper-V.