Monthly Archives: Leden 2017

Hyper-V uvnitř Hyper-V, aneb nested virtualization

Windows 10 Anniversary Update a Windows Server 2016 podporují v Hyper-V tzv. „nested virtualization“, tedy virtualizaci uvnitř jiné virtualizace. Donedávna to bylo pro Hyper-V nemožné a bránilo to například provozování mobilních emulátorů ve virtuálních strojích.

Dnes je ale situace jiná, nested virtualizaci je možné aktivovat pomocí PowerShellu.

  1. Ujistěte se, že máte aktivované Hyper-V a k němu Hyper-V Module for Windows PowerShell.
    1. Dá se nainstalovat přes Programs and Features > Turn Windows features on or off > Hyper-V > Hyper-V Management Tools (mám Windows v angličtině).
  2. Vytvořte v Hyper-V virtuální stroj, jako obyčejně.
    1. Ale musí běžet na Windows 10 Anniversary nebo Windows Server 2016
  3. Spusťte PowerShell na hostitelském počítači (na tom, z něhož budete virtuální stroj spouštět).
  4. Vypište si cvičně seznam virtuálek:
    Get-VM

  5. A aktivujte virtualizaci:
    Set-VMProcessor -VMName <nazev> -ExposeVirtualizationExtensions $true

A to je vše. Nyní stačí jen virtuální stroj spustit a také do něj doinstalovat Hyper-V.

Poznámky

Vypnout nested virtualization:

Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $false

Aktivovat MAC Address Spoofing:

Get-VMNetworkAdapter -VMName <VMName> | Set-VMNetworkAdapter -MacAddressSpoofing On