Ubuntu error 0x800701bc

Environment Platform ServicePack Version VersionString -------- ----------- ------- ------------- Win32NT 10.0.19645.0 Microsoft Windows NT 10.0.19645.0 CentOS8.1 WSL2 Steps to reproduce Install Ce...

Comments

@Silver-Fang

Environment

Platform ServicePack Version      VersionString
-------- ----------- -------      -------------
 Win32NT             10.0.19645.0 Microsoft Windows NT 10.0.19645.0
CentOS8.1
WSL2

Steps to reproduce

Install CentOS 8.1 in Microsoft Store. Then launch it.

Expected behavior

First-launch install succeeds.

Actual behavior

Installing, this may take a few minutes…
WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2 ?????????????????? https://aka.ms/wsl2kernel

Press any key to continue…

Danielkhun, vcjmhg, gd1214b, rediffusion, faizhameed, showhuo, MaxmaxmaximusAWS, saurav9283, PetoLau, gopalquadprosoft, and 26 more reacted with thumbs up emoji

@bytemain

nariba, wjxdavid, bytemain, LCBHSStudent, opticaline, divinerapier, muripoLife, susuky, rokobekavac0, Tjlastnumber, and 200 more reacted with thumbs up emoji
1337cod3r, preethamam, tinlevn, jaimenn, davidttoledo, lchampz, ddaniialov-dev, vianagustavo, Akihito-dev, AstermW, and 8 more reacted with laugh emoji
Seriosus, Athelian, solanha1999, Sotatek-PhuongNgo, HyunseungLee-Travis, haddadjo92, 1337cod3r, tinlevn, jaimenn, davidttoledo, and 14 more reacted with hooray emoji
bydzen, adampiskorski, trlthiago, asapheng, luscas, NriotHrreion, Tahers, 0rAX0, solanha1999, Sotatek-PhuongNgo, and 39 more reacted with heart emoji
bydzen, adampiskorski, asapheng, luscas, Tahers, hosjiu1702, solanha1999, Sotatek-PhuongNgo, HyunseungLee-Travis, yugesh-thippana, and 24 more reacted with rocket emoji

@craigloewen-msft

Hi @Silver-Fang , did you follow the instructions that @lengthmin put? Were you able to install that kernel version and get it working?

@zhanghuizong

I have the same problem

Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2 ?????????????????? https://aka.ms/wsl2kernel

Press any key to continue...

It also tries to upgrade the kernel, which is still invalid

image

image

image

@zhanghuizong

I have the same problem

Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2 ?????????????????? https://aka.ms/wsl2kernel

Press any key to continue...

It also tries to upgrade the kernel, which is still invalid

image

image

image

Supplementary notes:

Secondary problem due to win10 update, uninstall wsl_update_x64.msi, it’s normal when reinstalling.

TrojanXu, zacario-li, Tjlastnumber, rsk25, priyankpatel-multidots, david-littlefield, luojiego, derekchsantos, pedrojosuesalomao, shulgamalthael, and ROLY2033 reacted with thumbs up emoji

@divinerapier

Updating the Linux kernel is helpful to me. 👍

adamward459, goyal-aman, steeves66, yugesh-thippana, karthikPattabhiram, lucaslopesx, ClownW, EfthymiosNtokas, wilgoszmateusz, trimat1, and 3 more reacted with thumbs up emoji

@msftbot

This issue has been automatically marked as stale because it has marked as requiring author feedback but has not had any activity for 7 days. It will be closed if no further activity occurs within 7 days of this comment. Thank you for your contributions to WSL!

@duocang

laukstein, seanlees, clemenskunert, ozzCb, BOBYZH, isecret, lovefishs, davidgamaserrate, dsyun96, zbf1999, and 89 more reacted with thumbs up emoji
srpatil24, alex6226, alexanderbaumann-toast, seedscoder, Kovax007, johngao01, theAbazov, ArthurBufon, and uriielfl reacted with laugh emoji
ahmetkca, SChowdh1045, vitor-nakazawa, joaolcaas, rildomar, Danrong430, elshobokshy, thalysonalexr, MohamedAbdelrehem, anldrms, and 13 more reacted with hooray emoji
mattia1337, heitordeve, ahmetkca, SChowdh1045, vitor-nakazawa, joaolcaas, rildomar, Danrong430, elshobokshy, mwaseem-github, and 24 more reacted with heart emoji
clemenskunert, isecret, davidgamaserrate, debugcode-cn, mouyong, zzuwenjie, MacwinWin, chunyexixiaoyu, andrelucaas, mattia1337, and 20 more reacted with rocket emoji

