Компьютер Windows должен поддерживать технологию виртуализации, чтобы запускать гостевые операционные системы (виртуальные машины), подсистему Windows для Linux (WSL) и подсистему Windows для Android (WSA).
Если ваш компьютер поддерживает виртуализацию, то ее можно включить в настройках UEFI/BIOS. Однако в случае виртуальной машины (ВМ) вы не можете получить доступ к ее настройкам BIOS. Однако может потребоваться запустить виртуальную машину, приложение Android или дистрибутив Linux внутри виртуальной машины. Так что же делать?
В таком случае вы должны включить вложенная виртуализация в гостевой операционной системе. Это наша тема на сегодня, и в этом посте вы найдете пошаговое руководство о том, как включить вложенную виртуализацию на виртуальных машинах, настроенных на Microsoft Hyper-V, Oracle VirtualBox и VMware Workstation на компьютере с Windows.
Примечание: Включение вложенной виртуализации для VMWare Workstation и Oracle VirtualBox в операционных системах, отличных от Windows, отличается. В этом посте мы обсудили, как включить его, только если на вашем хост-компьютере установлена операционная система Windows.
Что такое вложенная виртуализация
Вложенная виртуализация, часто называемая «вложенной ВТ-х», запускает виртуализированную среду внутри устройства, которое уже виртуализировано. Другими словами, запуск виртуальной машины внутри другой виртуальной машины.
При включении вложенной среды виртуализации вы вкладываете гипервизор. Гипервизор — это программное обеспечение, которое запускает и управляет виртуальными машинами поверх главного компьютера.
Гипервизор, на котором работает основная виртуальная машина, считается гипервизором «уровня 0 (L0)». Гипервизор, работающий внутри виртуальной машины, называется гипервизором «уровня 1 (L1)». Дальнейшая вложенная виртуализация приведет к гипервизору уровня 2 (L2) и так далее.
В этот момент большинство пользователей задумываются: «Сколько вложенных сред виртуализации вы можете запускать одновременно?» На данный момент нет однозначного ответа на этот вопрос. Однако все зависит от ресурсов вашей системы. Если у вас есть ЦП и ОЗУ, а также хранилище для них, вы можете запускать столько вложенных гипервизоров, сколько захотите.
Предпосылки для вложенной виртуализации
Чтобы включить вложенную виртуализацию, гипервизор должен ее поддерживать. Hyper-V впервые поддерживал вложенную виртуализацию в Windows 10/Windows Server 2016. До этого эта технология не была доступна в гипервизоре Hyper-V.
Если вы используете Oracle VirtualBox, версии 6.1 и выше поддерживают вложенную виртуализацию.
Кроме того, для запуска вложенной виртуализации ваш процессор должен быть процессором Intel с технологией VT-x и EPT или процессором AMD EPYC или Ryzen. Вы можете проверить эту информацию, проверив веб-сайт OEM или проверив совместимость аппаратной виртуализации из командной строки.
Как только будет подтверждено, что ваше аппаратное и программное обеспечение совместимы, давайте перейдем к включению вложенной виртуализации.
Как включить вложенную виртуализацию (VT-x) в Hyper-V
Узнайте, как создать виртуальную машину Windows 11 на Hyper-V, VirtualBox и рабочей станции.
Если вы попытаетесь установить и запустить виртуальную машину Hyper-V внутри виртуальной машины, вы столкнетесь с ошибкой, подобной той, что показана на этом изображении:
ВМ работала без вложенной виртуализации
Чтобы включить вложенный VT-x на виртуальной машине Hyper-V (или любом другом поддерживаемом гипервизоре), виртуальная машина должна быть уже создана и должен быть выключен перед выполнением следующих шагов.
Гипервизор Hyper-V не дает возможности включить вложенную виртуализацию на виртуальной машине через меню настроек. Поэтому это необходимо сделать с помощью интерфейса командной строки (CLI).
- Убедитесь, что виртуальная машина выключена/выключена, и запишите точное имя виртуальной машины.
- На главном компьютере откройте Windows PowerShell с повышенными привилегиями.
- Теперь запустите следующий командлет, чтобы включить вложенную виртуализацию на виртуальной машине при замене (ИмяВМ) с полным именем виртуальной машины.
Set-VMProcessor -VMName “(NameOfVM)” -ExposeVirtualizationExtensions $true
Включите вложенную виртуализацию на виртуальной машине Hyper V с помощью PowerShell.
- Теперь запустите следующий командлет, чтобы включить вложенную виртуализацию на виртуальной машине при замене (ИмяВМ) с полным именем виртуальной машины.
Вложенная виртуализация на этой конкретной виртуальной машине теперь будет включена. Теперь вы можете подтвердить это, запустив гостевую ОС поверх этой виртуальной машины.
ВМ внутри ВМ — вложенная виртуализация включена
Если вы хотите отключить вложенную виртуализацию, используйте этот командлет в PowerShell, когда виртуальная машина отключена:
Set-VMProcessor -VMName “(NameOfVM)” -ExposeVirtualizationExtensions $false
Как включить вложенную виртуализацию (VT-x) на VMWare WorkStation
Как и в случае с Hyper-V, виртуальная машина WorkStation должна быть уже создана и отключена, чтобы включить вложенную виртуализацию. Затем выполните следующие действия, чтобы включить вложенный VT-x:
- В VMWare WorkStation откройте настройки виртуальной машины.
Откройте настройки ВМ
- В VMWare WorkStation откройте настройки виртуальной машины.
- Под Аппаратное обеспечение вкладка, выберите Процессорыа затем установите флажок рядом с «Виртуализация Intel VT-x/EPT или AMD-V/RVI“, а затем щелкните Хорошо.
Включить вложенную виртуализацию на VMWare Workstation VM
- Под Аппаратное обеспечение вкладка, выберите Процессорыа затем установите флажок рядом с «Виртуализация Intel VT-x/EPT или AMD-V/RVI“, а затем щелкните Хорошо.
Вложенная виртуализация теперь будет включена на виртуальной машине. Теперь вы можете запустить другую гостевую ОС поверх этой виртуальной машины.
Чтобы отключить вложенный VT-x на ВМ, просто выключите ВМ, вернитесь к Процессор странице настроек и снимите флажок.
Как включить вложенную виртуализацию (VT-x) в Oracle VirtualBox
Согласно Oracle, VirtualBox теперь поддерживает вложенную виртуализацию для поддерживаемых процессоров Intel и AMD. Мы также нашли возможность включить его на странице настроек виртуальных машин VirtualBox. Однако опция была заблокирована.
Опция вложенной виртуализации отключена/выделена серым цветом в VirtualBox
Проведя исследование, мы узнали, что многие люди сталкивались с этой опцией, потому что, по-видимому, VirtualBox еще не включил ее для процессоров Intel (мы не знаем, почему).
Однако для этого есть обходной путь, и вы также можете включить вложенную виртуализацию на виртуальных машинах, созданных в VirtualBox. Вот как:
- Используя проводник, перейдите к пути, по которому установлен VirtualBox. По умолчанию он имеет следующий путь:
C:Program FilesOracleVirtualBox
- Используя проводник, перейдите к пути, по которому установлен VirtualBox. По умолчанию он имеет следующий путь:
- Скопируйте этот путь и откройте командную строку с повышенными привилегиями. Используйте команду «cd», чтобы изменить каталог на Виртуальный бокс папка. Используйте скопированный путь из Проводника.
cd /d (путь к папке VirtualBox)
Изменить каталог 2
- Скопируйте этот путь и откройте командную строку с повышенными привилегиями. Используйте команду «cd», чтобы изменить каталог на Виртуальный бокс папка. Используйте скопированный путь из Проводника.
- Теперь запустите следующий командлет, заменив (NameOfVM) именем виртуальной машины, на которой вы хотите включить вложенную виртуализацию.
VBoxManagemodifyvm –nested-hw-virt на
Включить вложенную виртуализацию на VirtualBox VM
- Теперь запустите следующий командлет, заменив (NameOfVM) именем виртуальной машины, на которой вы хотите включить вложенную виртуализацию.
Вложенный VT-x теперь будет включен на выбранной виртуальной машине. Вы можете подтвердить это, снова открыв настройки виртуальной машины, нажав Система, а затем нажав на Процессор вкладку, где теперь вы сможете установить и снять флажок рядом с «Включить вложенный VT-x/AMD-V», чтобы включить или отключить вложенную виртуализацию.
Убедитесь, что вложенная виртуализация на виртуальной машине VirtualBox включена.
Обратите внимание, что, как и Hyper-V, этот командлет нужно будет запускать для каждой отдельной виртуальной машины, на которой вы хотите включить вложенный VT-x.
После запуска командлета в описанных выше шагах вложенная виртуализация включена по умолчанию. Если вы хотите отключить его, просто снимите флажок «Включить Nest VT-x/AMD-V» на Процессор страница настроек.
Окончательный анализ
Виртуальные машины можно использовать для разных целей, таких как выполнение изолированных тестов, запуск специальных служб и задач и т. д. Однако, если вы хотите выполнять тесты, связанные с виртуализацией, мы предлагаем вам выполнять их на виртуальной машине внутри другой виртуальной машины. Таким образом, вы не будете подвергать родительский хост-компьютер опасности.
Вложенная виртуализация — еще один отличный способ использовать ограниченные ресурсы, добиваясь большего. Вы можете использовать одну и ту же виртуальную машину на физическом компьютере или в облаке, создать на ней несколько виртуальных машин, а затем раздать эти виртуальные машины своим ученикам/подчиненным; все это при использовании только одной виртуальной машины уровня 1.