Невозможно загрузить гостевую систему Windows 10 с помощью VirtualBox с включенным Hyper-V и установленным WSL2

Недавно я обновил свою версию Windows 10 до версии 2004. Я также обновил WSL до WSL2.

Я столкнулся с проблемой при попытке использовать виртуальную машину (хост Windows 10 / гость Windows 10) через VirtualBox 6.1.8. Каждый раз, когда я пытаюсь его загрузить, он становится очень медленным и не проходит через загрузочный экран загрузки.

Я думал, что последние версии VB исправили эту проблему (согласно этой документации от Microsoft).

Что я могу сделать, чтобы это исправить?


person tbmsilva    schedule 04.06.2020    source источник


Ответы (3)


Перейдите на WSL1, если хотите избавить себя от дней напрасных усилий.

Я обновился до WSL2 и немного попытался заставить VirtualBox работать с ним, но не нашел ничего полезного. Есть несколько руководств, которые предлагают отключить некоторые функции VirtualBox, которые заставляют его работать, но это сделает его даже медленнее, чем сейчас, что действительно противоречит цели.

https://github.com/MicrosoftDocs/WSL/issues/536

https://superuser.com/q/1531337

person Zaigham R.    schedule 20.06.2020
comment
К сожалению, проблема с документами MS была закрыта утверждением, что она работает. Я открыл новое дело: github.com/MicrosoftDocs/WSL/issues/798 - person Jeff Learman; 16.07.2020
comment
Если кого-то смущает понижение версии, следуйте этому github.com/MicrosoftDocs/WSL/ issues / 590 # issuecomment-602029634 - person techolic; 19.11.2020

Начиная с VirtualBox 6.0 была добавлена ​​поддержка Hyper-V, но она все еще экспериментальная, что объясняет плохую производительность (https://docs.oracle.com/en/virtualization/virtualbox/6.0/admin/hyperv-support.html).

Мне удалось решить эту проблему, отключив WSL2 в компонентах Windows. Если вы войдете в Control Panel > All Control Panel Items > Programs and Features > Windows Features, вы найдете список, в котором вы можете отключить или включить некоторые функции Windows.

Вероятно, Hyper-V уже отключен в функциях, и вы можете задаться вопросом, почему VirtualBox все еще не работает должным образом. Это потому, что WSL2 использует Hyper-V под капотом, даже если он не включен для вашего индивидуального использования.

Чтобы снова можно было использовать VirtualBox, вы должны также снять флажки с функций Virtual Machine Platform и Windows Subsystem for Linux и перезагрузить компьютер, чтобы эффект вступил в силу.

Очевидно, это отключит ваш компьютер от использования WSL2, но в любой момент вы можете повторно активировать эти функции, чтобы снова работать с WSL2. Если вас не заставляют использовать VirtualBox и WSL2 одновременно, это работает как шарм.

person Shorxy    schedule 03.08.2020
comment
Спасибо. Я должен был догадаться. Потому что после установки WSL2 мой Docker начал работать без активации Hyper-V. - person Yevgeniy Afanasyev; 07.12.2020

Вы должны активировать платформу гипервизора Windows.

Для этого найдите ресурсы Windows в меню «Пуск». Откройте Активировать / Деактивировать ресурсы Windows в результатах поиска.

Выберите в списке вариант «Платформа гипервизора Windows» и нажмите «ОК». Это API, предоставляемый Microsoft для обеспечения совместимости сторонних поставщиков виртуализации с Hyper-V, который используется WSL2.

Это потому, что на хост-машине может работать только один гипервизор одновременно. Таким образом, гипервизор Microsoft Hyper-V, используемый WSL2, не позволяет VirtualBox использовать расширения виртуализации процессора.

См. FAQ ниже:

https://docs.microsoft.com/en-us/windows/wsl/wsl2-faq#will-i-be-able-to-run-wsl-2-and-other-3rd-party-virtualization-tools-such-as-vmware-or-virtualbox

person Marcelino    schedule 19.07.2020
comment
Он у меня уже включен. Я пробовал изменить интерфейс паравиртуализации ускорения на все варианты, но никаких улучшений не было. Включение / отключение ускорения вложенного пейджинга тоже, похоже, не имело никакого значения. Я не знаю, почему это так медленно. - person tbmsilva; 20.07.2020