Bash na Windows / Windows Subsytem dla Linux (WSL) nie instaluje się poprawnie / zawiesza się

11

Otrzymałem rocznicową aktualizację systemu Windows i próbowałem zainstalować Bash. Uruchomiłem bash z wiersza poleceń (tryb nieadministracyjny) i utknął podczas próby wyodrębnienia plików. Zamknąłem okno i próbowałem zrobić to samo z podwyższonymi uprawnieniami (wiersz polecenia uruchamiany jako administrator ).

Ale teraz, kiedy wchodzę w bash, utknął tam i nie uruchamia się ani nie prosi o zainstalowanie basha. Widziałem w tle proces bash zużywający 25% procesora.

Podczas próby odinstalowania uruchomionego basha lxrun /uninstall /fullnie można odinstalować:

C: \ WINDOWS \ system32> lxrun / uninstall / full
Spowoduje to odinstalowanie Ubuntu w systemie Windows.

Spowoduje to usunięcie środowiska Ubuntu, a także wszelkich modyfikacji, nowych aplikacji i danych użytkownika.

Wpisz „y”, aby kontynuować: y

Odinstalowywanie ...

Błąd: 0x80080005

Jak mogę zresetować podsystem Linux dla Windows 10?

EDYCJA : Wypróbowałem również opcje wymienione tutaj przez Microsoft.

Sprawdź także ten problem. Bash przez chwilę nic nie robi, a potem wychodzi

Vivek Vijayan
źródło
Jak długo faktycznie czekałeś (a) na instalację?
gronostaj
Czekałem około 30 minut.
Vivek Vijayan
Alternatywnie możesz przejść do Włącz lub wyłącz funkcje systemu Windows i odznacz podsystem Windows dla systemu Linux (Beta), a następnie uruchom ponownie. Następnie włącz to samo pole wyboru i uruchom ponownie. Na moim komputerze nie mogłem uruchomić lxrun.
kleinfreund
Próbowałem tego wszystkiego! Myślę, że jest to szeroko zgłaszany problem
Vivek Vijayan
@VivekVijayan - przejmij na własność, %localappdata%\lxssa następnie usuń. Następnie można użyć lxrun /installdo Ubuntu on Windowsponownej instalacji . Zakłada się, że masz włączony tryb programisty i dodałeś już funkcję Windows (Podsystem Linux Linux).
Ramhound

Odpowiedzi:

5

Początkowo miałem problemy z odinstalowaniem nieudanej instalacji i usunięciem folderu lxss. Po pomyślnym wyczyszczeniu instalacji rozpocząłem próby ponownej instalacji, ale pojawił się wcześniejszy problem z instalacją. Proces się zacina Wyodrębnianie systemu plików ... jak opisano tutaj .

Wydaje mi się, że po wielu dniach prób i błędów znalazłem przyczynę tej agonii. W moim przypadku (i jak donosi wiele innych tutaj ) jest to program antywirusowy będący spoilsportem. Wyłączenie programu antywirusowego i ponowne uruchomienie wydaje się to dla mnie zrobić. Choć to głupie, jak się wydaje, Antivirus był główną przyczyną bólu iError: 0x80080005

Teraz dla tych, którzy nadal mają ten błąd, powinno to pomóc, jeśli spróbujesz wykonać następujące czynności w kolejności:

  1. Wyłącz program antywirusowy na stałe i uruchom go ponownie (możesz włączyć go po zakończeniu instalacji)
  2. Otwórz wiersz polecenia lub Windows PowerShell jako administrator
  3. Odinstaluj WSL, uruchamiając następujące polecenie lxrun /uninstall /full
  4. Teraz zatrzymaj usługę WSL - sc stop lxssmanager
  5. Usuń foldery danych aplikacji - rmdir /S %LOCALAPPDATA%\lxss. Potwierdź, że foldery zostały usunięte. Może być konieczna zmiana właściciela, aby usunąć folder, jeśli wystąpią błędy odmowy dostępu .
  6. Po usunięciu folderów spróbuj ponownie zainstalować WSL, uruchamiając lxrun /install /y
  7. Poczekaj, aż pobierze ze Sklepu Windows i wyodrębni pliki. (Możesz sprawdzić, %LOCALAPPDATA%\lxss\rootfsczy pliki zostały wyodrębnione).
  8. Mam nadzieję, że tym razem nie powinieneś dostać Error: 0x80080005.
  9. Ciesz się Bash na Windowsie !

EDYCJA : Kolejny powód błędu jest zidentyfikowany jako błąd, gdy masz wiele plików wymiany . Zostanie to naprawione w przyszłości, ale na razie usuń inne pliki wymiany i zachowaj tylko jeden plik wymiany. To powinno to naprawić.

Więcej informacji dla zainteresowanych:

Z powodu twojego pliku śledzenia zidentyfikowałem błąd w kodzie instalacyjnym, który oblicza rozmiar pliku wymiany. Z tej funkcji korzysta zarówno wywołanie systemowe sysinfo, jak i generowanie zawartości / proc / meminfo. Ten problem występuje, gdy masz wiele plików stron na twoim komputerze Istnieją trzy różne skutki, które mogą wystąpić w wyniku tego błędu: Niepoprawne zgłoszenie rozmiaru pliku wymiany Nasz sterownik odrzuci niepoprawny adres pamięci i spowoduje pojawienie się niebieskiego ekranu Maszyna wejdzie w nieskończoną pętlę podczas obliczania zmień rozmiar pliku (jest to ten, który widzisz) Jako tymczasowe obejście problemu, jeśli usuniesz wszystkie pliki stron z wyjątkiem jednego, powinieneś mieć możliwość korzystania z WSL. W tej chwili opracowuję poprawkę.

Odniesienie: Bash na Ubuntu w systemie Windows

Vivek Vijayan
źródło
Dzięki, pomogło mi to. Miałem uruchomiony Windows Defender i musiałem robić tylko 1-3 i 6-9, tzn. Nie musiałem zatrzymywać usługi ani niczego usuwać.
Tom Ellis,
Chętnie pomoże. W niektórych przypadkach usługa WSL utrudnia czyste usunięcie plików instalacyjnych. Cieszę się, że nie musiałeś przez to wszystko przechodzić.
Vivek Vijayan,