@WindSnowLi

@heitordeve

@iEclisse

If someone have trouble in Windows 11
you should:

wsl --update
wsl --shutdown

run WSL dist

LucasRafaelBalduino, rolan18, FearLycan, pedrorogger, rildomar, EwenLan, cybermritunjay, VillageEngineer, joao-salomao, daalvand, and 29 more reacted with thumbs up emoji
joao-salomao, Dasihub, Ashu-spec, hargoyal, ritikgoyal133, mahanfakhimi, RubioHaro, and xxxily reacted with hooray emoji
LucasRafaelBalduino, FearLycan, rildomar, VillageEngineer, DylanLangevin, joao-salomao, cybertramp, Dasihub, IsraelAbreu, Ashu-spec, and 11 more reacted with heart emoji
hargoyal and xxxily reacted with rocket emoji

@rediffusion

I do all steps as shown here and it’s helpful❗

@spiritwindy

when i try to Empty file «~/AppData/Roaming/Microsoft/Windows/PowerShell/PSReadLine/ConsoleHost_history.txt»
The error is 0x800701bc gone

@paul2048

Enabling Virtual Machine Platform fixed the error for me.
image

@LonelyGuy12

You can just try using wsl --update with admin privileges in Command Prompt. And then wsl --shutdown. This solved the issue for me. You will also need to reinstall the distribution which you can do by using wsl --install -d <Distribution Name>

@parthdedaniya

@a1g0r1thm

