Napraw podsystem Windows dla błędów, problemów i problemów Linuksa

Jak każde oprogramowanie, podsystem Windows (WSL2) również ma sprawiedliwy udział w problemach. W tym przewodniku rozwiążemy problemy z komunikatami i kodami błędów podsystemu Windows dla systemu Linux .(Windows Subsystem for Linux)

Napraw podsystem Windows(Fix Windows Subsystem) dla błędów Linux(Linux Errors) , problemów(Problems) i problemów(Issues)

Są to komunikaty, w przypadku których zamierzamy rozwiązać problemy z komunikatami(Linux Error Messages) i kodami błędów (Codes)podsystemu Windows(Windows Subsystem) dla systemu Linux .

  1. Nie widzę opcji dla WSL 2
  2. Błąd: 0x1bc
  3. Błąd: 0x80040306 podczas instalacji
  4. Nie można uzyskać dostępu do plików WSL z systemu Windows(WSL)
  5. Nie można uruchomić dystrybucji WSL 2 i w danych wyjściowych widać tylko ' WSL(WSL 2) 2 '(WSL 2)
  6. Nie znaleziono polecenia
  7. Błąd: 0x80370102 Nie można uruchomić maszyny wirtualnej, ponieważ wymagana funkcja nie jest zainstalowana
  8. Błąd: 0x80040154 po aktualizacji systemu Windows(Windows)
  9. WSL przestaje(WSL Stops) działać z  błędem 0x80070003(Error 0x80070003)
  10. Zmiana języka wyświetlacza w WSL
  11. (Installation)Problemy z instalacją po przywróceniu systemu Windows
  12. Brak dostępu do internetu w WSL
  13. Odmowa uprawnień podczas korzystania z Ping
  14. Nie można uruchomić po zainstalowaniu WSL 2
  15. Nie można uruchomić poleceń systemu Windows(Windows Commands) w dystrybutorze
  16. ICS jest wyłączony
  17. Bash jest zawieszony
  18. Problemy z połączeniem OpenSSH-Server
  19. Nie można znaleźć wymienionego zespołu
  20. Popraw(Correct) ( związane z SSH ) błędy uprawnień

Porozmawiajmy o nich szczegółowo.

1] Nie widzę opcji dla WSL 2

Wielu użytkowników Windowsa(Windows) skarżyło się, że chociaż mają budowę nr 1903, nie są w stanie zobaczyć opcji dla WSL 2 . Dzieje się tak, gdy komputer nie ma jeszcze backportu dla WSL 2 .

Aby to naprawić, wystarczy sprawdzić dostępność aktualizacji( check for updates) i będziesz gotowy do pracy.

2] Błąd: 0x1bc

Możesz zobaczyć następujący błąd, gdy „Język wyświetlania” (“Display Language” ) lub  „Ustawienia regionalne” (“System Locale” ) nie są ustawione na  angielski.(English.)

wsl --set-default-version 2

Error: 0x1bc

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

Aby naprawić błąd, musisz sprawdzić, czy jądro(Kernel) jest zainstalowane na twoim komputerze. Aby to zrobić, użyj następującego polecenia.

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

Jeśli nie masz jądra(Kernel) , pobierz go z aka.ms. Upewnij się, że pobrałeś go jako administrator i zainstaluj jądro(Kernel) na swoim komputerze, aby naprawić błąd.

3] Błąd: 0x80040306 podczas instalacji

Napraw podsystem Windows dla błędów, problemów i problemów Linuksa

Jeśli widzisz błąd: 0x80040306 podczas instalacji. Aby to naprawić, musisz wyłączyć  starszą konsolę. (Legacy Console. )Aby to zrobić, wykonaj podane kroki.

  1. Otwórz  wiersz polecenia (Command Prompt ) jako administrator z  menu Start.(Start Menu.)
  2. Kliknij prawym przyciskiem myszy(Right-click) logo cmd i wybierz Właściwości.(Properties.)
  3. Teraz odznacz Użyj starszej konsoli” (Use legacy console” ) i kliknij OK.

Na koniec sprawdź, czy to rozwiązuje problem.

4] Nie można uzyskać dostępu do plików WSL z systemu Windows(WSL)

Jeśli nie możesz uzyskać dostępu do podsystemu Windows(Windows Subsystem) dla systemu Linux(Linux) przez \\wsl$ w systemie Windows(Windows) , może to oznaczać, że serwer plików protokołu 9P nie uruchamia się.

