Исправить подсистему Windows для ошибок, проблем и проблем Linux

Как и все программное обеспечение, подсистема Windows (WSL2) тоже имеет немало проблем. В этом руководстве мы собираемся устранить неполадки, связанные с сообщениями об ошибках и кодами подсистемы Windows для Linux .(Windows Subsystem for Linux)

Исправить подсистему Windows(Fix Windows Subsystem) для ошибок(Linux Errors) , проблем(Problems) и проблем Linux(Issues)

Это сообщения, для которых мы собираемся устранять неполадки подсистемы Windows(Windows Subsystem) для сообщений об ошибках(Linux Error Messages) и кодов(Codes) Linux .

  1. Не вижу вариантов для WSL 2
  2. Ошибка: 0x1bc
  3. Ошибка: 0x80040306 при установке
  4. Не удается получить доступ к файлам WSL из Windows
  5. Не удается запустить дистрибутив(WSL 2) WSL 2 , в выводе отображается только « WSL 2 ».
  6. Команда не найдена
  7. Ошибка: 0x80370102 Не удалось запустить виртуальную машину, так как не установлена ​​необходимая функция.
  8. Ошибка: 0x80040154 после обновления Windows
  9. WSL перестает(WSL Stops) работать с  ошибкой 0x80070003(Error 0x80070003)
  10. Изменение языка отображения в WSL
  11. (Installation)Проблемы с установкой после восстановления системы Windows
  12. Нет доступа в Интернет в WSL
  13. Отказано в доступе при использовании Ping
  14. Не удается загрузиться после установки WSL 2
  15. Не удается запустить команды Windows(Windows Commands) внутри дистрибьютора
  16. ICS отключен
  17. Баш повешен
  18. Проблемы с подключением к OpenSSH-серверу
  19. Упомянутая сборка не найдена
  20. Исправить(Correct) ( связанные с SSH ) ошибки разрешений

Поговорим о них подробно.

1] Не вижу вариантов для WSL 2

Многие пользователи Windows жалуются, что, несмотря на сборку 1903, они не могут видеть параметры для WSL 2 . Это происходит, когда ваш компьютер еще не принял резервную копию для WSL 2 .

Чтобы исправить это, вам просто нужно проверить наличие обновлений( check for updates) , и все будет хорошо.

2] Ошибка: 0x1bc

Вы можете увидеть следующую ошибку, если «Язык дисплея» (“Display Language” ) или  «Язык системы» (“System Locale” ) не установлен на  английский.(English.)

wsl --set-default-version 2

Error: 0x1bc

For information on key differences with WSL 2 please visit https://aka.ms/wsl2

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

dir %SystemRoot%\system32\lxss\tools\kernel

Если у вас нет ядра(Kernel) , загрузите его с aka.ms. Обязательно загрузите его от имени администратора и установите ядро(Kernel) ​​на свой компьютер, чтобы исправить ошибку.

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

Исправить подсистему Windows для ошибок, проблем и проблем Linux

Если вы видите ошибку: 0x80040306 при установке. Чтобы это исправить, вам нужно отключить  Legacy Console. Для этого выполните указанные шаги.

  1. Откройте  командную строку (Command Prompt ) от имени администратора из меню «  Пуск».(Start Menu.)
  2. Щелкните правой кнопкой мыши(Right-click) логотип cmd и выберите « Свойства».(Properties.)
  3. Теперь снимите флажок « Использовать устаревшую консоль» (Use legacy console” ) и нажмите «ОК».

Наконец, проверьте, устраняет ли это проблему.

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

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

Самое простое решение — обновить компьютер и включить «обновления продуктов Microsoft в Центре обновления Windows». (“updates for Microsoft products on Windows Update”. )Для этого вы можете выполнить указанные шаги.

  1. Запускаем  настройки  (Settings )Win + I.
  2. Нажмите  Update & Security > Advanced options.
  3. Используйте переключатель, чтобы отключить « Получать обновления для других продуктов Microsoft при обновлении Windows(Receive updates for other Microsoft products when you update Windows) ».

Это решит проблему для вас.

5] Не удается запустить дистрибутив(WSL 2) WSL 2 , и в выводе отображается только « WSL 2 ».

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

C:\Users\me>wsl

WSL 2

Чтобы исправить ошибку, вам нужно скачать и установить ядро(Kernel) ​​​​вручную. Вы можете скачать файл с aka.ms/wsl2kernel . Установите ядро(Kernel) , чтобы легко исправить ошибку.

6] Команда не найдена

