Как включить виртуализацию в virtualbox
Программное обеспечение в виртуальной машине выполняется непосредственно на процессоре главного компьютера, в то же время VirtualBox использует набор сложных методик, чтобы не допустить операций, которые вмешались бы в работу хоста.
Всякий раз, когда гость пытается сделать то, что может быть опасным для вашего компьютера и его данных, VirtualBox принимает меры. Для большого количества аппаратных средств, которые использует гость, VirtualBox моделирует определенную «виртуальную» среду, согласно конфигурации виртуальной машины. Например, если гость пытается обратиться к жесткому диску, VirtualBox переадресовывает эти запросы к объекту который вы сконфигурировали как виртуальный жесткий диск — обычно это файл образа диска на вашем хосте.
Существует два способа, которыми VirtualBox реализует «виртуализацию»: полностью программный способ или аппаратный используя специальные аппаратные возможности современных процессоров.
Новые процессоры Intel and AMD имеют поддержку так называемой «аппаратной виртуализации» . Она помогает программному обеспечению виртуализации, такому как VirtualBox, в прерывании потенциально опасных операций , которых операционная система гостя может пытаться выполнить.
Реализация этих функций различны в Intel и AMD. Intel назвала свою технологии VT-x , а AMD как AMD-V .
Примечание
На большинстве систем, сначало необходимо включить поддержку аппаратной виртуализацию в BIOS чтобы VirtualBox смог ее использовать
В отличии от других систем виртуализации, VirtualBox не требует, чтобы система хосте поддерживала аппаратную виртуализацию . VirtualBox поддерживает много гостевых операционных систем полностью в программном режиме виртуализации. Это означает, что Вы можете запускать виртуальные машины даже на менее современных процессорах, которые не поддерживают аппаратные средства виртуализации.
Вы можете указать для каждой виртуальной машины индивидуально, должен ли VirtualBox использовать программный или аппаратный способ виртуализации. До версии 2.2 программная виртуализация была значением по умолчанию; начинаясь с версии 2.2, VirtualBox устанавливает аппаратную виртуализацию по умолчанию для новых виртуальных машин, которых вы создаете. (Для уже существующих виртуальных машин смена режима автоматически не происходит, по причинам совместимости, и установленное значение по умолчанию может быть изменено для каждой виртуальной машины.)
Включение апаратной вертуализации необходимо только в двух случаях:
для некоторых редких гостевых ОС, например OS/2 , которые используют специфические команды процессора и которые не реализованы в VirtualBox
если вы хотите работать с 64 битовыми гостевыми ОС (начиная с VirtualBox версии 2.0), большинство 64 битных CPU поддерживают аппаратную виртуализацию — исключая старшие линейки процессоров Intel Celeron и AMD Opteron .
Установка аппаратной виртуализации по умолчанию, вызвана тем что, технологии виртуализации Intel, ADM и VirtualBox значительно улучшились, и аппаратная виртуализация в большинстве случаях производительнее программной.
Предупреждение
Не работайте одновременно с другими гипервизорами (программами исполнения виртуальных машин) (open-source or commercial virtualization products) с VirtualBox! Несколько гипервизоров могут обычно устанавливаться параллельно на одной системе, но не пытайтесь выполнить несколько виртуальных машин на различных гипервизоров в одно и то же время. VirtualBox не может проследить за тем, что другой гипервизор пытается сделать на том же самой системе, и особенно если они одновременно пытаются использовать возможности аппаратной виртуализации, такие как VT-X, что может превести к краху всей системы.
Кроме «базовой» аппаратной виртуализации, ваш процессор может поддерживать дополнительные технологии: [1]
Наиболее новая технология «nested paging» позволяет управлять памятью хоста, что позволяет усилить производительность , т.к. не требуется программное управление памятью.
На AMD процессорах, nested paging стала доступна начиная с архитектуры Barcelona (K10) ; Intel добавила поддержку nested paging, которую она назвала «extended page tables» (EPT), в свих процессорах Core i7 (Nehalem).
Технология Nested paging не устанавливается по умолчанию, но она может быть установлена отдельно для каждой ВМ.
Если ваш компьютер поддерживает nested paging (AMD-V) or EPT (VT-x), то вы можете получить значительный прирост производительности используя эту технологию.
Другая аппаратная возможность называется «Virtual Processor Identifiers» (VPIDs) позволяет значительно ускорить переключение контекста Translation Lookaside Buffers (TLBs) процессора, уменьшая количество операции записей на диск . Чтобы использовать эту возможность вы должны использовать командную строку; см Section 8.5, “VBoxManage modifyvm”.
[1] Поддержка AMD nested paging добавлена в VirtualBox 2.0 ; поддержка Intel EPT и VPIDs добавлена в версии 2.1.
Как включить вложенную виртуализацию Nested VT-x/AMD-v в VirtualBox
Вложенная виртуализация – это функция, которая позволяет запускать виртуальные машины внутри виртуальных машин. Например, допустим, есть необходимость в запуске виртуальной машины с операционной системой CentOS с использованием Oracle VirtualBox в вашей виртуальной системе Ubuntu Linux. Если в Ubuntu включена функция вложенной виртуализации – Nested VT-x/AMD-v, вы можете установить Virtualbox или KVM на виртуальной машине CentOS и запустить другие виртуальные машины внутри нее. Таким образом, в основном это метод запуска среды виртуализации в другой среде виртуализации.
Начиная с версии 6.1, Oracle VM VirtualBox поддерживает функцию вложенной виртуализации на хост-системах с процессорами AMD и Intel. Поэтому убедитесь, что у вас установлена последняя версия Virtualbox.
Для процессоров Intel вложенная виртуализация недоступна из графического интерфейса программы, но ее можно включить с помощью командной строки.
Как включить вложенную виртуализацию Nested VT-x VirtualBox в системах в Microsoft Windows
Вложенная виртуализация включается отдельно для каждой виртуальной системы.
Открываем Командую строку (cmd.exe) от имени Администратора и выполняем следующие команды.
Переходим в директорию установленной программы в Program Files:
Выводим список виртуальных систем с помощью команды:
Выбрав точное название виртуальной системы, подключаем вложенную виртуализацию:

