Ошибка 0x80370102 WslRegisterDistribution failed with error — что делать?
Ошибка с кодом 0x80370102 сопровождается сообщением «WslRegisterDistribution failed with error». Имеет привычку появляться при попытке установить дистрибутив Linux для доступа через подсистему Windows к Linux 2 (WSL2). Таким образом процедура развертывания саб-системы обрывается и сам смысл свежевыпущенной функции Windows испаряется. Инсталляция Linux Distro обрывается сообщением:
WslRegisterDistribution failed with error: 0x80370102
Error: 0x80370102 The virtual machines could not be started because a required feature is not installed.
Причины ошибки 0x80370102
Речь идет о совсем новой ошибке, ведь она начала появляться только с конца лета 2021 года с выпуском WSL2. Она начала появляться не только при попытке установить подсистему Linux, но и Debian. В силу новизны, у нее пока нет подробного технического разбора со стороны разработчиков, и мы полагаемся на пользователей и их отчеты. Они указывают на наличие следующих нескольких проблем:
- Используется сборка Windows Insider Preview. Многие пользователи инсайдерской версии Windows испытывают данную проблему и это нормально, ведь речь идет о незавершенной системе. Нужно ждать обновлений.
- Проблемы перехода с WSL 1 на WSL 2. Результат опять же недоработанного программного обеспечения.
- Выключена или отсутствует аппаратная виртуализация. Ее должен поддерживать процессор. Если такой функции в ЦП не предусмотрено, воспользоваться подсистемой Linux не получится. Может быть, что опция просто отключена и ее нужно включить.
- Выключен Hyper-V. Это важный компонент виртуальной среды, который участвует в запуске нескольких операционных систем на одной физической машине. Его нужно обязательно активировать.
Что делать при ошибке 0x80370102?
Все исправления вытекают из причин ошибки. Пока что мы можем только включить аппаратную виртуализацию и Hyper-V. Если ваша версия Windows (от 2004, май 2020 года) и оборудование позволяет использовать подсистему WSL2, она должна заработать после ручного включения обязательных компонентов.
1. Включить аппаратную виртуализацию в BIOS
Если попытаться запустить Ubuntu или другую разновидность Linux в VirtualBox без активации аппаратной виртуализации, Windows отобразит сразу ряд ошибок. Система начнет грешить на распределение регистров WSL, звук и другие сбои. Данная функция обязательно должна быть включена, иначе запустить виртуальную систему не получится. К сожалению, активируется опция в BIOS, поэтому придется сделать несколько лишних телодвижений.
Как исправить ошибку 0x80370102:
- Нажимаем на виртуальную кнопку в Пуске – «Перезагрузить».
- В момент включения компьютера должна быть подсказка снизу с тем, какую клавишу нужно нажать для активации BIOS. Обычно это Del, Esc, F2, но может отличаться. Если не удастся войти с первого раза, нужно будет снов перезагрузить ПК.
- Находим вкладку CPU config, Processor или Chipset.
- Ищем параметр Virtualization или Виртуализация.
- Нажимаем напротив него и выбираем опцию Enable. В зависимости от производителя он может называться Intel Virtualization Technology, AMD-V, Hyper-V, VT-X, Vanderpool, or SVM.
- Возвращаемся в начальное окно и жмем на вариант «Save & Exit».
2. Активировать аппаратную виртуализацию в PowerShell и настроить ОЗУ
Есть и другой вид виртуализации, так называемая вложенная, позволяющая запускать Hyper-V в виртуальной машине. Она нужна для запуска эмулятора телефона Visual Studio внутри виртуальной машины или тестировать конфигурации оборудования с использованием нескольких хостов. Части пользователей удалось исправить свою ошибку активацией вложенной виртуализации.
Инструкция по исправлению ошибки 0x80370102:
- Нажимаем правой кнопкой мыши по Пуску и выбираем PowerShell (или ищем через поиск). У нее должны быть права администратора.
- Вставляем команду Set-VMProcessor <VMName> -ExposeVirtualizationExtensions $true и нажимаем Enter.
- Правым кликом мыши выбираем виртуальную машину посредством диспетчера Hyper-V и переходим в ее «Настройки».
- Жмем на вкладку «Память» в панели слева и выключаем параметр «Включить динамическую память», просто вручную увеличиваем значение вдвое.
- Запускаем виртуальную машину.
- Кликаем правой кнопкой мыши по ней и выбираем «Подключиться». После запуска Hyper-V произойдет перезагрузка и при повторной попытке запуска ошибка уже не должна появляться.
3. Запустить компонент Hyper-V
Компонент Hyper-V нужен для того, чтобы администраторы могли получать больший контроль над собственным оборудованием при виртуализации нескольких операционных систем на одном оборудовании. Без него ошибка во время установки Linux гарантирована.
Нужно включить Hyper-V и вот, как это можно сделать:
- С помощью поиска переходим в «Панель управления».
- Открываем «Программы и компоненты».
- Жмем на элемент левого меню «Включение или отключение компонентов Windows».
- Ищем пункт Hyper-V (один из первых) и устанавливаем флаг возле него.
- Перезагружаем компьютер.
Это лучшее, что мы можем предложить для исправления ошибки WslRegisterDistribution failed with error: 0x80370102. Перечисленные методы работают у большинства, на это указывают ответы в комментариях на форумах, поэтому без зазрений совести можем их рекомендовать к использованию.