Categories: Windows

Как запускать виртуальные машины VirtualBox и Hyper-V на одном компьютере

Если вы пользуетесь виртуальными машинами VirtualBox (даже если не знаете об этом: многие эмуляторы Android также имеют в своей основе именно эту ВМ) и установите виртуальную машину Hyper-V (встроенный компонент Windows 10 и 8 отдельных редакций), вы столкнетесь с тем, что виртуальные машины VirtualBox перестанут запускаться.

Текст ошибки будет сообщать: «Не удалось открыть сессию для виртуальной машины», и описанием (пример для Intel): VT-x is not available (VERR_VMX_NO_VMX) код ошибки E_FAIL (однако, если вы не устанавливали Hyper-V, вероятнее всего, эта ошибка вызвана тем, что виртуализация не включена в БИОС/UEFI).

Решить это можно, удалив компоненты Hyper-V в Windows (панель управления — программы и компоненты — установка и удаление компонентов). Однако, если виртуальные машины Hyper-V вам нужны, это может быть неудобно. В этой инструкции — о том, как использовать на одном компьютере VirtualBox и Hyper-V с меньшими затратами времени.

Быстрое отключение и включение Hyper-V для работы VirtualBox

Для того, чтобы иметь возможность запускать виртуальные машины VirtualBox и основанные на них эмуляторы Android при установленных компонентах Hyper-V, требуется выключить запуск гипервизора Hyper-V.

Сделать это можно таким способом:

  1. Запустите командную строку от имени администратора и введите следующую команду
  2. bcdedit /set hypervisorlaunchtype off
  3. После выполнения команды, перезагрузите компьютер.

Теперь VirtualBox будет запускаться без ошибки «Не удалось открыть сессию для виртуальной машины» (однако Hyper-V запускаться не будет).

Чтобы вернуть всё в исходное состояние, используйте команду bcdedit /set hypervisorlaunchtype auto с последующей перезагрузкой компьютера.

Этот способ можно модифицировать, добавив в меню загрузки Windows два пункта: один с включенным Hyper-V, другой — с отключенным. Путь примерно следующий (в командной строке от имени администратора):

  1. bcdedit /copy {current} /d "Отключить Hyper-V"
  2. Будет создана новый пункт меню загрузки Windows, также в командной строке отобразится GUID этого пункта.
  3. Введите команду
    bcdedit /set {отобразившийся GUID} hypervisorlaunchtype off

В результате, после перезагрузки Windows 10 или 8 (8.1) вы увидите два пункта меню загрузки ОС: загрузившись в один из них, получите рабочие ВМ Hyper-V, в другой — VirtualBox (в остальном это будет одна и та же система).

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

Отдельно отмечу, что описываемые в Интернете способы с изменением типа запуска службы hvservice, в том числе в реестре HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices в моих экспериментах нужного результата не принесли.

admin

Recent Posts

Настройка Mercurial по HTTPS

Иногда mercurial, при скачивании и комитах ругается на https. Особенно на самоподписанные сертификаты. Чтобы заработал…

2 недели ago

Компиляция libvirt в Ubuntu

Компиляция libvirt Подробнее

2 недели ago

Ошибка libvirt permission denied: решение

Если возникает ошибка libvirt destroy lxc permission denied , при попытке остановить контейнер: _x000D_# virsh…

2 недели ago

Настройка редиректа в NGINX

Файлы с примерами редиректа для nginx Подробнее

2 недели ago

Включение gzip в NGINX

Как включить gzip сжатие в Nginx ? Подробнее

2 недели ago

Удаление postinst-скрипта в Linux

Иногда возникает ситуация, когда криво настроенные пакеты не устанавливаются в системе. У меня это произошло…

2 недели ago