Microsoft today revealed that they have included the early preview of nested virtualization in Windows 10 Build 10565 which was released to Windows Insiders couple of days back. This feature virtualizes certain hardware features that are required to run a hypervisor in a virtual machine.
Hyper-V relies on hardware virtualization support (e.g. Intel VT-x and AMD-V) to run virtual machines. Typically, once Hyper-V is installed, the hypervisor hides this capability from guest virtual machines, preventing guests virtual machines from installing Hyper-V (and many other hypervisors, for that matter).
Nested virtualization exposes hardware virtualization support to guest virtual machines. This allows you to install Hyper-V in a guest virtual machine, and create more virtual machines “within” that underlying virtual machine.
Basically, you can have a host machine running a virtual machine, which in turn is running its own guest virtual machine.
How to enable nested virtualization:
Step 1: Create a VM
Step 2: Run the enablement script
Given the configuration requirements (e.g. dynamic memory must be off), we’ve tried to make things easier by providing a PowerShell script.
This script will check your configuration, change anything which is incorrect (with permission), and enable nested virtualization for a VM. Note that the VM must be off.
Invoke-WebRequest https://raw.githubusercontent.com/Microsoft/Virtualization-Documentation/master/hyperv-tools/Nested/Enable-NestedVm.ps1 -OutFile ~/Enable-NestedVm.ps1
~/Enable-NestedVm.ps1 -VmName <VmName>
Step 3: Install Hyper-V in the guest
From here, you can install Hyper-V in the guest VM.
Step 4: Enable networking (optional)
Once nested virtualization is enabled in a VM, MAC spoofing must be enabled for networking to work in its guests. Run the following PowerShell (as administrator) on the host machine:
Set-VMNetworkAdapter -VMName <VMName> -MacAddressSpoofing on
Step 5: Create nested VMs
Read more about it from the source link below.