Hyper-V è l’ipervisore incorporato che arriva gratuitamente in Windows e Windows Server. È utilizzato per eseguire macchine virtuali (VM) su Windows. La virtualizzazione è utilizzata anche per altre funzionalità, come la Sicurezza basata sulla virtualizzazione (VBS), Windows Sandbox e Windows Defender Application Guard (WDAG). A volte gli sviluppatori utilizzano la virtualizzazione con Visual Studio per eseguire emulatori di dispositivi.
Microsoft ha introdotto il supporto per la virtualizzazione nidificata in Windows Server 2016. La virtualizzazione nidificata consente di attivare Hyper-V all’interno di una VM guest in esecuzione su un host Hyper-V. Quindi, puoi pensarci come una VM in esecuzione all’interno di un’altra VM.
Ci sono alcuni requisiti preliminari che è necessario soddisfare prima di poter utilizzare la virtualizzazione nidificata. La configurazione della VM deve essere versione 8.0 o superiore. E la virtualizzazione nidificata è supportata solo su CPU Intel con virtualizzazione (VT-x) e tavole estese per le pagine (EPT).
Virtualizzazione nidificata su CPU AMD
La virtualizzazione nidificata è disponibile su Windows 10 build 19636 e versioni successive. Per quanto ne so, il supporto AMD sarà ufficialmente disponibile come parte di Windows 11 e Windows Server 2022. Entrambi i prodotti sono previsti per la seconda metà del 2021.
Crea una macchina virtuale
La virtualizzazione nidificata non è abilitata per impostazione predefinita. Ed è abilitata per singola VM. Il primo passo è creare almeno una VM sul tuo host Hyper-V, che sia Windows 10 o Windows Server. Se non hai mai configurato una macchina virtuale in Windows prima, puoi consultare le guide di seguito su Petri.
Guida: Come Installare Windows 10 in una Macchina Virtuale
Guida: Come Installare Windows Server 2019 in una Macchina Virtuale
Non è necessario installare un sistema operativo nella tua VM per abilitare la virtualizzazione nidificata.
Abilitare la virtualizzazione nidificata
Una volta che hai impostato una VM ospite sul tuo host Hyper-V, è importante assicurarsi che la VM sia nello stato “Arrestato” prima di abilitare la virtualizzazione nidificata. Puoi arrestare le VM usando Hyper-V Manager o il cmdlet Stop-VM di PowerShell. Apri PowerShell o Windows Terminal ed esegui il comando di seguito, sostituendo Windows 11 con il nome della tua VM.
Stop-VM -Name 'Windows 11'
Se non sei sicuro del nome della VM in cui desideri abilitare la virtualizzazione nidificata, puoi ottenere un elenco delle VM sull’host usando Get-VM. Get-VM fornisce anche il numero di versione di ciascuna VM.
Get-VM
Se desideri aggiornare il numero di versione della VM in modo che possa supportare la virtualizzazione nidificata, esegui Update-VMVersion come indicato di seguito, sostituendo nuovamente Windows 11 con il nome della tua VM.
Update-VMVersion -Name 'Windows 11'
Ora che lo stato della tua VM è impostato su ‘Spento’, puoi abilitare la virtualizzazione nidificata. L’unico modo per abilitarlo è usando PowerShell. In una finestra terminale di PowerShell, esegui il comando seguente, sostituendo Windows 11 con il nome della tua VM.
Set-VMProcessor -VMName 'Windows 11' -ExposeVirtualizationExtensions $True
Ora non ti resta che avviare la VM, che puoi fare sia utilizzando Hyper-V Manager sia usando PowerShell come mostrato di seguito:
Start-VM -Name 'Windows 11'
Quando la VM è stata avviata, accedi a Windows e sarai in grado di installare la funzionalità Hyper-V o il ruolo del server, e qualsiasi altra funzionalità che dipende da essa.
Source:
https://petri.com/how-to-enable-nested-virtualization-in-hyper-v/