Сегодня я решил перейти с WSL 1 на WSL 2. На WSL 1 у меня не было проблем заставить Kali или Ubuntu работать на WSL 1. При обновлении до WSL 2 и Kali, и Ubuntu не смогли обновить до версии 2. Я читал, что их удаление и повторная установка могут решить эту проблему. Однако после переустановки обоих. из них моя система теперь не может обнаружить какой-либо установленный дистрибутив, несмотря на то, что дистрибутив установлен.При запуске Kali или Ubuntu возникает одна и та же ошибка: Ошибка 0x80370102 Снимок экрана
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80370102
Error: 0x80370102 The virtual machine could not be started because a required feature is not installed.
При исследовании этой ошибки и при чтении официального руководства по установке WSL 2 от Microsoft ошибка всегда похоже, потому что в системе не включена виртуализация в BIOS. Это действительно сбивает с толку, поскольку я проверил более 4 раз, пропустил ли я какие-либо настройки виртуализации в моем BIOS, и убедился, что все они включены. Я также подтвердил, что у меня также включена функция NX. Даже HWiNFO обнаруживает, что у меня включена виртуализация: Снимок экрана с результатами HWiNFO
Я также убедился, что Платформа виртуальных машин , Подсистема Windows для Linux и все функции платформы гипервизора Windows включены. Не только это, но я также могу создавать и запускать любое количество виртуальных машин из VirtualBox без каких-либо ошибок или проблем.
Другие шаги по устранению неполадок, которые я предпринял, - это сброс службы WSL, перезагрузка моей машины (несколько раз), обновление ядра WSL, проверка моей версии Win 19041 или более поздней, а также ожидание 20 минут после загрузки, чтобы проверить, был ли я просто нетерпеливый.
Вот некоторая информация о моей системе:
вам необходимо включить виртуализацию в BIOS. Другого пути нет. Я потратил на это 2 часа с советником по MS. Мы все сделали и закончили безуспешно. Позже я где-то видел этот совет по настройке BIOS. Оно работает! Виртуализация там отключена. После включения Ubuntu работает.
Ой! Я нашел это. В «добавлении / удалении функций» у вас есть Hyper-V и кое-что еще о виртуализации. Этого не было. У меня есть только французский перевод этой функции. так что предоставление его вам, вероятно, не поможет. Посмотрите весь список и проверьте еще раз. На самом деле Hyper-V не требуется. Debian запущен и работает.
У меня это сработало после того, как я отключил «Платформу виртуальной машины» и перезапустил Windows. Затем я снова включил его и снова перезагрузил Windows.
Это из примечаний к выпуску за май 2020 г.:
Нам известно о проблеме, из-за которой при использовании DISM (образ развертывания Обслуживание и управление) инструмент для устранения повреждений в работающих системах. обновление за май 2020 г. не всегда сообщает правильный статус. Этот будет исправлено в ближайшем сервисном выпуске.
Похоже, что Dism никогда не знает, когда функция действительно включена, поэтому вам нужно попробовать несколько раз, пока она не заработает.
Я нашел решение на GitHub и некоторые цитаты взяты оттуда https://github.com/microsoft/WSL/issues/4120 просто мне было сложно найти решение и поэтому я пишу вот сюда.
Я исправил эту проблему, запустив приведенный ниже код и перезагрузив систему.
bcdedit /set hypervisorlaunchtype auto
ПЕРВОЕ вам нужно убедиться, что вы включили виртуализацию процессора в BIOS. Эти инструкции будут зависеть от вашего оборудования.
Для процессоров AMD вам понадобится функция под названием: "AMD (AMD Secure Virtual Machine, AMD SVM)"
Для процессоров Intel вам понадобится функция под названием: "Intel (технология виртуализации Intel, Intel VT-x)"
Вот инструкции по настройке SVM на моем компьютере. Примечание: это для материнской платы MSI.
Перейти к дополнительным настройкам.
Перейдите в раздел разгона.
Перейдите в раздел «Функции ЦП»
Переключите функцию ЦП «Режим SVM», которая включает виртуализацию ЦП.
ВТОРОЕ вам нужно будет включить функцию Hyper-V Windows.
Вот мои инструкции (Обратите внимание, что вы можете найти это в Duckduckgo/Google отдельно):
Найдите "Функции Windows" на панели задач.
Затем найдите "Hyper-V". Затем включите его.
К этому моменту вы должны закончить и больше не получать эту ошибку.
У меня была такая же ошибка и с включенной виртуализацией. После снятия флажка «Подсистема Windows для Linux», «Платформа гипервизора Windows» и «Платформа виртуальной машины», перезагрузки компьютера и повторного включения их ошибка исчезла, и я смог установить WSL 2.