Это одна из распространенных ошибок, возникающих при запуске .exe-файла Windows в Linux . Вы можете увидеть следующую ошибку при попытке сделать то же самое.

$ notepad.exe

-bash: notepad.exe: command not found

Это происходит, когда  $PATH не может найти файл .exe . Лучшее решение этой ошибки — запустить следующую команду в Терминале(Terminal) .

export PATH=$PATH:/usr/sbin

Сделайте это и проверьте, исправляет ли это ошибку.

7] Ошибка: 0x80370102 Не удалось запустить виртуальную машину, поскольку не установлена ​​необходимая функция.

Многие сталкивались с этой ошибкой при попытке установить дистрибутив Linux(Linux) . В отличие от предыдущих ошибок, эта ошибка имеет более одного решения. Итак, пристегнитесь и прочитайте все решения.

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

  1. Включить Hyper-V
  2. Включить аппаратную виртуализацию
  3. Включить вложенную виртуализацию

Поговорим о них подробно.

Включить Hyper-V

Без Hyper-V вы не сможете создать виртуальную среду(Environment) . Итак, включите его с помощью следующих шагов.

  1. Откройте  панель управления (Control Panel ) из меню «  Пуск».(Start Menu.)
  2. Нажмите  Programs and Features > Turn Windows features on or off
  3. Прокрутите(Scroll) вниз, чтобы найти Hyper-V , проверьте его и нажмите «ОК».

После включения Hyper-V проверьте, устранена ли проблема.

Включить аппаратную виртуализацию

Аппаратная виртуализация(Hardware Virtualization) обязательна при попытке запустить виртуальную машину(Virtual Machine) . Итак, если вы столкнулись с ошибкой: 0x80370102, попробуйте включить аппаратную виртуализацию(enable Hardware Virtualization) в BIOS, чтобы решить эту проблему.

Включить вложенную виртуализацию

Вложенная виртуализация(Virtualization) позволяет запускать гипервизор(Hypervisor) внутри виртуальной машины. Итак, если вы все еще сталкиваетесь с ошибкой, попробуйте включить вложенную виртуализацию(Virtualization) . Для этого вам нужно запустить PowerShell  от имени администратора и выполнить следующую команду.

Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true

Запустите эту команду и проверьте, устраняет ли она проблему.

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

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

Вы можете увидеть эту ошибку, если подсистема Windows(Windows Subsystem) для Linux отключена из-за обновления Windows(Windows Update) . Итак, чтобы решить проблему, нам нужно включить эту опцию. Для этого выполните указанные шаги.

  1. Запустите  Control  из меню «  Пуск».(Start Menu.)
  2. Нажмите  Programs and Features > Turn Windows features on or off
  3. Прокрутите вниз, чтобы найти подсистему Windows для Linux(Windows Subsystem for Linux) , отметьте ее и нажмите «ОК».

Наконец, перезагрузите компьютер и проверьте, сохраняется ли проблема.

9] WSL перестает(WSL Stops) работать с  ошибкой 0x80070003(Error 0x80070003)

Если WSL останавливается с этим кодом ошибки 0x80070003(error code 0x80070003) , устраните ее с помощью этого руководства.

10] Изменение языка отображения в (Display)WSL

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

Примечание. Следующая команда изменит язык на en-US.

sudo update-locale LANG=en_US.UTF8

Сделайте это и проверьте, устраняет ли это проблему.

11] Проблемы с установкой(Installation) после восстановления системы Windows

Если у вас возникли проблемы с установкой(Installation) после восстановления системы Windows , попробуйте удалить папку « Подсистема Windows для Linux ». (Windows Subsystem for Linux )Ниже приводится его путь.

%windir%\System32\Tasks\Microsoft\Windows\Windows Subsystem for Linux

Перезагрузите компьютер, переустановите Bash и проверьте, устраняет ли это проблему.

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

Многие пользователи сообщают, что они не могут получить доступ к Интернету(Internet) в WSL . Однако решение может быть проще, чем вы думаете. Это происходит из-за любого стороннего антивируса, который у вас может быть. Так как брандмауэр блокирует интернет(Internet) . Итак, чтобы исправить это, удалите антивирус, и все будет хорошо.

13] Отказано в(Permission) доступе при использовании Ping

Если вы не можете выполнить Ping в WSL , это означает, что у вас нет прав администратора. Итак, вам нужно запустить Ubuntu и Linux с правами администратора или Bash.exe в интерпретаторе командной строки с правами администратора.

