Если вы используете виртуальные машины VirtualBox (даже если вы об этом не знаете: многие эмуляторы Android также основаны на ней) и устанавливаете виртуальную машину Hyper-V (встроенный компонент Windows 10 и 8 редакций), вы столкнетесь с тем, что виртуальные машины VirtualBox перестанут запускаться.
Текст ошибки будет гласить: "Не удалось открыть сеанс для виртуальной машины", и описание (пример для Intel) VT-x недоступен (VERR_VMX_NO_VMX) код ошибки E_FAIL (однако, если вы не установили Hyper-V, эта ошибка, скорее всего, вызвана тем, что виртуализация не включена в BIOS/UEFI).
Вы можете решить эту проблему, удалив компоненты Hyper-V в Windows (Панель управления — Программы и компоненты — Установка и удаление компонентов). Однако, если вам нужны виртуальные машины Hyper-V, это может быть неудобно. Этот учебник рассказывает о том, как использовать VirtualBox и Hyper-V на одном компьютере менее трудоемким способом.
Быстрое отключение и включение Hyper-V для запуска VirtualBox
Для того чтобы иметь возможность запускать виртуальные машины VirtualBox и эмуляторы Android на их основе при установленных компонентах Hyper-V, необходимо отключить запуск гипервизора Hyper-V.
Вы можете сделать это следующим образом:
- Запустите командную строку от имени администратора и введите следующую команду
- bcdedit /set hypervisorlaunchtype off
- После выполнения команды перезагрузите компьютер.
VirtualBox теперь запускается без ошибки "Не удалось открыть сессию для виртуальной машины" (но Hyper-V не запускается).
Чтобы вернуть все в исходное состояние, используйте команду bcdedit /set hypervisorlaunchtype auto после чего перезагрузите компьютер.
Вы можете изменить этот метод, добавив две записи в меню загрузки Windows: одну с включенным Hyper-V, а другую с отключенным Hyper-V. Путь примерно следующий (в командной строке от имени администратора):
-
bcdedit /copy {current} /d "Отключить Hyper-V"
- Это создаст новый пункт меню загрузки Windows, и GUID этого пункта также будет отображаться в командной строке.
- Введите команду
bcdedit /set {отобразившийся GUID} hypervisorlaunchtype off
В результате, после перезагрузки Windows 10 или 8 (8.1) в меню загрузки ОС появится два пункта: загрузившись в один из них, вы получите рабочие виртуальные машины Hyper-V, в другой — VirtualBox (иначе это будет одна и та же система).
Отдельно отмечу, что описанные в интернете методы с изменением типа запуска сервиса hvservice, в том числе и реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services в моих экспериментах не принесли желаемого результата.