Głębokie zanurzenie w możliwościach WSL2

Windows i Linux to dwa najpopularniejsze systemy operacyjne (OS). Windows oferuje przyjazne dla użytkownika podejście, ale duże możliwości dostosowywania Linuksa sprawiają, że jest to najlepszy wybór dla programistów, ludzi produktywnych i uczących się.

Aby uzyskać do nich dostęp, potrzebujesz wirtualizacji w systemie Windows lub podwójnego rozruchu.

Istnieje jednak nowa funkcja systemu Windows, która umożliwia bezproblemowy dostęp do Linuksa w systemie Windows.

Poznaj WSL2 – nadchodzi podsystem Windows dla systemu Linux. Jest to funkcja systemu Windows, która umożliwia dostęp do systemu Linux w systemie Windows.

W tym artykule skupimy się na WSL2. Omówimy go bardzo szczegółowo, jego definicję, cel, proces instalacji i efektywne wykorzystanie.

Zacznijmy.

Co to jest podsystem Windows dla systemu Linux?

Podsystem Windows dla systemu Linux umożliwia dostęp do środowiska GNU/Linux bezpośrednio z terminala systemu Windows, eliminując potrzebę podwójnego rozruchu lub używania narzędzi do wirtualizacji. Dzięki niemu możesz uzyskać dostęp do jądra Linuksa. Oznacza to, że możesz korzystać z funkcji Linuksa bezpośrednio z systemu Windows, w tym narzędzi wiersza poleceń, aplikacji i narzędzi.

WSL 2 to najnowszy podsystem Windows oferujący lepsze funkcje i szybkość niż WSL1 (uruchomiony z systemem Windows 10). Ponadto większość instalacji systemu Windows jest dostarczana z preinstalowanym WSL. Aby z niego skorzystać, musisz go włączyć.

Pod maską WSL2 wykorzystuje technologię maszyny wirtualnej Windows Hyper-V. To sprawia, że ​​WSL2 Linux jest kompatybilny, co skutkuje prawie 20-krotnie większą szybkością wykonywania niż WSL1.

Krótko mówiąc, WSL2 to najnowszy podsystem Windows dla systemu Linux, dający użytkownikom systemu Windows, takim jak ty, bezpośredni dostęp do jądra systemu Linux.

Pierwsze kroki z WSL2

W naszym samouczku będziemy również korzystać z terminala Windows, przydatnej, ale zalecanej opcji do pracy z terminalami w systemie Windows. Jest to nowoczesny, szybki i wydajny terminal dla użytkowników, którzy chcą pracować z narzędziami wiersza poleceń i WSL.

Wymagania dotyczące komputera

Nie na wszystkich komputerach PC można uruchomić WSL2. Twój system musi obsługiwać wirtualizację, aby uruchomić WSL2. To dlatego, że WSL2 używa Hyper-V pod maską.

Należy również użyć 64-bitowego procesora z obsługą SLAT (Second Level Address Translation). Obsługują go prawie wszystkie nowoczesne procesory.

Jeśli chodzi o miejsce na dysku, potrzebujesz co najmniej 1 GB wolnego miejsca.

Włączanie wirtualizacji z systemu BIOS

Jeśli spełniasz wymagania sprzętowe, musisz włączyć tę funkcję z BIOS-u płyty głównej.

Wejdź do systemu BIOS, naciskając klawisze klawiatury, takie jak F2, Del lub F10.

W systemie BIOS należy znaleźć i włączyć technologię Secure Virtual Machines (SVM) firmy AMD/technologię wirtualizacji VTx firmy Intel. Po zakończeniu uruchom ponownie maszynę.

Jeśli potrzebujesz więcej wyjaśnień, zapoznaj się ze szczegółowymi instrukcjami w moim innym poście, Jak zainstalować Ubuntu w systemie Windows 10 przy użyciu funkcji Hyper-V.

Włączanie funkcji systemu Windows dla WSL2

Po spełnieniu wymagań sprzętowych nadszedł czas, aby włączyć WSL2 w systemie Windows.

Pierwszym krokiem jest sprawdzenie wersji systemu Windows. Pomoże nam to dowiedzieć się, czy Twój system Windows obsługuje WSL, czy nie.

Aby to zrobić, naciśnij CMD + R na klawiaturze i wpisz „winver”. Pokaże twoją wersję systemu Windows.

Jeśli używasz systemu Windows 10, prawdopodobnie używasz WSL1. Jednak dla większości użytkowników systemu Windows 11 jest to WSL2.

Wszystkie wersje Windows 10 i 11 obsługują WSL2, z wyjątkiem Windows S, ponieważ ma on na celu bezpieczeństwo i ma wyłączoną wirtualizację.