Najłatwiejszą poprawką jest aktualizacja komputera i włączenie „aktualizacji produktów Microsoft w witrynie Windows Update”. (“updates for Microsoft products on Windows Update”. )Aby to zrobić, możesz wykonać podane kroki.

  1. Uruchom  ustawienia (Settings ) przez  Win + I.
  2. Kliknij  Update & Security > Advanced options.
  3. Użyj przełącznika, aby wyłączyć „ Otrzymuj aktualizacje dla innych produktów firmy Microsoft podczas aktualizacji systemu Windows(Receive updates for other Microsoft products when you update Windows) ”.

To rozwiąże problem.

5] Nie można uruchomić dystrybucji WSL 2 i w danych wyjściowych widać tylko ' WSL(WSL 2) 2 '(WSL 2)

Ten błąd jest nieunikniony, jeśli język wyświetlania nie jest ustawiony na angielski. Podczas próby uruchomienia WSL 2(WSL 2) zobaczysz następujące dane wyjściowe .

C:\Users\me>wsl

WSL 2

Aby naprawić błąd, musisz ręcznie pobrać i zainstalować jądro(Kernel) . Możesz pobrać plik z aka.ms/wsl2kernel . Zainstaluj jądro(Kernel) , aby łatwo naprawić błąd.

6) Nie znaleziono polecenia

Jest to jeden z typowych błędów, które można zobaczyć, gdy uruchamiają plik .exe systemu Windows w systemie Linux(Linux) . Podczas próby zrobienia tego samego możesz zobaczyć następujący błąd.

$ notepad.exe

-bash: notepad.exe: command not found

Dzieje się tak, gdy  $PATH nie może znaleźć pliku .exe . Najlepszym rozwiązaniem tego błędu jest uruchomienie następującego polecenia w Terminalu(Terminal) .

export PATH=$PATH:/usr/sbin

Zrób to i sprawdź, czy to naprawi błąd.

7] Błąd: 0x80370102 Nie można uruchomić maszyny wirtualnej, ponieważ wymagana funkcja nie jest zainstalowana

Wiele osób doświadczyło tego błędu podczas próby zainstalowania dystrybutora Linuksa(Linux) . W przeciwieństwie do poprzednich błędów, ten błąd ma więcej niż jedno rozwiązanie. Więc zapnij pasy i przeczytaj wszystkie rozwiązania.

Oto rzeczy, które możesz zrobić, aby naprawić błąd: 0x80370102, Nie można uruchomić maszyny wirtualnej, ponieważ wymagana funkcja nie jest zainstalowana .

  1. Włącz Hyper-V
  2. Włącz wirtualizację sprzętu
  3. Włącz zagnieżdżoną wirtualizację

Porozmawiajmy o nich szczegółowo.

Włącz Hyper-V

Bez Hyper-V nie będziesz w stanie stworzyć środowiska(Environment) wirtualnego . Włącz go za pomocą następujących kroków.

  1. Otwórz  Panel sterowania (Control Panel )menu Start.(Start Menu.)
  2. Kliknij  Programs and Features > Turn Windows features on or off
  3. Przewiń(Scroll) w dół, aby znaleźć Hyper-V , sprawdź to i kliknij OK.

Po włączeniu funkcji Hyper-V sprawdź, czy problem został rozwiązany.

Włącz wirtualizację sprzętu

Wirtualizacja sprzętowa(Hardware Virtualization) jest koniecznością podczas próby uruchomienia maszyny wirtualnej(Virtual Machine) . Jeśli więc napotkasz błąd: 0x80370102, spróbuj włączyć wirtualizację sprzętu(enable Hardware Virtualization) w systemie BIOS, aby rozwiązać problem.

Włącz zagnieżdżoną wirtualizację

Zagnieżdżona wirtualizacja(Virtualization) umożliwia uruchomienie Hypervisora(Hypervisor) ​​wewnątrz maszyny wirtualnej. Jeśli więc nadal napotykasz błąd, spróbuj włączyć zagnieżdżoną wirtualizację(Virtualization) . Aby to zrobić, musisz uruchomić PowerShell  jako administrator i uruchomić następujące polecenie.

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

Uruchom to polecenie i sprawdź, czy rozwiązuje problem.

8] Błąd: 0x80040154 po aktualizacji systemu Windows(Windows)

rozwiązywanie problemów z komunikatami o błędach i kodami podsystemu Windows dla systemu Linux

