В одной из тестовых задач понадобилось установить компонент виртуализации Hyper-V на виртуальной машине с ОС Windows 10 (применимо и к Windows Server 2016), запущенной на гипервизоре VMWare ESXi. Т.е. нужно организовать вложенную виртуализацию Hyper-V на VMWare ESXi.
Сначала пару слов в вложенной виртуализации. Вложенная виртуализация ( Nested Virtualization ) – возможность запускать гипервизор внутри виртуальной машины на другом гипервизоре. В Hyper-V полноценная поддержка вложенной виртуализации появилась Windows Server 2016 / Windows 10 Anniversary Update, в VMWare технология вложенной виртуализации работает уже давно (появилась еще в ESXi 5.0).
Имеем: хост виртуализации VMWare ESXi 6.0, на нем запущена виртуальная машина с Windows 10 1709.
При попытке установить роль гипервизор Hyper-V (компонент называется Низкоуровневая оболочка Hyper-V ) с помощью функции включения/ отключения компонентов в классической панели управления Windows 10, данная опция оказалась недоступна. В качестве причины указывается:
Невозможно установить Hyper-V: у процессора отсутствуют необходимые возможности виртуализации
Hyper-V cannot be installed: The processor does not have the required virtualization capabilities
Чтобы включить вложенную виртуализацию для данной ВМ, откройте настройки виртуальной машины с помощью веб клиента vSphere (ВМ должна быть выключена). В разделе CPU включите опцию « Expose hardware assisted virtualization to the guest OS » (эта опция не доступна в “тяжелом” C# клиенте vCenter)
hypervisor.cpuid.v0 = “FALSE”
mce.enable = “TRUE”
vhv.enable= "TRUE"
В клиенте vSphere данные опции можно добавить в настройках ВМ. Вкладка Options -> General -> Configure parameters . Добавьте две новые строки с данными параметрами (кнопка Add Row ).
Включаем виртуальную машину с Windows 10 и еще раз пытаемся установить роль Hyper-V. Система теперь перестала определять, что она работает внутри другого гипервизора, но теперь появилась другая ошибка:
Не удается установить Hyper-V: у процессора отсутствуют возможности преобразования адресов второго уровня (SLAT)
Hyper-V cannot be installed: the processor dose not support second level address translation (SLAT).
Т.е. процессор виртуальной машины помимо поддержки виртуализации должен поддерживать технологию SLAT — возможность виртуализации страниц памяти и передачи их под прямой контроль гостевой ОС. В терминологии Intel эта фича называется Еxtended Page Tables ( EPT ), у AMD — Rapid Virtualization Indexing ( RVI ).
Проверим поддержку SLAT процессором с помощью команды:
systeminfo
Команда в разделе «Требования Hyper-V» должна вернуть, что отсутствует поддержка SLAT.
Second Level Address Translation: No
Преобразование адресов второго уровня: Нет
В этом случае нужно изменить параметры процессора виртуальной машины. В веб клиенте в секции CPU/MMU Virtualization нужно выбрать Hardware CPU and MMU .
В «классическом» клиенте аналогичная опция находится на вкладке Options в секции CPU/MMU Virtualization и называется ” Use Intel VT-x/AMD-V for instruction set virtualization and Inet EPT/AMD RVI for MMU virtualization ”.
Запустите виртуальную машину Windows 10 и убедитесь, что ее процессор теперь поддерживает SLAT. Теперь можно установить все компоненты роли Hyper-V и запускать внутри виртуалки Win10 собственные виртуальные машины.
Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…
В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…
Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…
Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…
Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…
В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…