Jak rozwiązać problemy z WSL w systemie Windows 11
Jeśli WSL (Windows Subsystem for Linux) nagle przestaje działać lub wyświetla błędy na komputerze z systemem Windows 11, jest to dość frustrujące — zwłaszcza gdy próbujesz po prostu wykonać jakąś prawdziwą pracę. Czasami jest to po prostu kwestia przestarzałego systemu Windows lub może WSL nie jest nawet poprawnie włączony. Ten przewodnik przedstawia niektóre typowe poprawki. To zdecydowanie trafienie lub pudło, ale w większości przypadków te kroki pomogły ludziom przywrócić środowisko Linux do działania bez całkowitej ponownej instalacji. Spodziewaj się, że będziesz musiał sprawdzić aktualizacje, przełączyć kilka funkcji i uruchomić kilka poleceń. Nic zbyt skomplikowanego, ale czasami może to przypominać próbę naprawy systemu Windows w naturze.
Jak naprawić WSL nie działa w systemie Windows 11
Upewnij się, że system Windows jest w pełni aktualny
To jest zazwyczaj pierwsza rzecz do sprawdzenia — WSL opiera się na niektórych funkcjach systemu Windows, które mogą być wadliwe lub nieaktualne. Jeśli Twoja wersja systemu Windows 11 nie jest aktualna, WSL może zachowywać się źle lub w ogóle nie uruchamiać się. Aby to sprawdzić, przejdź do Ustawienia > Windows Update i kliknij Sprawdź aktualizacje. Jeśli są jakieś, zainstaluj je, a następnie uruchom ponownie. Czasami samo pobranie najnowszych poprawek naprawia błąd, ponieważ firma Microsoft ma tendencję do wdrażania poprawek związanych z WSL ukrytych w aktualizacjach. W niektórych konfiguracjach ponowne uruchomienie po aktualizacji może wydawać się bezcelowe, ale lepiej być bezpiecznym. Widziałem kilka maszyn, na których WSL po prostu magicznie zaczyna działać po prawidłowym ponownym uruchomieniu po aktualizacji — co jest trochę dziwne, ale hej, działa.
Włącz funkcję WSL za pomocą menu funkcji systemu Windows
To jest dość podstawowe, ale nie pomijaj tego. Jeśli WSL nie jest włączony na poziomie systemu operacyjnego, nic nie zadziała, bez względu na to, jakie polecenia uruchomisz. Więc wejdź do wyszukiwarki i wpisz „Funkcje systemu Windows”.Kliknij Włącz lub wyłącz funkcje systemu Windows. Następnie przewiń w dół i znajdź Podsystem systemu Windows dla systemu Linux. Upewnij się, że jest zaznaczone. Rozważ również włączenie Platformy maszyn wirtualnych, ponieważ WSL 2 potrzebuje jej do prawidłowego działania. Po kliknięciu OK system Windows poprosi o ponowne uruchomienie. Powtórz te kroki, jeśli WSL nadal nie działa po ponownym uruchomieniu. Ponieważ oczywiście system Windows musi sprawić, że będzie to trochę bardziej frustrujące, niż powinno być. Na niektórych komputerach nie aktywuje się to od razu, więc drugie ponowne uruchomienie może pomóc.
Sprawdź instalację i konfigurację WSL
Gdy wszystko jest już włączone, otwórz program PowerShell jako administrator i uruchom to polecenie:
wsl --list --verbose
Sprawdza, jakie dystrybucje są zainstalowane i jakie są ich aktualne stany. Jeśli pokazuje błędy lub wspomina o złym stanie, może być konieczna ponowna instalacja dystrybucji Linuksa lub nawet samego WSL. Czasami silnik WSL jest w zawieszeniu i wymaga odświeżenia — zasadniczo ponownego uruchomienia WSL, aby zresetować jego stan. W niektórych przypadkach pomaga ręczna aktualizacja do WSL 2. Uruchom wsl --set-default-version 2— to upewnia, że masz najnowszą, najszybszą wersję, szczególnie jeśli widzisz problemy z wydajnością lub dziwne awarie. Tymczasem na jednej konfiguracji działało natychmiast; na innej musiałem uruchomić to dwa razy, zanim zostało zarejestrowane.
Zainstaluj ponownie WSL, jeśli nadal coś jest nie tak
Jeśli nic innego nie działa, spróbuj wykonać pełny reset. Przejdź do Ustawienia > Aplikacje > Funkcje opcjonalne. Jeśli pojawi się WSL, odinstaluj go. Jeśli nie, przejdź do następnego kroku. Aby całkowicie usunąć WSL, może być konieczne użycie poleceń programu PowerShell, takich jak:
dism /online /disable-feature /featurename:Microsoft-Windows-Subsystem-Linux /norestart
i podobnie dla Virtual Machine Platform. Po wyłączeniu, zrestartuj, a następnie ponownie włącz WSL, zaznaczając pole wyboru w menu Windows Features, a następnie uruchom ponownie. Może to brzmi żmudnie, ale czasami wewnętrzna konfiguracja WSL jest tak zepsuta, że jedyną drogą jest czysta ponowna instalacja.
Dodatkowe wskazówki i typowe pułapki
- Upewnij się, że Twoja wersja systemu Windows obsługuje WSL 2 (Windows 11 wersja 21H2 lub nowsza).Informacje o kompilacji możesz zobaczyć w Ustawienia > System > Informacje.
- Uruchamiaj
wsl --set-default-version 2regularnie, jeśli zależy Ci na lepszej kompatybilności i szybkości. - Jeśli prawie nic nie działa, sprawdź, czy wirtualizacja jest włączona w BIOS-ie. Czasami technologia wirtualizacji (Intel VT-x lub AMD-V) jest wyłączana bez Twojej wiedzy. Znajdziesz to w Ustawieniach > Prywatność i bezpieczeństwo > Zabezpieczenia systemu Windows > Zabezpieczenia urządzeń > Izolacja rdzenia i integralność pamięci.
- I oczywiście sprawdź, czy Twoja dystrybucja (np. Ubuntu lub Debian) została zainstalowana poprawnie, uruchamiając oficjalny przewodnik instalacji WSL firmy Microsoft.
Podsumowanie
Zasadniczo te kroki odnoszą się do typowych podejrzanych, gdy WSL zaczyna szwankować. Czasami jest to kwestia aktualizacji; innym razem czysta instalacja lub modyfikacja ustawień. Nie jestem pewien, dlaczego to działa, ale na jednym komputerze, ponowne uruchomienie po włączeniu funkcji rozwiązało problem; na innym, włączenie Virtual Machine Platform. Trochę cierpliwości może wiele zdziałać, ponieważ Windows może być dość nieprzewidywalny w przypadku tych funkcji. Trzymam kciuki, że to pomoże komuś wrócić do swojego przepływu pracy w Linuksie bez wyrywania sobie włosów.
Streszczenie
- Sprawdź dostępność aktualizacji systemu Windows i uruchom ponownie
- Włącz WSL i platformę maszyn wirtualnych w funkcjach systemu Windows
- Uruchom
wsl --list --verbose, aby sprawdzić stan dystrybucji - Ustaw WSL 2 jako domyślny za pomocą
wsl --set-default-version 2 - W razie potrzeby zainstaluj ponownie lub zresetuj WSL
- Upewnij się, że wirtualizacja jest włączona w BIOS-ie