Надеюсь, это легко решит проблему.

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

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

  • Используйте точку восстановления системы , чтобы исправить ошибку.
  • Обновите графический драйвер(Update your Graphics Driver) и посмотрите, решит ли он проблему.

15] Невозможно запускать команды Windows(Windows Commands) внутри дистрибьютора

В Магазине Windows(Windows Store) есть несколько дистрибьюторов , которые не полностью оптимизированы для запуска всех команд Windows(Windows Commands) . Вы можете получить любую из следующих ошибок.

-bash: powershell.exe: command not found
powershell.exe /c start

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

echo $PATH

Теперь проверьте, есть ли в выводе “/mnt/c/Windows/system32” . Если вы столкнулись с ошибкой, то, скорее всего, пути там не будет.

Теперь проверьте настройки своего профиля,

cat /etc/profile

Теперь проверьте, начинается ли назначение пути(Path) с “#” , если да, закомментируйте блок. Кроме того, проверьте наличие файла wsl.conf(wsl.conf) и убедитесь, что в нем нет файла appendWindowsPath=false. Если это так, прокомментируйте это.

После этого нужно перезапустить раздачу. Для этого вы можете использовать следующую команду.

wsl -t <name of the distributor>

или

wsl --shutdown

Надеюсь, проблема будет исправлена.

16] ICS отключен

WSL не может работать без ICS или общего доступа к Интернету(ICS or Internet Connection Sharing) . Служба  Host Network Service (HNS)  использует ICS для создания фундаментальной виртуальной сети для WSL 2 для создания NAT , DNS , DHCP и совместного использования подключения к хосту.

Чтобы исправить ошибку, нам нужно включить ICS . Итак, выполните указанные шаги, чтобы включить ICS .

  1. Запустите  службы (Services ) из меню «  Пуск».(Start Menu.)
  2. Дважды щелкните Общий доступ к подключению к Интернету (ICS) (Internet Connection Sharing (ICS), ) и нажмите  Пуск (Start ) , если он остановлен.
  3. Наконец, нажмите  Apply > Ok.

Вы также должны отредактировать некоторые политики. Итак, запустите  редактор групповой политики (Group Policy Editor ) и перейдите в следующее место.

Computer Configuration > Administrative Templates > Network > Network Connections

И отключите следующие политики.

  • Запретить(Prohibit) установку и настройку сетевого моста(Network Bridge) в сети вашего домена DNS .
  • Запретите использование брандмауэра подключения(Internet Connection Firewall) к Интернету в сети вашего домена DNS .
  • Запретить использование общего доступа к подключению к Интернету(Internet Connection) в сети вашего домена DNS .
  • Требовать(Require) повышения прав пользователей домена при настройке сетевого местоположения

17] Баш повешен

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

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

Если вы видите какие-либо проблемы с подключением к OpenSSF-Server, первое, что вам нужно сделать, это проверить, работает ли OpenSSH-Server . Для этого вы можете использовать следующую команду.

sudo service ssh status

Если он не запущен, используйте следующую команду для запуска службы.

sudo service ssh start

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

sudo service ssh restart

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

sudo service ssh stop

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

sudo /usr/sbin/sshd -d

Надеюсь, это исправит ошибку.

19] Упомянутая сборка не найдена

Многие пользователи сталкиваются с сообщением «Не удалось найти указанную сборку»(“The referenced assembly could not be found”) при попытке включить дополнительную функцию WSL . Если вы один из них, попробуйте включить подсистему Windows для Linux (Windows Subsystem for Linux ) из панели управления(Control Panel) и обновить компьютер. Надеюсь(Hopefully) , это исправит ошибку.

20] Исправить(Correct) ( связанные с SSH ) ошибки разрешений

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

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for '/home/artur/.ssh/private-key.pem' are too open.

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

[automount]
enabled = true
options = metadata,uid=1000,gid=1000,umask=0022

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

Это были некоторые из сообщений об ошибках(Linux Error Messages) и кодах (Codes)подсистемы Windows(Windows Subsystem) для Linux, а также их советы по устранению неполадок. Мы надеемся, что они помогут вам исправить ошибки, проблемы(Problems) и проблемы(Issues) WSL .



About the author

Я веб-разработчик с опытом работы более 10 лет. Я специализируюсь на разработке Chrome OS и работал над широким спектром проектов от небольших стартапов до компаний из списка Fortune 500. Я также являюсь экспертом по учетным записям пользователей и семейной безопасности и разработал несколько успешных приложений для Android.



Related posts