Ten błąd może się pojawić, jeśli podsystem Windows(Windows Subsystem) dla systemu Linux(Linux) jest wyłączony z powodu aktualizacji systemu Windows(Windows Update) . Aby rozwiązać problem, musimy włączyć tę opcję. Aby to zrobić, wykonaj podane kroki.

  1. Uruchom  Control menu Start.(Start Menu.)
  2. Kliknij  Programs and Features > Turn Windows features on or off
  3. Przewiń w dół, aby znaleźć Podsystem Windows dla systemu Linux(Windows Subsystem for Linux) , sprawdź to i kliknij OK.

Na koniec uruchom ponownie komputer i sprawdź, czy problem nadal występuje.

9] WSL przestaje(WSL Stops) działać z  błędem 0x80070003(Error 0x80070003)

Jeśli WSL zatrzymuje się z tym kodem błędu 0x80070003(error code 0x80070003) , rozwiąż go za pomocą tego przewodnika.

10] Zmiana języka wyświetlania w (Display)WSL

WSL automatycznie zmienia ustawienia regionalne Ubuntu , aby dopasować je do języka komputera z systemem Windows(Windows) . Jeśli nie jesteś fanem tego ruchu, użyj następującego polecenia, aby ustawić język wyświetlania zgodnie ze swoimi potrzebami.

Uwaga: następujące polecenie zmieni język na en-US.

sudo update-locale LANG=en_US.UTF8

Zrób to i sprawdź, czy to rozwiązuje problem.

11] Problemy z instalacją(Installation) po przywróceniu systemu Windows

Jeśli masz problemy z instalacją(Installation) po przywróceniu systemu Windows , spróbuj usunąć folder Windows Subsystem for Linux . Oto jego ścieżka.

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

Uruchom ponownie komputer, zainstaluj ponownie Bash i sprawdź, czy to rozwiązuje problem.

12] Brak dostępu do Internetu w WSL

Wielu użytkowników zgłosiło, że nie mogą uzyskać dostępu do Internetu(Internet) w WSL . Jednak rozwiązanie może być łatwiejsze niż myślisz. Dzieje się tak z powodu dowolnego programu antywirusowego innej firmy, który możesz mieć. Ponieważ zapora blokuje Internet . Aby to naprawić, usuń program antywirusowy i będziesz gotowy.

13] Odmowa uprawnień(Permission) podczas korzystania z Ping

Jeśli nie możesz pingować w WSL , oznacza to, że nie masz uprawnień administratora. Musisz więc uruchomić Ubuntu i Linuxa(Linux) z uprawnieniami administratora lub Bash.exe na swoim interpreterze wiersza poleceń z uprawnieniami administratora.

Mamy nadzieję, że to łatwo rozwiąże problem.

14] Nie można uruchomić po zainstalowaniu WSL 2

Powód, dla którego nie możesz uruchomić komputera po zainstalowaniu WSL 2   , jest nadal niesamowity, ale Microsoft próbuje pracować nad aktualizacją, aby w pełni zdiagnozować problem. Są jednak dwie rzeczy, które możesz zrobić i sprawdzić, czy to rozwiąże problem.

15] Nie można uruchomić poleceń systemu Windows(Windows Commands) w dystrybutorze

W Sklepie Windows(Windows Store) jest kilku dystrybutorów , którzy nie są w pełni zoptymalizowani do uruchamiania wszystkich poleceń systemu Windows(Windows Commands) . Możesz otrzymać dowolny z następujących błędów.

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

Aby naprawić ten błąd, uruchom następujące polecenie.

echo $PATH

Teraz sprawdź, czy dane wyjściowe zawierają “/mnt/c/Windows/system32” , jeśli napotkasz błąd, najprawdopodobniej ścieżki tam nie będzie.

Teraz sprawdź ustawienia swojego profilu przez

cat /etc/profile

Teraz sprawdź, czy przypisanie ścieżki(Path) zaczyna się od “#” , jeśli tak, skomentuj blok. Sprawdź również, czy wsl.conf jest obecny i upewnij się, że nie ma appendWindowsPath=false. Jeśli tak, skomentuj to.

Po wykonaniu tej czynności musisz ponownie uruchomić dystrybucję. W tym celu możesz użyć następującego polecenia.

wsl -t <name of the distributor>

lub

wsl --shutdown

Mamy nadzieję, że problem zostanie rozwiązany.

16] ICS jest wyłączony

WSL nie może działać bez ICS lub udostępniania połączenia internetowego(ICS or Internet Connection Sharing) . Usługa  sieci hosta (HNS) (Host Network Service (HNS) ) używa ICS do zbudowania podstawowej sieci wirtualnej dla WSL 2 w celu utworzenia NAT , DNS , DHCP i udostępniania połączeń hosta.

