Как включить вложенную виртуализацию в Hyper V


29 августа 2019


Включение в Hyper V вложенной виртуализации

Вложенная виртуализация в Hyper V или Nested Virtualization доступна с редакций Windows Server 2016 и Windows 10. Грубо говоря это возможность виртуализировать Hyper V внутри Hyper V. Для настройки этой возможности нужно будет выполнить несколько команд Powershell. Кроме этого процессор должен быть Intel.

Установка ESXI на Hyper V, что тоже относится к вложенной виртуализации, у меня получалось, но ошибками и в конце концов я стал запускать Hyper V и ESXI поверх VMWare Workstation. Работать вместе Hyper V и VMWare Workstation тоже не могут. Опыт включения вложенной виртуализации для других платформ у меня отсутствует.

Первое с чем мы столкнемся при попытке включения или установки роли Hyper V во вложенном варианте это отсутствие возможности поставить галочку в GUI. Можно будет установить только консоль для управления. Эту ситуацию можно обойти установив Hyper V через Powershell, но и там мы встретим ошибку:

  • Не удалось запустить виртуальную машину так как не работает один из компонентов Hyper-V
  • Hyper-V cannot be installed: the processor does not have required virtualization capabilities

Ошибка Hyper V

Первое что нужно сделать это выключить виртуальную машину. Я предпочитаю делать это через Powershell:

Stop-VM -Name 'Win10'
# или
Stop-Computer -ComputerName 'Win10'

Далее нам нужно включить расширение Hyper-V:

Set-VMProcessor -VMName 'Win10' -ExposeVirtualizationExtensions $true

Если у вас появится какая-то ошибка это может значить, что виртуальная машина была импортирована и имеет старую версию. В этом случае можно обновить виртуальную машину Hyper-V:

Update-VMVersion -Name 'Win10'

Для нормальной работы сети нам нужно включить MAC spoofing:

Get-VMNetworkAdapter -VMName 'Win10' | Set-VMNetworkAdapter -MacAddressSpoofing On

Либо через интерфейс:

MAC spoofing Powershell

Остальные ограничения связанные с Nested Virtualization, которые не получиться использовать:

  • Динамическая память
  • Изменение памяти работающей VM

Были проблемы с сетевыми адаптерами. При попытках настроить Docker на VM никак не работала сеть и в таких случаях помогала переустановка драйвера на сетевом адаптере основной ОС. Это происходило на Windows 10.

...

Теги: #hyper-v


Популярные тэги
О блоге
Этот блог представляет собой конспекты выученного материала, преобретенного опыта и лучшие практики в системном администрировании и программировании.