Jeśli używasz systemu Windows S, musisz zmienić wersję na inną, na przykład Windows Home lub Pro.

Aby to zrobić, przejdź do Ustawienia > Aktualizacja i zabezpieczenia > Aktywacja, aby zmienić system operacyjny.

Ponadto musisz mieć zainstalowaną najnowszą aktualizację systemu Windows. Zapewni to pełną kompatybilność i wsparcie dla WSL2. Aby zaktualizować system, przejdź do Ustawienia > Windows Update.

Aby korzystać z WSL2, musisz włączyć wiele funkcji systemu Windows.

Przejdź do Panelu sterowania > Programy i funkcje. Pod nim znajdziesz „Włącz lub wyłącz funkcje systemu Windows”. Kliknij na niego, a otworzy się nowe okno „Funkcje systemu Windows”.

Tam wyszukaj „Hyper-V”, „Virtual Machine Platform” i „Windows Subsystem for Linux”.

Następnie poprosi o ponowne uruchomienie, aby zmiany zaczęły obowiązywać.

Możesz go również włączyć, uruchamiając następujące polecenie.

$ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

$ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Instalowanie WSL2

Po uwzględnieniu wszystkich wymagań wstępnych nadszedł czas na zainstalowanie WSL.

Otwórz terminal systemu Windows (Windows 10) lub Windows PowerShell (Windows 11), a następnie wpisz następujące polecenie.

$ wsl

#wyjście

Copyright (c) Microsoft Corporation. All rights reserved.

Usage: wsl.exe [Argument]

Arguments:
…..

Oznacza to, że usługa WSL jest dostępna, ale nie została aktywowana.

Teraz, aby zainstalować WSL, uruchom następujące polecenie z uprawnieniami administratora.

$ wsl --install

#wyjście

PS C:\Users\Logan99> wsl --install

Installing: Virtual Machine Platform
Virtual Machine Platform has been installed.
Installing: Windows Subsystem for Linux
Windows Subsystem for Linux has been installed.
Installing: Ubuntu
Ubuntu has been installed.
The requested operation is successful. Changes will not be effective until the system is rebooted.

Uwaga: możesz tego nie widzieć, biorąc pod uwagę, że włączyłeś je za pomocą funkcji systemu Windows. Zamiast tego powinieneś otrzymać następujące dane wyjściowe. (Jeśli tak, przejdź do następnej sekcji).

Ubuntu is already installed.
Launching Ubuntu...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username:
New password:
Retype new password:

Aby sprawdzić wersję WSL, wpisz komendę wsl –version.

$ wsl --version

#wyjście

WSL version: 1.1.6.0

Kernel version: 5.15.90.1

WSLg version: 1.0.50

MSRDC version: 1.2.3770

Direct3D version: 1.608.2-61064218

DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp

Windows version: 10.0.22621.1413

Jak zauważysz, wersja WSL 1.1.6.0 jest już wstępnie zainstalowana. Więc jeśli to nie działa i wyświetla błąd, WSL nie jest zainstalowany.

Aby zmienić na WSL2, uruchom następujące polecenie.

$ wsl --set-default-version 2

Ponieważ nasz system ma już preinstalowany WSL, otrzymujemy ten komunikat.

Możesz także zainstalować WSL ze Sklepu Windows. Najpierw otwórz Sklep i wyszukaj „Podsystem Windows dla systemu Linux”.

Kliknij „Pobierz”. i poczekaj, aż się zainstaluje.

Po zainstalowaniu możesz kliknąć „Otwórz”, otworzy się terminal Windows z komunikatem „Podsystem Windows dla systemu Linux nie ma zainstalowanych dystrybucji”.

Instalowanie dystrybucji na WSL

Po zainstalowaniu WSL nadszedł czas na zainstalowanie dystrybucji Linuksa.

Domyślnie WSL instaluje wersję Ubuntu LTS. Aby to zrobić, musisz uruchomić następujące polecenie.

$ wsl --install

Rozpocznie się instalacja Ubuntu. Poprosi Cię o ustawienie nowej nazwy użytkownika i hasła UNIX podczas instalacji.

Po zakończeniu instalacji pojawi się monit Ubuntu Linux. Tutaj możesz użyć wszystkich poleceń Linuksa. Sprawdźmy wersję Ubuntu.

$ lsb_release -a

#wyjście

No LSB modules are available.

Distributor ID: Ubuntu

Description:    Ubuntu 22.04.1 LTS

Release:        22.04

Codename:       jammy

Otóż ​​to! Masz teraz dostęp do jądra Linuksa.

Aby wyjść z dystrybucji, musisz wpisać następujące polecenie.