Aby naprawić błąd, musimy włączyć ICS . Wykonaj więc podane kroki, aby włączyć ICS .

  1. Uruchom  usługi (Services )menu Start.(Start Menu.)
  2. Kliknij dwukrotnie Udostępnianie połączenia internetowego (ICS) (Internet Connection Sharing (ICS), ) i kliknij  Start  , jeśli jest zatrzymane.
  3. Na koniec kliknij  Apply > Ok.

Powinieneś także edytować niektóre zasady. Uruchom więc  Edytor zasad grupy (Group Policy Editor ) i przejdź do następującej lokalizacji.

Computer Configuration > Administrative Templates > Network > Network Connections

I wyłącz następujące zasady.

  • Zabroń(Prohibit) instalacji i konfiguracji Network Bridge w sieci domeny DNS
  • Zabroń korzystania z zapory połączenia internetowego(Internet Connection Firewall) w sieci domeny DNS
  • Zabroń korzystania z udostępniania połączenia internetowego(Internet Connection) w sieci domeny DNS
  • Wymagaj(Require) od użytkowników domeny wyższego poziomu podczas ustawiania lokalizacji sieci

17] Bash jest zawieszony

Gdy Bash zawiesi się lub utknie i przestanie odpowiadać na dane wejściowe, możesz albo ponownie uruchomić komputer, ponieważ naprawi to błąd lub zgłosi zrzut pamięci. To ostatnie może doprowadzić do awarii systemu, więc zapisz swoją pracę przed zgłoszeniem.

18] Problemy z połączeniem OpenSSH-Server

Jeśli widzisz jakikolwiek problem z połączeniem OpenSSF-Server, pierwszą rzeczą, którą musisz zrobić, to sprawdzić, czy OpenSSH-Server jest uruchomiony. W tym celu możesz użyć następującego polecenia.

sudo service ssh status

Jeśli nie jest uruchomiony, użyj następującego polecenia, aby uruchomić usługę.

sudo service ssh start

Jeśli działa, uruchom ponownie usługę za pomocą następującego polecenia i sprawdź, czy to rozwiązuje problem.

sudo service ssh restart

Jeśli nie jest w stanie rozwiązać problemu, spróbuj uruchomić SSHD w trybie debugowania. Wcześniej użyj następującego polecenia, aby zatrzymać usługę SSH .

sudo service ssh stop

Teraz użyj następującego polecenia, aby uruchomić SSHD w trybie debugowania.

sudo /usr/sbin/sshd -d

Mamy nadzieję, że to naprawi błąd.

19] Nie można znaleźć wymienionego zespołu

Wielu użytkowników napotyka komunikat „Nie można znaleźć zestawu, do którego się odwołuje”(“The referenced assembly could not be found”) , gdy próbują włączyć dodatkową funkcję WSL . Jeśli jesteś jednym z nich, spróbuj włączyć Podsystem Windows dla systemu Linux (Windows Subsystem for Linux ) z Panelu sterowania(Control Panel) i zaktualizować komputer. Mam nadzieję(Hopefully) , że to naprawi błąd.

20] Popraw(Correct) ( związane z SSH ) błędy uprawnień

Jeśli widzisz następujący błąd, wątek w tej sekcji, aby znaleźć rozwiązanie.

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

Aby rozwiązać ten problem, firma Microsoft(Microsoft) sugeruje przejście do pliku /etc/wsl.conf  i dołączenie następujących elementów:

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

To naprawi błąd. Zanim to zrobisz, upewnij się, że masz odpowiednie uprawnienia.

Były to niektóre z komunikatów(Linux Error Messages) i kodów błędów (Codes)podsystemu Windows(Windows Subsystem) dla systemu Linux oraz ich wskazówek dotyczących rozwiązywania problemów. Mamy nadzieję, że pomogą Ci naprawić błędy, problemy(Problems) i problemy(Issues) WSL .



About the author

Jestem inżynierem oprogramowania i ekspertem od Windows 10. Mam ponad dwuletnie doświadczenie w pracy ze smartfonami, Windows 10 i Microsoft Edge. Moim głównym celem jest sprawienie, aby Twoje urządzenia działały lepiej i szybciej. Pracowałem przy różnych projektach dla firm takich jak Verizon, IMac, HP, Comcast i wielu innych. Jestem również certyfikowanym instruktorem szkoleń w chmurze Microsoft Azure.



Related posts