Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dowiedz się więcej na temat różnych wersji WSL, w tym dlaczego WSL 2 jest teraz domyślny i konkretne scenariusze lub wyjątki, które mogą uzasadniać przełączenie zainstalowanej dystrybucji systemu Linux na wcześniejszą architekturę WSL 1.
Porównanie WSL 1 i WSL 2
W tym przewodniku porównamy WSL 1 i WSL 2, w tym wyjątki dotyczące używania programu WSL 1, a nie WSL 2. Podstawowe różnice między WSL 1 i WSL 2 to użycie rzeczywistego jądra systemu Linux na zarządzanej maszynie wirtualnej, obsługę pełnej zgodności wywołań systemowych i wydajność w systemach operacyjnych Linux i Windows. WSL 2 jest bieżącą wersją domyślną podczas instalowania dystrybucji systemu Linux i używa najnowszej, najbardziej zaawansowanej technologii wirtualizacji do uruchamiania jądra systemu Linux wewnątrz lekkiej maszyny wirtualnej. WSL2 uruchamia dystrybucje systemu Linux jako izolowane kontenery wewnątrz zarządzanej maszyny wirtualnej. Jeśli twoja dystrybucja obecnie działa na WSL 1 i chcesz zaktualizować do WSL 2, zobacz aktualizację z WSL 1 do WSL 2.
Porównywanie funkcji
Cecha | WSL 1 | WSL 2 |
---|---|---|
Integracja między systemami Windows i Linux | ✅ | ✅ |
Czasy szybkiego rozruchu | ✅ | ✅ |
Nieduże zużycie zasobów w porównaniu z tradycyjnymi maszynami wirtualnymi | ✅ | ✅ |
Działa z bieżącymi wersjami oprogramowania VMware i VirtualBox | ✅ | ❌ |
Zarządzana maszyna wirtualna | ❌ | ✅ |
Pełne jądro systemu Linux | ❌ | ✅ |
Pełna zgodność wywołań systemowych | ❌ | ✅ |
Wydajność w systemach plików systemu operacyjnego | ✅ | ❌ |
obsługa systemu | ❌ | ✅ |
Obsługa protokołu IPv6 | ✅ | ✅ |
Jak widać w powyższej tabeli porównania, architektura WSL 2 przewyższa system WSL 1 na kilka sposobów, z wyjątkiem wydajności w systemach plików systemu operacyjnego, które można rozwiązać, przechowując pliki projektu w tym samym systemie operacyjnym, co narzędzia, które są uruchamiane do pracy nad projektem.
Program WSL 2 jest dostępny tylko w systemie Windows 11 lub Windows 10 w wersji 1903, kompilacji 18362 lub nowszej. Sprawdź wersję systemu Windows, wybierając klawisz z logo Windows + R, wpisz winver, kliknij OK. (Lub wprowadź ver
polecenie w wierszu polecenia systemu Windows). Możesz potrzebować zaktualizować do najnowszej wersji systemu Windows. W przypadku kompilacji niższych niż 14393 program WSL nie jest w ogóle obsługiwany.
Aby uzyskać więcej informacji na temat najnowszych aktualizacji programu WSL 2, zobacz blog windows Command Line, w tym Systemd support is now available in WSL and WSL september 2023 update , aby uzyskać więcej informacji na temat obsługi protokołu IPv6.
Notatka
WSL 2 będzie współpracować z VMware 15.5.5+ i chociaż VirtualBox 6+ stwierdza, że istnieje obsługa WSL, nadal istnieją znaczące wyzwania, które sprawiają, że nie jest wspierane. Poznaj więcej informacji w naszych często zadawanych pytaniach.
Co nowego w programie WSL 2
WSL 2 to gruntowny przegląd podstawowej architektury i użycie technologii wirtualizacji i jądra systemu Linux w celu włączenia nowych funkcji. Głównymi celami tej aktualizacji są zwiększenie wydajności systemu plików i dodanie pełnej zgodności wywołań systemowych.
- wymagania systemowe WSL 2
- Ustaw wersję dystrybucji systemu Linux z WSL 1 na WSL 2
- Często zadawane pytania dotyczące systemu WSL 2
Architektura WSL 2
Tradycyjne środowisko maszyny wirtualnej może działać wolno, jest izolowane, zużywa dużo zasobów i wymaga czasu na zarządzanie nim. Program WSL 2 nie ma tych atrybutów.
Program WSL 2 zapewnia korzyści wynikające z programu WSL 1, w tym bezproblemową integrację między systemami Windows i Linux, krótki czas rozruchu, niewielki ślad zasobów i nie wymaga konfiguracji maszyny wirtualnej ani zarządzania. Chociaż program WSL 2 korzysta z maszyny wirtualnej, jest zarządzany i uruchamiany w tle, pozostawiając ci to samo środowisko użytkownika co WSL 1.
Pełne jądro systemu Linux
Jądro systemu Linux w programie WSL 2 jest tworzone przez firmę Microsoft z najnowszej stabilnej gałęzi opartej na źródle dostępnym pod adresem kernel.org. To jądro zostało specjalnie dostosowane do WSL 2, optymalizując rozmiar i wydajność, aby zapewnić niesamowite środowisko systemu Linux w systemie Windows. Jądro będzie obsługiwane przez aktualizacje systemu Windows, co oznacza, że uzyskasz najnowsze poprawki zabezpieczeń i ulepszenia jądra bez konieczności samodzielnego zarządzania nim.
Jądro systemu Linux WSL 2 jesttypu open source. Jeśli chcesz dowiedzieć się więcej, zapoznaj się z postem na blogu Wysyłka jądra systemu Linux z systemem Windows napisanym przez zespół, który zbudował jądro.
Dowiedz się więcej w Informacjach o wersji dla podsystemu Windows dla jądra Linux.
Zwiększona wydajność operacji wejścia/wyjścia plików
Operacje intensywnie korzystające z plików, takie jak git clone
, npm install
, apt update
, apt upgrade
i inne, są znacznie szybsze dzięki programowi WSL 2.
Rzeczywista szybkość będzie zależeć od uruchomionej aplikacji i sposobu interakcji z systemem plików. Początkowe wersje WSL 2 działają do 20 razy szybciej w porównaniu z WSL 1 podczas rozpakowywania zipped tarball i około 2-5x szybciej podczas korzystania z git clone
, npm install
i cmake
w różnych projektach.
Pełna zgodność wywołań systemowych
Pliki binarne systemu Linux używają wywołań systemowych do wykonywania funkcji, takich jak uzyskiwanie dostępu do plików, żądanie pamięci, tworzenie procesów i nie tylko. Podczas gdy system WSL 1 używał warstwy tłumaczenia, która została utworzona przez zespół WSL, system WSL 2 zawiera własne jądro systemu Linux z pełną zgodnością wywołań systemowych. Korzyści obejmują:
Zupełnie nowy zestaw aplikacji, które można uruchamiać w programie WSL, takich jak docker i nie tylko.
Wszystkie aktualizacje jądra systemu Linux są natychmiast gotowe do użycia (nie trzeba czekać na zespół WSL, aby zaimplementować aktualizacje i dodać zmiany).
Wyjątki dotyczące korzystania z programu WSL 1, a nie WSL 2
Zalecamy użycie WSL 2, ponieważ zapewnia szybszą wydajność i pełną zgodność z wywołaniami systemowymi (100%). Istnieje jednak kilka konkretnych scenariuszy, w których warto użyć protokołu WSL 1. Rozważ użycie protokołu WSL 1, jeśli:
- Pliki projektu muszą być przechowywane w systemie plików systemu Windows. Program WSL 1 zapewnia szybszy dostęp do plików zainstalowanych z systemu Windows.
- Jeśli będziesz używać dystrybucji systemu Linux WSL do uzyskiwania dostępu do plików projektu w systemie plików systemu Windows, a te pliki nie mogą być przechowywane w systemie plików Systemu Linux, uzyskasz szybszą wydajność w systemach plików systemu operacyjnego przy użyciu systemu WSL 1.
- Projekt, który wymaga krzyżowej kompilacji przy użyciu narzędzi systemu Windows i Linux w tych samych plikach.
- Wydajność plików w systemach operacyjnych Windows i Linux jest szybsza w systemie WSL 1 niż WSL 2, więc jeśli używasz aplikacji systemu Windows do uzyskiwania dostępu do plików z systemem Linux, obecnie uzyskasz szybszą wydajność dzięki systemowi WSL 1.
- Projekt wymaga dostępu do portu szeregowego lub urządzenia USB.
Jednak obsługa urządzeń USB jest teraz dostępna dla systemu WSL 2 za pośrednictwem projektu
USBIPD-WIN
. Aby uzyskać instrukcje konfiguracji, zobacz Connect USB devices (Łączenie urządzeń USB). - Protokół WSL 2 nie obejmuje obsługi uzyskiwania dostępu do portów szeregowych. Dowiedz się więcej w sekcji często zadawanych pytań lub w problemach z repozytorium GitHub WSL na temat obsługi szeregowej.
- Masz ścisłe wymagania dotyczące pamięci
- Użycie pamięci w programie WSL 2 rośnie i zmniejsza się w miarę korzystania z niego. Gdy proces zwalnia pamięć, zostanie ona automatycznie zwrócona do systemu Windows. Jednak na chwilę obecną WSL 2 nie zwalnia jeszcze buforowanych stron w pamięci z powrotem do systemu Windows, dopóki instancja WSL nie zostanie zamknięta. Jeśli masz długotrwałe sesje WSL lub uzyskujesz dostęp do bardzo dużej ilości plików, ta pamięć podręczna może zająć pamięć w systemie Windows. Śledzimy pracę nad poprawą tego doświadczenia na zgłoszeniu w repozytorium GitHub WSL 4166.
- W przypadku osób korzystających z usługi VirtualBox należy użyć najnowszej wersji zarówno VirtualBox, jak i WSL 2. Zobacz często zadawane pytania dotyczące .
- Jeśli korzystasz z dystrybucji systemu Linux, aby mieć adres IP w tej samej sieci co maszyna-host, może być konieczne skonfigurowanie obejścia w celu uruchomienia programu WSL 2. WSL 2 działa jako wirtualna maszyna Hyper-V. Jest to zmiana z używanego w WSL 1 adaptera sieciowego z mostkowaniem, co oznacza, że WSL 2 korzysta z usługi translacji adresów sieciowych (NAT) dla swojej sieci wirtualnej, zamiast mostkowania z kartą interfejsu sieciowego hosta. Skutkuje to unikatowym adresem IP, który zmienia się przy ponownym uruchomieniu. Aby dowiedzieć się więcej na temat problemu i obejścia problemu, który przekazuje porty TCP usług WSL 2 do systemu operacyjnego hosta, zobacz problem w repozytorium GitHub dotyczącym WSL 4150, tryb mostkowania interfejsu sieciowego (rozwiązanie problemu TCP).
Notatka
Rozważ wypróbowanie zdalnego rozszerzenia WSL programu VS Code, aby umożliwić przechowywanie plików projektu w systemie plików systemu Linux przy użyciu narzędzi wiersza polecenia systemu Linux, ale także za pomocą programu VS Code w systemie Windows do tworzenia, edytowania, debugowania lub uruchamiania projektu w przeglądarce internetowej bez żadnego z spowolnień wydajności związanych z pracą w systemach plików Linux i Windows. Dowiedz się więcej.
Program WSL w sklepie Microsoft Store
Program WSL podniósł funkcję aktualizacji z obrazu systemu operacyjnego Windows do pakietu dostępnego za pośrednictwem Sklepu Microsoft. Oznacza to szybsze aktualizacje i obsługę, gdy tylko są dostępne, zamiast czekać na aktualizację systemu operacyjnego Windows.
System WSL został pierwotnie dołączony do systemu operacyjnego Windows jako składnik opcjonalny, który należy włączyć w celu zainstalowania dystrybucji systemu Linux. Program WSL w Sklepie ma takie samo środowisko użytkownika i jest tym samym produktem, ale otrzymuje aktualizacje i obsługę jako pakiet sklepu, a nie jako całą aktualizację systemu operacyjnego. Począwszy od systemu Windows w wersji 19044 lub nowszej, uruchomienie polecenia wsl.exe --install
spowoduje zainstalowanie aktualizacji obsługi programu WSL ze Sklepu Microsoft. (Zobacz wpis w blogu ogłaszający tę aktualizację). Jeśli używasz już programu WSL, możesz zaktualizować, aby mieć pewność, że otrzymujesz najnowsze funkcje i aktualizacje WSL ze sklepu, uruchamiając wsl.exe --update
.
Notatka
Jeśli sklep Microsoft Store jest niedostępny w organizacji, nadal możesz korzystać z tej wersji programu WSL, dołączając --web-download
do polecenia --update
, takiego jak wsl --update --web-download
. Należy ręcznie zaktualizować program WSL za każdym razem, gdy nowa wersja stanie się dostępna przy użyciu tej metody.
Windows Subsystem for Linux