$ exit

#wyjście

[email protected]:/mnt/c/Users/Logan99$ exit

logout

Instalowanie większej liczby dystrybucji

Podobnie możesz zainstalować inne dystrybucje, takie jak Fedora, Debian i OracleLinux_8_5. Aby zobaczyć dostępne opcje dystrybucji, wpisz następujące polecenie.

$ wsl --list --online

Aby zainstalować Debiana, musimy wpisać następujące polecenie.

$ wsl --install -d Debian

Or

$ wsl.exe --install Debian

Podobnie jak Ubuntu, poprosi Cię również o zainstalowanie nazwy użytkownika i hasła.

#wyjście

Teraz sprawdźmy wersję Debiana.

$ cat /etc/issue

#wyjście

$ Debian GNU/Linux 11 \n \l

Ale co z Fedorą? Nie jest wyświetlany, gdy używasz polecenia wsl –list –online.

Cóż, możesz również zainstalować dystrybucje ze sklepu Windows.

Otwórz Sklep Windows i wpisz dystrybucje Linuksa; wyświetli listę wszystkich dostępnych. Tutaj możesz zobaczyć tylko oficjalne obsługiwane dystrybucje.

Aby uzyskać nieoficjalne wsparcie dystrybucji, musisz wyszukać ręcznie. Jednak te nieoficjalne dystrybucje mogą zawierać błędy i nie są w 100% bezpieczne. Dlatego używaj go tylko do celów eksperymentalnych.

Kliknij „Zainstaluj”, aby udostępnić go w swoim systemie.

Ustawienie domyślnej dystrybucji

Jeśli chcesz zobaczyć listę dostępnych dystrybucji, możesz wyświetlić je za pomocą następującego polecenia.

$ wsl --list

Słowo kluczowe „Default” wokół Ubuntu oznacza, że ​​domyślna dystrybucja Linuksa uruchamia się po wpisaniu „wsl” w wierszu polecenia.

Aby zmienić domyślną dystrybucję, wpisz następujące polecenie.

$ wsl --setdefault <DistroName>

Aby więc ustawić Debiana jako naszą domyślną dystrybucję, musimy wpisać następujące polecenie.

$ wsl --setdefault Debian

Tak więc następnym razem, gdy wpiszesz wsl w terminalu, uruchomisz Debiana.

Przełączanie wersji WSL dla dystrybucji

Domyślnie dystrybucje używają WSL2. Aby wyświetlić listę aktualnie zainstalowanych dystrybucji i ich wersji WSL, wpisz następujące polecenie.

$ wsl --list --verbose

#wyjście

NAME      STATE           VERSION

* Ubuntu    Stopped         2

  Debian    Stopped         2

Tutaj * odnosi się do domyślnej instalacji systemu Linux.

Teraz, aby zmienić wersję WSL z 2 na 1, wpisz:

$ wsl --set-version Ubuntu 1

A jeśli chcesz przełączyć się z powrotem na 2 z 1, wpisz:

$ wsl --set-vesion Ubuntu 2

Uwaga: konwersja może zająć trochę czasu. Podczas konwersji nie zamykaj okna.

Uruchamianie określonych dystrybucji z różnymi nazwami użytkowników

Co zrobić, jeśli chcesz uruchomić określoną dystrybucję? Aby to zrobić, musisz wpisać następujące polecenie.

$ wsl -d <DistroName>

Or

$ wsl --distribution <DistroName>

Aby uruchomić Ubuntu, wpisz:

$ wsl -d Ubuntu

Jeśli chcesz uruchomić go z określoną nazwą użytkownika, musisz dodać –user, a następnie nazwę użytkownika.

$ wsl -d <DistroName> --user <UserName>

Na przykład, aby uruchomić Debiana z nazwą użytkownika „root”.

$ wsl -d Debian --user root

Uwaga: uruchomienie dystrybucji z nieistniejącym użytkownikiem spowoduje wyświetlenie błędu „Nie znaleziono użytkownika”.

Zaktualizuj Linuksa

Możesz zaktualizować dystrybucję Linuksa, wpisując następujące polecenie:

$ sudo apt update

$ sudo apt upgrade

Co więcej, możesz także poszukać aktualizacji jądra Linuksa dla WSL:

$ wsl --update

Konfigurowanie Visual Studio Code z WSL2

Możesz także skonfigurować VS Code do pracy z WSL. W ten sposób możesz uzyskać dostęp do terminala WSL bezpośrednio z VS Code. Może pomóc w tworzeniu aplikacji w aplikacjach opartych na systemie Linux, jednocześnie uzyskując dostęp do narzędzi i łańcuchów narzędzi specyficznych dla systemu Linux.

