Коригирайте подсистемата на Windows за Linux грешки, проблеми и проблеми

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

(Fix Windows Subsystem)Коригирайте подсистемата на Windows за грешки(Linux Errors) , проблеми(Problems) и проблеми с Linux(Issues)

Това са съобщения, за които ще отстраним неизправности, съобщения за грешки(Linux Error Messages) и кодове на (Codes)Windows подсистема(Windows Subsystem) за Linux .

  1. Не виждате опции за WSL 2
  2. Грешка: 0x1bc
  3. Грешка: 0x80040306 при инсталиране
  4. Няма достъп до WSL файлове от Windows
  5. Не може да стартира разпространението на 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 . Това се случва, когато компютърната ви машина все още не е заела backport за 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” ) и щракнете върху OK.

Накрая проверете дали отстранява проблема.

4] Няма достъп до WSL файлове от Windows

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

Най-лесното решение е да актуализирате компютъра си и да активирате „актуализации за продукти на Microsoft в Windows Update“. (“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 .

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 . За разлика от предишни грешки, тази грешка има повече от едно решение. Така че, закопчайте се и прочетете всички решения.

Това са нещата, които можете да направите, за да поправите грешка: 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 , проверете го и щракнете върху OK.

След активиране на 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 Update . Така че, за да отстраним проблема, трябва да активираме тази опция. За да направите това, следвайте дадените стъпки.

  1. Стартирайте  Control  от менюто "  Старт".(Start Menu.)
  2. Щракнете върху  Programs and Features > Turn Windows features on or off
  3. Превъртете надолу, за да намерите подсистема на Windows за Linux(Windows Subsystem for Linux) , проверете я и щракнете върху OK.

Накрая рестартирайте компютъра си и проверете дали проблемът продължава.

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 Subsystem for Linux . По-долу е неговият път.

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

Рестартирайте компютъра си, инсталирайте отново Bash и проверете дали решава проблема.

12] Няма достъп до интернет в WSL

Много потребители съобщават, че нямат достъп до Интернет(Internet) в WSL . Решението обаче може да е по-лесно, отколкото си мислите. Това се случва поради всяка антивирусна програма на трета страна, която може да имате. Тъй като защитната стена блокира интернет(Internet) . Така че, за да поправите това, премахнете антивируса и ще бъдете готови.

13] Отказано разрешение при използване на Ping(Permission)

Ако не можете да пингувате в WSL , това означава, че нямате административни привилегии. Така че, трябва да стартирате Ubuntu и Linux с административни привилегии или Bash.exe на вашия интерпретатор на командния ред с административни привилегии.

Надяваме се, че това лесно ще реши проблема.

14] Не може да се стартира след инсталиране на WSL 2

Причината, поради която не можете да стартирате след инсталиране на WSL 2   , все още е невероятна, но Microsoft се опитва да работи върху актуализация, за да диагностицира напълно проблема. Има обаче две неща, които можете да направите и да видите дали това решава проблема.

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

Има няколко дистрибутори в 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 присъства и се уверете, че няма appendWindowsPath=false. Ако е така, коментирайте го.

След като направите това, трябва да рестартирате разпространението. Можете да използвате следната команда, за да направите това.

wsl -t <name of the distributor>

или

wsl --shutdown

Да се ​​надяваме, че проблемът ще бъде отстранен.

16] ICS е деактивиран

WSL не може да работи без ICS или споделяне на интернет връзка(ICS or Internet Connection Sharing) . Услугата  Host Network (HNS) (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

Това ще коригира грешката. Преди да направите това, уверете се, че имате подходящо разрешение.

Това бяха някои от съобщенията и кодовете за (Codes)грешки в (Linux Error Messages)подсистемата на Windows(Windows Subsystem) за Linux и техните съвети за отстраняване на неизправности. Надяваме се, че те ще ви помогнат да коригирате WSL грешки, проблеми(Problems) и проблеми(Issues) .



About the author

Аз съм опитен софтуерен инженер, с над 10 години опит в разработването и поддържането на Microsoft Office приложения. Имам силна страст да помагам на другите да постигнат целите си, както чрез работата ми като софтуерен инженер, така и чрез моите умения за публично говорене и работа в мрежа. Освен това съм изключително запознат с драйверите за хардуер и клавиатура, като сам разработих и тествах много от тях.



Related posts