No one advice worked for me ((( But I finded my own way. Go to BIOS and turnOn Virtualization Technology. Then you need to activate Hyper-V and Virtual Machines in Windows components(features) and run in Power Shell next command: wsl —set-default-version 1. How I understand it, last needs because my processor not have SomeLowLevelCommands ((( After last command install will be done! And after good install you can change back for WSL2: wsl —set-default-vers 2. And it works perfect for me. But I am not understand fully how ))) Oh, my god, half of my sunday ((( We live in notSimpleTime ))))) GoodLuck, guys!

@Gabriel-Negreiro-ey

@anjaysahoo

@Hercute

@lingyanmeng

wsl --status tells me the cause: I need to enable the «Virtual Machine Platform» and restart the system.

@JaggarYussef

No one advice worked for me ((( But I finded my own way. Go to BIOS and turnOn Virtualization Technology. Then you need to activate Hyper-V and Virtual Machines in Windows components(features) and run in Power Shell next command: wsl —set-default-version 1. How I understand it, last needs because my processor not have SomeLowLevelCommands ((( After last command install will be done! And after good install you can change back for WSL2: wsl —set-default-vers 2. And it works perfect for me. But I am not understand fully how ))) Oh, my god, half of my sunday ((( We live in notSimpleTime ))))) GoodLuck, guys!

Of all instructions, this has solved my problem! I had this issue on a Dell laptop (just putting it out there)
Thanks

@bhaktar

Try wsl -l -v
wsl -t Ubuntu
Get-Service LxssManager | Restart-Service

Restarting the LxssManager service fixed the problem for me

@aneshwar

@aneshwar

Installing, this may take a few minutes…
WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2 requires an update to its kernel component. For information please visit https://aka.ms/wsl2kernel

@dorp007

@Kyogre

got errors 0x80370102 and 0x800701bc too in my VMware Windows 10 virtual machine.
The solution was: shutdown VM -> in VMware go to Virtual Machine settings -> Processors -> enable Virtualize Intel VT-x/EPT or AMD-V/RVI -> start VM -> run wsl --install -d <distro> again.

So you don’t even need to enable Hyper-V in «Windows Features» window.

@PraveenShaun

wsl —update
wsl —shutdown
Run these 2 line of codes one by one at Windows terminal to fix the issue

@mayuehit

wsl —update
wsl —shutdown
Run these 2 line of codes one by one at Windows terminal to fix the issue

This works for me

@AhanafRASHID

go to https://aka.ms/wsl2kernel. then download and install the Linux kernel update package: image

Thanks Brother. It actually worked!

@mayuehit

@StrongBearCeo

enabling Virtualization in Bios worked for me

@HanzalaOP

@Themorningcormorant

If someone have trouble in Windows 11 you should:

wsl --update
wsl --shutdown

run WSL dist

thanks, this worked for me on windows 10

Мы рассмотрели некоторые распространенные сценарии устранения неполадок с WSL, но также вы можете просмотреть сведения о проблемах, опубликованные в репозитории продуктов WSL в GitHub.

Сбой установки с ошибкой 0x80070003 или ошибкой 0x80370102.

При попытке обновления возникает ошибка Invalid command line option: wsl —set-version Ubuntu 2 .

Не удалось завершить запрошенную операцию из-за ограничения системы виртуального диска. Файлы виртуального жесткого диска должны быть распакованными, незашифрованными и не разреженными.

В этом примере папка LocalState для дистрибутива Ubuntu 18.04 расположена по адресу C:Users AppDataLocalPackagesCanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc.

Чтобы получать обновленные сведения, проверьте ветку № 4103 в документации GitHub WSL, где отслеживается эта проблема.

Термин WSL не распознан как имя командлета, функции, файла скрипта или действующей программы.

Error: Windows Subsystem for Linux has no installed distributions (Ошибка. Для подсистемы Windows для Linux не установлены дистрибутивы).

Error: This update only applies to machines with the Windows Subsystem for Linux (Ошибка. Это обновление применяется только к компьютерам с подсистемой Windows для Linux).

Вы используете старую версию Windows, которая не поддерживает WSL 2. Требования к версиям и ссылки пакеты обновления см. на шаге 2.

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

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

Error: WSL 2 requires an update to its kernel component. For information please visit https://aka.ms/wsl2kernel. (Ошибка. Для WSL 2 требуется обновление компонента ядра. Дополнительные сведения см. здесь: https://aka.ms/wsl2kernel).

  • Эта ошибка возникает, если пакет ядра Linux отсутствует в папке %SystemRoot%system32lxsstools. Чтобы устранить ошибку, установите пакет обновления MSI для ядра Linux, как описано на шаге 4 в этих инструкциях по установке. Возможно, вам потребуется удалить пакет MSI в разделе Установка и удаление программ, а затем снова установить его.

Распространенные проблемы

Я использую Windows 10 версии 1903, но не вижу параметры для WSL 2.

Скорее всего, это связано с тем, что на компьютере еще не установлены исправления для WSL 2. Чтобы решить эту проблему самым простым способом, перейдите в параметры Windows, нажмите кнопку «Проверить наличие обновлений» и установите последние обновления в системе. Изучите полные инструкции по получению исправления для старой версии.

Если после нажатия кнопки «Проверить наличие обновлений» вы не получили обновление, можно установить исправления KB4566116 вручную.

Ошибка. 0x1bc, когда wsl —set-default-version 2

Это может произойти, если язык интерфейса или язык системы не является английским.

Фактическая ошибка для 0x1bc :

См. сведения о проблеме 5749.

Не удается получить доступ к файлам WSL из Windows

Файловый сервер протокола 9p предоставляет службу на стороне Linux, которая позволяет Windows получить доступ к файловой системе Linux. Если вы не можете получить доступ к WSL с помощью \wsl$ в Windows, возможно, это вызвано неправильным запуском 9P.

Чтобы убедиться в этом, можно проверить журналы запуска с помощью команды dmesg |grep 9p . Если ошибки есть, отобразятся сведения о них. Выходные данные выглядят следующим образом:

Дополнительные сведения об этой ошибке см. в этом потоке GitHub.

Не удается запустить дистрибутив WSL 2, а в выходных данных отображается только WSL 2.

Если язык интерфейса не английский, возможно, отображается усеченная версия текста ошибки.

Чтобы устранить эту проблему, перейдите по адресу https://aka.ms/wsl2kernel и установите ядро вручную, следуя инструкциям на этой странице документации.

Ошибка command not found при выполнении исполняемых файлов Windows в Linux

Пользователи могут запускать исполняемые файлы Windows, например notepad.exe, прямо в среде Linux. Но иногда это действие приводит к ошибке «Команда не найдена», как показано ниже:

Если в переменной $PATH нет обязательных путей Win32, подсистема взаимодействие не сможет найти EXE-файл. Чтобы проверить это, выполните echo $PATH в среде Linux. В выходных данных вы должны увидеть путь к win32 (например, /mnt/c/Windows). Если вы не видите эти пути Windows, скорее всего переменная PATH перезаписана оболочкой Linux.

Ниже приведен пример файла /etc/profile на ОС Debian, который вызывал такую проблему:

Чтобы решить эту проблему в среде Debian, нужно удалить приведенные выше строки. Вы также можете добавить значения в переменную $PATH во время назначения, как показано ниже, но это может вызвать другие проблемы с WSL и VSCode.

Дополнительные сведения см. в описании проблем 5296 и 5779.

«Ошибка: 0x80370102 The virtual machine could not be started because a required feature is not installed (Не удалось запустить виртуальную машину, так как не установлена необходимая функция).

Включите компонент платформы виртуальных машин Windows и убедитесь, что в BIOS включена виртуализация.

Если компьютер является виртуальной машиной, включите вложенную виртуализацию вручную. Запустите PowerShell с правами администратора и выполните следующую команду:

Следуйте рекомендациям производителя компьютера, чтобы включить виртуализацию. Как правило, для проверки того, что эти функции включены в ЦП, может использоваться BIOS системы. Инструкции для этого процесса могут быть разными для разных компьютеров, один из примеров вы можете изучить в этой статье от Bleeping Computer.

Перезагрузите компьютер после включения дополнительного компонента Virtual Machine Platform .

Убедитесь, что запуск гипервизора включен в конфигурации загрузки. Это можно проверить, выполнив следующее (с повышенными правами PowerShell):

Если вы видите hypervisorlaunchtype Off , это значит, что гипервизор отключен. В окне PowerShell с повышенными привилегиями выполните следующее:

Кроме того, если у вас установлены сторонние гипервизоры, (например, VMware или VirtualBox), убедитесь, что это последние версии, поддерживающие HyperV (VMware 15.5.5+ и VirtualBox 6+), или что они выключены.

Узнайте больше о том, как настроить вложенную виртуализацию при запуске Hyper-V на виртуальной машине.

WSL не имеет сетевого подключения на рабочем компьютере или в среде Enterpise

В средах Business или Enterprise могут быть настроенные параметры брандмауэра Защитника Windows для блокировки несанкционированного сетевого трафика. Если для слияния локальных правил установлено значение «Нет», сеть WSL не будет работать по умолчанию, и ваш администратор должен будет добавить правило брандмауэра, чтобы разрешить это поведение.

Чтобы подтвердить настройку слияния локальных правил:

  1. Откройте раздел «Брандмауэр Защитника Windows с повышенной безопасностью» (он отличается от раздела «Брандмауэр Защитника Windows» на Панели управления).
  2. Щелкните правой кнопкой мыши вкладку «Брандмауэр Защитника Windows с расширенной безопасностью на локальном компьютере».
  3. Выберите «Свойства».
  4. Выберите вкладку «Общедоступный профиль» в открывшемся окне.
  5. Выберите «Настроить» в разделе «Параметры».
  6. Установите флажок в открывшемся окне «Настройка параметров для общедоступного профиля», чтобы проверить, задано ли параметру «Слияние правил» значение «Нет». Это приведет к блокировке доступа к WSL.

Инструкции по изменению этого параметра брандмауэра см. в статье Корпоративная среда: настройка WSL для вашей компании.

В WSL отсутствует подключение к сети после подключения к сети VPN

Если после подключения к VPN в Windows оболочка Bash утрачивает подключение к сети, попробуйте воспользоваться этим обходным решением в Bash. Это решение позволит вручную переопределить разрешение DNS с помощью /etc/resolv.conf .

  1. Запишите DNS-сервер виртуальной частной сети. Для этого выполните ipconfig.exe /all
  2. Создайте копию существующего resolv.conf, выполнив sudo cp /etc/resolv.conf /etc/resolv.conf.new
  3. Разорвите связь с текущим файлом resolv.conf, выполнив команду sudo unlink /etc/resolv.conf .
  4. sudo mv /etc/resolv.conf.new /etc/resolv.conf
  5. Измените /etc/wsl.conf и добавьте это содержимое в файл. (Дополнительные сведения об этом см. в статье Расширенная конфигурация.)
  1. Откройте /etc/resolv.conf и сделайте следующее.
    a. Удалите первую строку из файла с комментарием, описывающим автоматическое создание.
    b. Добавьте запись DNS из пункта 1 выше в качестве первой записи в списке DNS-серверов.
    c. Закройте файл.

После отключения VPN необходимо будет отменить изменения в /etc/resolv.conf . Для этого сделайте следующее.

  1. cd /etc
  2. sudo mv resolv.conf resolv.conf.new
  3. sudo ln -s ../run/resolvconf/resolv.conf resolv.conf

При запуске WSL или установке дистрибутива возвращается код ошибки

Выполните эти инструкции, чтобы получить подробные журналы и сообщить о возникшей проблеме на портале GitHub.

Обновление WSL

Есть два компонента подсистемы Windows для Linux, которые могут требовать обновления.

Чтобы обновить саму подсистему Windows для Linux, используйте команду wsl —update в PowerShell или CMD.

Чтобы обновить определенные двоичные файлы пользователя дистрибутива Linux, используйте команду apt-get update | apt-get upgrade в дистрибутиве Linux, который требуется обновить.

Ошибки apt-get upgrade

Некоторые пакеты используют функции, которые еще не реализованы. Например, udev пока не поддерживается и вызывает несколько ошибок apt-get upgrade .

Чтобы устранить проблемы, связанные с udev , выполните следующие действия.

Введите приведенный ниже код в /usr/sbin/policy-rc.d и сохраните изменения.

Добавьте разрешения на выполнение в /usr/sbin/policy-rc.d :

Выполните следующие команды:

«Ошибка: 0x80040306» при установке

Это связано с тем, что мы не поддерживаем устаревшую консоль. Чтобы отключить устаревшую консоль, выполните следующие действия.

  1. Выполните файл cmd.exe.
  2. Щелкните правой кнопкой мыши строку заголовка -> выберите «Свойства» -> снимите флажок «Использовать прежнюю версию консоли».
  3. Нажмите кнопку «ОК».

«Ошибка: 0x80040154» после обновления Windows

Компонент «Подсистема Windows для Linux» может быть отключен во время обновления Windows. В этом случае данную функцию Windows необходимо включить заново. Инструкции по включению подсистемы Windows для Linux см. в статье Руководство по установке.

Изменение отображаемого языка

Установщик WSL попытается автоматически изменить языковой стандарт Ubuntu в соответствии с языковым стандартом установки Windows. Если это нежелательно, можно выполнить приведенную ниже команду, чтобы изменить языковой стандарт Ubuntu после завершения установки. Чтобы это изменение вступило в силу, потребуется повторно запустить bash.exe.

В приведенном ниже примере языковой стандарт изменяется на EN-US.

Проблемы установки после восстановления системы Windows

  1. Удалите папку %windir%System32TasksMicrosoftWindowsWindows Subsystem for Linux .
    Примечание. Не делайте этого, если дополнительный компонент полностью установлен и работает.
  2. Включите дополнительный компонент WSL (если он еще не включен).
  3. Выполните перезагрузку.
  4. Выполните команду lxrun /uninstall /full
  5. Установите Bash.

Нет доступа к Интернету в WSL

Некоторые пользователи сообщили о проблемах с определенными приложениями брандмауэра, блокирующими доступ к Интернету в WSL. Сообщили о следующих брандмауэрах:

  1. Kaspersky;
  2. AVG;
  3. Avast.
  4. Symantec Endpoint Protection

В некоторых случаях отключение брандмауэра обеспечивает доступ. В некоторых случаях доступ блокируется просто при наличии установленного брандмауэра.

Если вы используете брандмауэр в Microsoft Defender, снимите флажок «Блокирует все входящие подключения, в том числе для приложений, указанных в списке разрешенных программ», чтобы разрешить доступ.

Ошибка «Отказ в разрешении» при проверке связи

В выпуске Windows Anniversary Update, версия 1607 для проверки связи в WSL требуются права администратора. Чтобы выполнить проверку связи, запустите Bash для Ubuntu в Windows от имени администратора или запустите bash.exe из командной строки или сеанса PowerShell с привилегиями администратора.

В более поздних версиях Windows (сборка 14926+) права администратора не требуются.

Bash перестал отвечать на запросы

Если при работе с Bash вы обнаружите, что Bash перестал отвечать на запросы (или взаимозаблокирован), помогите нам диагностировать проблему путем сбора и передачи дампа памяти. Обратите внимание на то, что выполнение этих действий приведет к сбою системы. Не делайте этого, если вас это не устраивает, либо предварительно сохраните результаты своей работы.

Сбор дампа памяти

Измените тип дампа памяти на «Полный дамп памяти». При изменении типа дампа запишите текущий тип.

Выполните эти действия, чтобы настроить аварийное завершение с помощью клавиатуры.

Воспроизведите взаимоблокировку или прекращение ответа на запросы.

Выполните аварийное завершение системы с помощью последовательности клавиш из пункта 2.

Произойдет аварийное завершение системы и будет собран дамп памяти.

После перезагрузки системы отправьте memory.dmp на адрес электронной почты secure@microsoft.com. По умолчанию файл дампа находится в папке %SystemRoot%memory.dmp или C:Windowsmemory.dmp, если C: является системным диском. В письме укажите, что дамп предназначен для команды разработчиков WSL или Bash в Windows.

Восстановите исходное значение типа дампа памяти.

Проверка номера сборки

Чтобы узнать архитектуру компьютера и номер сборки Windows, выберите
Параметры>Система>О программе

Найдите поля Сборка ОС и Тип системы.

Чтобы найти номер сборки Windows Server, выполните в PowerShell следующую команду.

Подтверждение включения WSL

Вы можете убедиться, что подсистема Windows для Linux включена, выполнив следующую команду в окне PowerShell повышенного уровня:

Проблемы с подключением к серверу OpenSSH

Попытка подключения к серверу SSH завершается следующей ошибкой: «Connection closed by 127.0.0.1 port 22» (Подключение закрыто узлом 127.0.0.1 через порт 22).

Убедитесь, что сервер OpenSSH работает

Завершите работу службы sshd и запустите sshd в режиме отладки.

Проверьте журналы запуска и убедитесь, что ключи сервера доступны и в журнале нет сообщений, как показано ниже.

Если вы видите такие сообщения и в разделе /etc/ssh/ отсутствуют ключи, потребуется повторно создать ключи или просто очистить и установить сервер OpenSSH.

Сообщение «Указанная сборка не найдена» может появиться при включении дополнительного компонента WSL.

Данная ошибка связана с неправильным состоянием установки. Чтобы устранить эту проблему, выполните следующие действия.

Если вы используете команду включения компонента WSL в PowerShell, попробуйте использовать графический пользовательский интерфейс. Для этого откройте меню «Пуск», выполните поиск фразы «Включение или отключение компонентов Windows», а затем из списка выберите «Подсистема Windows для Linux». Этот дополнительный компонент будет установлен.

Обновите версию Windows, выбрав «Параметры» > «Обновления» и щелкнув «Проверить наличие обновлений».

Если оба способа не помогли и вам нужно использовать WSL, рассмотрите возможность обновления на месте, переустановив Windows с установочного носителя и выбрав параметр «Сохранить все», чтобы сохранить свои приложения и файлы. Инструкции по такой установке можно найти на странице Переустановка Windows 10.

Правильные (связанные с SSH) ошибки разрешений

Если вы видите эту ошибку:

Чтобы устранить эту проблему, добавьте следующий текст в файл /etc/wsl.conf :

Обратите внимание, что добавление этой команды будет включать метаданные и изменять разрешения для файлов Windows, показанных в WSL. См. сведения о разрешениях файловой системы.

Выполнение команд Windows завершается сбоем в дистрибутиве

Некоторые дистрибутивы, доступные в Microsoft Store, еще не полностью поддерживают выполнение команд Windows. Если при выполнении powershell.exe /c start . или любой другой команды Windows возникает ошибка -bash: powershell.exe: command not found , ее можно устранить, выполнив следующие действия:

  1. В дистрибутиве WSL выполните echo $PATH .
    Если /mnt/c/Windows/system32 отсутствует, что-то переопределяет стандартную переменную PATH.
  2. Проверьте параметры профиля с помощью cat /etc/profile .
    Если присутствует назначение переменной PATH, измените файл, чтобы закомментировать блок назначения PATH, используя символ # .
  3. Проверьте, существует ли файл wsl.conf ( cat /etc/wsl.conf ), и убедитесь, что он не содержит appendWindowsPath=false . В противном случае закомментируйте эту строку.
  4. Перезапустите дистрибутив, введя wsl -t , после чего следует имя дистрибутива, либо выполните wsl —shutdown в cmd или PowerShell.

Не удается выполнить загрузку после установки WSL 2

Мы осведомлены о проблемах, из-за которых пользователям не удается выполнить загрузку после установки WSL 2. Пока мы полностью диагностировали эту проблему, от пользователей поступали сообщения о том, что помочь в ее устранении может изменение размера буфера или установка правильных драйверов. Просматривайте новейшие сведения об этой проблеме на сайте GitHub.

Ошибки WSL 2, возникающие при отключении ICS

Совместное использование подключения к Интернету (ICS) — обязательный компонент WSL 2. Служба ICS используется сетевой службой узлов (HNS) для создания базовой виртуальной сети. На ее основе в WSL 2 реализуется работа с NAT, DNS и DHCP, а также совместное использование подключения к узлу.

Если отключить службу ICS (SharedAccess) или ICS через групповую политику, нельзя будет создать сеть WSL службы HNS. Это приведет к сбоям при создании нового образа WSL версии 2 и возникновению указанной ниже ошибки при попытке преобразовать образ версии 1 в образ версии 2.

Для систем, требующих использования WSL 2, нужно оставить службу ICS (SharedAccess) в состоянии запуска по умолчанию «Вручную (активировать запуск)», а любую политику, запрещающую ICS следует перезаписать или удалить. Отключение службы ICS приведет к нарушению работы WSL 2, и мы не рекомендуем отключать ICS, однако некоторые части ICS можно отключить с помощью этих инструкций.

Использование более старых версий Windows и WSL

Есть несколько отличий, которые следует учитывать, если вы используете более раннюю версию Windows и WSL, например Windows 10 Creators Update (октябрь 2017 г., сборка 16299) или Anniversary Update (август 2016 г., сборка 14393). Рекомендуется выполнить обновление до последней версии Windows, но если это невозможно, ознакомьтесь с некоторыми из описанных ниже различий.

Особенности взаимодействия команд:

  • bash.exe заменен на wsl.exe ; Команды Linux могут выполняться из командной строки Windows или из PowerShell, но для ранних версий Windows может потребоваться использовать bash эту команду. Например: C:temp> bash -c «ls -la» . Команды WSL, передаваемые в bash -c , перенаправляются в процесс WSL без изменения. Пути к файлам должны быть указаны в формате WSL, кроме того, необходимо внимательно экранировать соответствующие знаки. Пример: C:temp> bash -c «ls -la /proc/cpuinfo» или C:temp> bash -c «ls -la »/mnt/c/Program Files»» .
  • Чтобы узнать, какие команды доступны для определенного дистрибутива, выполните команду [distro.exe] /? . Например, с Ubuntu: C:> ubuntu.exe /? .
  • путь Windows включен в переменную $PATH WSL.
  • При вызове средства Windows из дистрибутива WSL в ранних версиях Windows 10 необходимо указать путь к каталогу. Например, чтобы вызвать приложение Windows «Блокнот» из командной строки WSL, введите /mnt/c/Windows/System32/notepad.exe .
  • Чтобы изменить пользователя по умолчанию для использования root этой команды в PowerShell, введите C:> lxrun /setdefaultuser root и выполните Bash.exe, чтобы выполнить вход: C:> bash.exe . Сбросьте пароль с помощью команды $ passwd username для паролей для дистрибутивов и закройте командную строку Linux: $ exit . В командной строке Windows или PowerShell сбросьте настройки пользователя по умолчанию до стандартной учетной записи пользователя Linux: C:> lxrun.exe /setdefaultuser username .

Удаление устаревшей версии WSL

Если первоначально вы установили WSL в Windows 10 Creators Update (октябрь 2017 г., сборка 16299), рекомендуется перенести все необходимые файлы, данные и пр. из старого дистрибутива Linux в более новый дистрибутив, установленный с помощью Microsoft Store. Чтобы удалить устаревший дистрибутив с компьютера, выполните следующую команду в командной строке или экземпляре PowerShell: wsl —unregister Legacy . Кроме того, вы можете вручную удалить устаревший дистрибутив, удалив папку %localappdata%lxss (и все ее содержимое) с помощью проводника Windows или PowerShell: rm -Recurse $env:localappdata/lxss/ .

Источник

When attempting to install Ubuntu on WSL, I get a «Something went wrong» error:

enter image description here

How should I troubleshoot/resolve this?

NotTheDr01ds's user avatar

NotTheDr01ds

11.8k2 gold badges42 silver badges68 bronze badges

asked Jul 7, 2022 at 16:50

Nirali Patel's user avatar

9

I ran into this while installing Ubuntu 22.04, and running the install via cmd showed me the solution that worked for me:

>  ubuntu2204.exe install --ui=none
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2 requires an update to its kernel component. For 
information please visit https://aka.ms/wsl2kernel

After installing the Linux kernel update package, the install worked normally. Re: https://docs.microsoft.com/en-us/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package

answered Jul 16, 2022 at 8:58

Insequent's user avatar

1

Make sure the Virtual Machine Platform Windows feature is enabled, virtualization is enabled in the BIOS, and you’re running WSL2.

karel's user avatar

karel

107k93 gold badges263 silver badges290 bronze badges

answered Jul 14, 2022 at 20:53

Yet Another User's user avatar

1

Same error on my side. When running the command without UI, I see the real error :

PS C:Usersser> ubuntu2204.exe install --ui=none
Conversion in progress, this may take a few minutes...
For information on key differences with WSL 2 please visit https://aka.ms/wsl2
The requested operation could not be completed due to a virtual disk system limitation.
Virtual hard disk files must be uncompressed and unencrypted and must not be sparse.

Open %LOCALAPPDATA%/packages/ with the file browser, find the folder containing the Ubuntu package (CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc in my case) and untick Compress contents to save disk space inside folder properties (Right Click -> Properties -> General -> Advanced)

Source: https://utf9k.net/blog/wsl2-vhd-issue/

answered Sep 11, 2022 at 12:23

Ser's user avatar

I had the same error and abandoned it on WSL2 Windows11, so I downloaded Ubuntu 20.04 LTS from the Microsoft store, and it worked fine.

I figured it just wasn’t ready for prime time.

answered Oct 25, 2022 at 1:51

mondotofu's user avatar

mondotofumondotofu

6784 silver badges8 bronze badges

03.09.2020

Просмотров: 5313

Во время работы с подсистемой Linux на Windows 10 пользователь может столкнуться с ошибкой WSLregisterdistribution failed with error 0x8007019e или такими кодами, как 0x80370102, 0x800701bc, 0x80070008, 0xc03a001a, 0x8007019e, 0x800706be, 0x8000000d. Нажав на любую кнопку, терминал закрывается самостоятельно. Причиной тому может быть отключенная функция подсистемы Linux. Однако, как показывает анализ форумов, её повреждение также может быть причиной неполадки. Поэтому, чтобы исправить такую проблему, как WSLregisterdistribution failed with error, предлагаем ознакомиться со следующими рекомендациями.

Читайте также: Включаем Linux на Windows 10

Методы исправления ошибки WSLregisterdistribution failed with error

Поскольку ошибка WSLregisterdistribution failed with error с кодом 0xc03a001a или любым другим связана с подсистемой Linux, то в первую очередь для решения неполадки разработчики Майкрософт рекомендуют её перезапустить. Для этого нужно открыть «Панель управления», «Программы и компоненты» и в меню слева выбрать «Включение и отключение компонентов Windows». Появится небольшое окно. Нужно найти «Подсистема Linux для Windows» и снять отметку (если её нет, то нужно поставить). Перезагружаем ПК. Заходим назад в это меню и ставим отметку. Ошибка должна исчезнуть.

Если по каким-то причинам служба диспетчера экземпляра Linux работает не правильно, то на ПК появится ошибка WSLregisterdistribution failed with error. Перезапуск данной службы может помочь исправить неполадку. Для этого нужно нажать «Win+R» и ввести «services.msc». Находим LxssManager. Нажимаем на ней правой кнопкой мыши и выбираем «Перезапустить».

Желательно перезапустить и сам ПК.

Разработчики также при появлении ошибки с кодом 0x80370102, 0x800701bc, 0x80070008 и сообщением WSLregisterdistribution failed with error предлагают обновить терминал Linux. Для этого нужно запустить командную строку с правами Администратора и ввести такие запросы:

C:> bash

$ sudo apt-get update

$ sudo apt-get dist-upgrade

$

C:> exit

Также можно попробовать обновить сам WSL, ввел wsl.exe –update. После того, как обновления будут установлены, нужно перезапустить WSL командой wsl –shutdown.

Если вышеуказанные способы не помогли решить неполадку, то стоит выполнить сброс самого приложения. Для этого стоит открыть «Параметры», «Приложения», найти в списке Ubuntu и кликнуть «Сброс».

В крайнем случае, если ошибка продолжает появляться, стоит загрузить все обновления для Windows или попробовать откатить систему до более раннего состояния.

Понравилась статья? Поделить с друзьями:
  • Ubuntu device descriptor read 64 error 32
  • Ubuntu chroot exec format error
  • Ubuntu busybox initramfs как исправить
  • Ubuntu apt update error
  • Ubuntu apt gpg error