Co więcej, możesz także mieć dostęp do narzędzi zwiększających wydajność specyficznych dla systemu Windows, jednocześnie korzystając z funkcji VS Code.

Aby to działało, musisz zainstalować pakiet rozszerzeń Remote Development. Możesz również wyszukać go bezpośrednio z kodu VS, wyszukując jego nazwę na karcie rozszerzenia.

Jeśli pracujesz lokalnie, możesz to skonfigurować, przechodząc do menu VS Code. Stamtąd wybierz polecenie Widok > Terminal.

Otworzy terminal. Symbol > znajduje się obok symbolu „+”. Kliknij na niego, a zobaczysz listę terminali WSL.

Tutaj możesz także wybrać „Profil domyślny”.

Jest to możliwe, ponieważ VS Code może bezpośrednio uzyskiwać dostęp do \\wsl$\ i wszelkich debugerów działających na hoście lokalnym.

Praca z aplikacjami graficznymi i WSL2

Aby pracować z aplikacjami graficznymi, należy zainstalować odpowiednie sterowniki dla WSL2. Intel, AMD i Nvidia oferują sterownik dla WSL, dzięki któremu aplikacje graficzne oparte na systemie Linux mogą działać płynnie.

Jednak nadal będziesz mieć problemy z tym podejściem. Po pierwsze, te aplikacje graficzne mogą mieć pewne niedziałające funkcje. Ponadto wiele aplikacji może nie działać, pozostawiając Cię do szukania alternatyw.

Krótko mówiąc, jest to przede wszystkim metoda prób i błędów, w której możesz spędzić zbyt dużo czasu.

Możesz sprawdzić ich przewodnik WSL2 dotyczący pracy z aplikacjami graficznymi przy użyciu Ubuntu.

Docker Desktop WSL2 w systemie Windows

Jeśli nie chcesz konfigurować lokalnie przy użyciu Hyper-V, możesz użyć Docker Desktop, który oficjalnie obsługuje WSL2. Dzięki niemu możesz skonfigurować szybszy przepływ pracy, aby używać narzędzi Docker bezpośrednio w systemie Windows. Aby dowiedzieć się więcej, zapoznaj się z przewodnikiem tutaj.

Dlaczego Microsoft poważnie traktuje Linuksa?

Microsoft jest spółką prawa własności. Tworzy rozwiązania takie jak Windows w zamkniętym środowisku i chce, aby użytkownicy trzymali się systemu Windows, a nie Linuksa.

Jednak w 2016 roku ogłosili zaangażowanie w Open Source. Pogląd ten zmienił się na początku 2001 roku, kiedy Steve Ballmer nazwał Linuksa „rakiem”.

W 2023 roku sytuacja się zmieniła. Microsoft wprowadza Linuksa bezpośrednio do swojego ekosystemu. Ogłosili WSL2 w maju 2019 r. I wprowadzili WSL2 w październiku 2021 r. Do Sklepu Windows. Wydali także WSL2 v1.0 w listopadzie 2022 r.

Udostępnili także użytkownikom Linuksa oprogramowanie Microsoft, takie jak Edge i Teams. Aktywnie przyczyniają się również do rozwoju jądra Linuksa i są członkiem produktowym Linux Foundation.

Wszystkie te wskazówki wskazują, że Microsoft poważnie traktuje Linuksa. Jednak niektórzy sceptycy nie sądzą, że Microsoft kocha Linuksa.

Krótko mówiąc, Microsoft jest zainteresowany Linuksem. Ich podsystem Windows jest dowodem na to, że dbają o Linuksa i open source. Ale co najważniejsze, mówi nam, że chcą, aby ich użytkownicy mieli bezproblemowy dostęp do jądra Linuksa bez konieczności korzystania z wirtualizacji lub podwójnego rozruchu systemu operacyjnego Linux.

Ostatnie słowa

W epoce „który system operacyjny jest najlepszy dla programistów”, programiści mogą wybrać ścieżkę dostępu do obu. WSL2 zapewnia dostęp do jądra systemu Linux za pośrednictwem różnych dystrybucji Linuksa. Ponadto jest szybki i współpracuje z Dockerem.

Obecnie WSL2 jest w fazie aktywnego rozwoju, rozwiązując problemy ze zgodnością i oddając więcej mocy w ręce programistów. Można więc powiedzieć, że przyszłość z WSL2 rysuje się w jasnych barwach, a Microsoft podejmuje wszelkie kroki, aby jądro Linuksa było dostępne dla użytkowników systemu Windows.

Następnie sprawdź dystrybucje Linuksa, aby poznać je jako administrator systemu i programista.