В данном случае вложенная виртуализация была подключена для виртуальной системы Ubuntu 20.04.
Проверим включение вложенной виртуализации в графическом интерфейсе VirtualBox. Откройте VirtualBox, выберите виртуальную машину и перейдите в меню Настроить > Система > Процессор.

Отныне эта виртуальная машина будет действовать как гипервизор, так что вы можете запускать виртуальные машины внутри нее.
Как включить вложенную виртуализацию Nested VT-x/AMD-v в VirtualBox в системах GNU/Linux
Открываем Терминал и выполняем следующие команды.
Для отображения списка виртуальных систем:
Для включения вложенной виртуализации:
Теперь в виртуальной системе вы можете установить VirtualBox и в нем установить еще одну виртуальную машину.
VirtualBox: как запустить виртуальную машину внутри другой виртуальной машины (вложенная виртуализация)
Функция вложенной виртуализации – Nested VT-x/AMD-v позволяет запускать виртуальные машины внутри других виртуальных машин. То есть используя вложенную виртуализацию можно установить тот же Virtualbox на уже имеющуюся виртуальную машину и запускать другие виртуальные машины уже внутри неё.

Начиная с версии 6.1, VirtualBox поддерживает функцию вложенной виртуализации на хост-системах с процессорами AMD и Intel (убедитесь, что у вас установлена последняя версия Virtualbox).
Для процессоров Intel вложенная виртуализация недоступна из графического интерфейса программы (опция «Включить Nested VT-x/AMD-v» недоступна в настройках Virtualbox), но её можно включить посредством командной строки. Далее и рассмотрим как это сделать.

Как включить вложенную виртуализацию Nested VT-x с помощью командной строки
- Запускаем командную строку от имени администратора;
- Далее необходимо перейти в папку, где установлен VirtualBox (по умолчанию это директория Program Files\Oracle\VirtualBox) – поэтому в командной строке вводим: cd C:\Program Files\Oracle\VirtualBox

- Затем выводим список всех имеющихся виртуальных систем, используя следующую команду: VBoxManage.exe list vms

- Активируем функцию вложенной виртуализации командой: VBoxManage.exe modifyvm “название виртуальной системы” –nested-hw-virt on

В нашем примере вложенная виртуализация была подключена для виртуальной Windows 10.
Теперь, если мы перейдём в настройки VirtualBox (Настроить → Система → Процессор), то увидим, что опция «Включить Nested VT-x/AMD-v» теперь активна,

а значит и вложенная виртуализация теперь работает и следовательно данная виртуальная машина будет действовать как гипервизор, что позволит запускать другие виртуальные машины внутри неё.