Поддержка вложенной виртуализации (Nested Virtualization) в Hyper-V
Буквально сразу после анонса Windows 10 Insider Preview Build 10565 команда виртуализации Microsoft в лице Тео Томпсона заявила о возможности использования вложенной виртуализации в этой версии сборки.
Напомню, что до этого наборы инструкций процессора, касающиеся аппаратной виртуализации Intel VT-x и AMD-V, маскировались гипервизором от виртуальных операционных систем, таким образом не разрешая запуск Hyper-V в гостевом разделе.
Теперь же наборы инструкций аппаратной виртуализации могут транслироваться виртуальному процессору, и в виртуальной машине может быть установлена роль Hyper-V с последующим развёртыванием в уже гостевом разделе ещё одной, теперь уже дважды вложенной виртуальной машины.
Безусловно, использование предварительных версий предполагает под собой использование таких возможностей исключительно в лабораторных целях и пока накладывает определённые ограничения и требования, как то:
- Использование в родительском и гостевых разделах Hyper-V сборок 105065 (и новее),
- Использование процессоров только Intel с функцией Inter-VT-x,
- Необходимость отключения Virtualization Based Security (VBS),
- Необходимость включения MAC spoofing,
- Отсутствие поддержки динамической памяти и динамического изменения памяти при запущенной операционной системе,
- Отсутствие поддержки динамической миграции виртуальных машин,
- Отсутствие поддержки моментальных снимков и состояний Save/Restore
Для включения вложенной виртуализации, после создания виртуальной машины, предполагаемой к использованию как виртуальный сервер Hyper-V, необходимо использовать скрипт PowerShell Enable-NestedVm.ps1