Windows Subsystem för Linux 2 (WSL2): En Djupdykning
Windows och Linux utgör två av de mest utbredda operativsystemen. Medan Windows är känt för sin användarvänlighet, är Linux med sin höga grad av anpassningsbarhet ett föredraget alternativ bland utvecklare, produktivitetsfokuserade individer och studenter.
Tidigare krävdes virtualisering inom Windows eller en dubbelstart för att kunna använda båda operativsystemen samtidigt.
Nu finns det dock en ny funktion i Windows som underlättar åtkomsten till Linux direkt från Windows.
WSL2, eller Windows Subsystem för Linux, är en inbyggd Windows-funktion som ger dig direkt tillgång till Linux-miljön.
Denna artikel kommer att fokusera på WSL2 och dess funktioner. Vi kommer att undersöka dess definition, syfte, installationsprocess och hur du effektivt kan använda det.
Låt oss börja.
Vad är Windows Subsystem för Linux?
Windows Subsystem för Linux ger direkt tillgång till GNU/Linux-miljön via Windows terminalen. Detta eliminerar behovet av dubbelstart eller användning av virtualiseringsverktyg. Genom WSL2 kan du komma åt Linux-kärnan och använda Linux-funktioner direkt från Windows, inklusive kommandoradsverktyg och applikationer.
WSL2 är den senaste iterationen av Windows-undersystemet, och erbjuder förbättrade prestanda och funktionalitet jämfört med WSL1 (som introducerades med Windows 10). WSL är förinstallerat i de flesta Windows-installationer, och behöver bara aktiveras för att användas.
WSL2 utnyttjar Windows Hyper-V virtuella maskinteknik under huven. Detta gör WSL2 fullt kompatibelt med Linux, vilket leder till nästan 20 gånger snabbare exekveringshastigheter än WSL1.
Kortfattat är WSL2 det senaste Windows-undersystemet för Linux som ger Windows-användare omedelbar tillgång till Linux-kärnan.
Komma igång med WSL2
Under denna handledning kommer vi även använda Windows Terminal, som är ett modernt och rekommenderat alternativ för att hantera terminaler i Windows. Det är en snabb och effektiv terminal för användare som arbetar med kommandoradsverktyg och WSL.
PC-krav
Alla datorer stöder inte WSL2. Systemet måste ha stöd för virtualisering för att kunna köra WSL2, eftersom WSL2 använder Hyper-V i bakgrunden.
Du behöver också en 64-bitars CPU med stöd för SLAT (Second Level Address Translation), vilket de flesta moderna processorer stöder.
Du behöver även minst 1 GB ledigt diskutrymme.
Aktivera virtualisering från BIOS
Om din hårdvara uppfyller kraven, måste du aktivera virtualisering i moderkortets BIOS.
Gå in i BIOS genom att trycka på tangentbordstangenter som F2, Del eller F10 under uppstart.
I BIOS letar du efter inställningarna för AMD:s Secure Virtual Machines (SVM) eller Intels Virtualization Technology VTx och aktiverar dem. Starta sedan om datorn.
För mer detaljerad information, se min andra artikel: Hur man installerar Ubuntu på Windows 10 med Hyper-V.
Aktivera Windows-funktioner för WSL2
Med hårdvarukraven i ordning är det dags att aktivera WSL2 i Windows.
Först kontrollerar du din Windows-version för att se om den stöder WSL.
Tryck på Win + R på tangentbordet och skriv ”winver”. Detta visar din Windows-version.
Om du använder Windows 10, kör du troligtvis WSL1, medan Windows 11-användare ofta har WSL2.
Alla versioner av Windows 10 och 11 stöder WSL2, förutom Windows S, som är inriktat på säkerhet och har virtualisering inaktiverad.
Om du använder Windows S, måste du byta till en annan version, som Windows Home eller Pro.
Du kan byta operativsystem under Inställningar > Uppdatering och säkerhet > Aktivering.
Du behöver också ha den senaste Windows-uppdateringen installerad för full kompatibilitet och stöd för WSL2. Uppdatera under Inställningar > Windows Update.
För att använda WSL2, måste flera Windows-funktioner aktiveras.
Gå till Kontrollpanelen > Program och funktioner. Där hittar du ”Slå på eller av Windows-funktioner”. Klicka på den, så öppnas fönstret ”Windows-funktioner”.
Leta efter ”Hyper-V”, ”Virtual Machine Platform” och ”Windows Subsystem for Linux”. Markera rutorna bredvid dessa funktioner och klicka på OK.
Datorn kommer att startas om för att ändringarna ska träda i kraft.
Du kan också aktivera det genom att köra följande kommando i PowerShell som administratör:
$ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
$ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Installera WSL2
Med alla förutsättningar på plats är det dags att installera WSL.
Öppna Windows Terminal (Windows 10) eller Windows PowerShell (Windows 11), och skriv följande kommando:
$ wsl
Detta visar information om WSL och dess användning, vilket indikerar att WSL är tillgängligt, men inte installerat.
För att installera WSL, kör följande kommando med administratörsbehörighet:
$ wsl --install
Följande visas som bekräftelse, vilket indikerar att de nödvändiga komponenterna, inklusive Ubuntu, har installerats.
PS C:UsersLogan99> 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.
Observera: Du kanske inte ser detta, eftersom du aktiverat dem via Windows-funktioner. Istället bör du få följande utdata. (Om du gör det, hoppa till nästa avsnitt).
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:
För att kontrollera WSL-versionen, skriv kommandot wsl –version.
$ wsl --version
Utmatningen nedan visar den aktuella versionen av WSL och de ingående komponenterna.
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
Om WSL inte fungerar korrekt eller ger felmeddelanden, kan det innebära att det inte är installerat.
För att byta till WSL2, kör följande kommando:
$ wsl --set-default-version 2
Om WSL är förinstallerat, får du ett bekräftelsemeddelande.
Du kan också installera WSL via Windows Store. Öppna Store och sök efter ”Windows Subsystem for Linux”.
Klicka på ”Hämta” och vänta på att installationen slutförs.
När installationen är klar, klicka på ”Öppna”. Detta startar Windows-terminalen med meddelandet ”Windows Subsystem for Linux has no installed distributions.”.
Installera distributioner på WSL
Efter att WSL har installerats är det dags att installera Linux-distributioner.
WSL installerar som standard en Ubuntu LTS-version. För att installera, kör följande kommando:
$ wsl --install
Installation av Ubuntu påbörjas och under processen uppmanas du att ange ett nytt UNIX-användarnamn och lösenord.
När installationen är klar får du en Ubuntu Linux-prompt, där du kan använda alla Linux-kommandon. Låt oss verifiera Ubuntu-versionen.
$ lsb_release -a
Resultatet visar information om Ubuntu-versionen.
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy
Det är allt! Du har nu tillgång till Linux-kärnan.
För att avsluta distributionen, skriv följande kommando:
$ exit
[email protected]:/mnt/c/Users/Logan99$ exit
logout
Installera fler distributioner
Du kan även installera andra distributioner som Fedora, Debian och OracleLinux_8_5. För att se tillgängliga distributionsalternativ, skriv följande kommando:
$ wsl --list --online
För att installera Debian, skriv följande kommando:
$ wsl --install -d Debian
Or
$ wsl.exe --install Debian
Precis som med Ubuntu, uppmanas du att ange ett användarnamn och lösenord.
Verifiera sedan Debian-versionen med följande kommando:
$ cat /etc/issue
Resultatet visar information om Debian-versionen.
$ Debian GNU/Linux 11 n l
Men hur är det med Fedora? Det finns inte med när du kör kommandot wsl –list –online.
Du kan installera distributioner från Windows Store. Öppna Windows Store och sök efter Linux distributioner; då visas en lista över de tillgängliga distributionerna.
För inofficiellt stöd, måste du söka manuellt. Dessa inofficiella distributioner kan dock vara instabila och inte 100 % säkra, så använd dem endast för experiment.
Klicka på ”Installera” för att göra den tillgänglig i ditt system.
Ange standarddistribution
För att se en lista över tillgängliga distributioner, kan du använda följande kommando:
$ wsl --list
Ordmarkeringen ”Standard” bredvid Ubuntu indikerar att denna Linux-distribution startas när du skriver ”wsl” i kommandotolken.
För att ändra standarddistributionen, skriv följande kommando:
$ wsl --setdefault <DistroName>
För att till exempel ange Debian som standarddistribution, använd följande kommando:
$ wsl --setdefault Debian
Nästa gång du skriver wsl i terminalen, startas Debian.
Byta WSL-version för distributionen
Distributioner använder WSL2 som standard. För att se en lista över installerade distributioner och deras WSL-version, kör följande kommando:
$ wsl --list --verbose
Resultatet listar de installerade distributionerna och deras respektive versioner.
NAME STATE VERSION
* Ubuntu Stopped 2
Debian Stopped 2
Här indikerar * standardinstallationen av Linux.
För att byta WSL-versionen från 2 till 1, skriv:
$ wsl --set-version Ubuntu 1
Om du vill växla tillbaka till 2 från 1, skriv:
$ wsl --set-version Ubuntu 2
Observera: Konverteringen kan ta en stund, stäng inte fönstret under processen.
Starta specifika distributioner med olika användarnamn
Om du vill starta en specifik distribution, använd följande kommando:
$ wsl -d <DistroName>
Or
$ wsl --distribution <DistroName>
För att starta Ubuntu, skriv:
$ wsl -d Ubuntu
Om du vill starta distributionen med ett specifikt användarnamn, lägg till –user följt av användarnamnet:
$ wsl -d <DistroName> --user <UserName>
För att starta Debian med användarnamnet ”root”, skriv:
$ wsl -d Debian --user root
Observera: Om du startar distributionen med en icke-existerande användare, visas ett felmeddelande ”Användaren hittades inte.”.
Uppdatera Linux
Du kan uppdatera din Linux-distribution med följande kommandon:
$ sudo apt update
$ sudo apt upgrade
Du kan också söka efter uppdateringar till Linux-kärnan för WSL:
$ wsl --update
Konfigurera Visual Studio Code med WSL2
Du kan ställa in VS Code så att det fungerar med WSL. På så sätt kan du komma åt WSL-terminalen direkt i VS Code. Det hjälper dig att utveckla Linux-baserade applikationer medan du har tillgång till Linux-specifika verktyg och verktygskedjor.
Du kan också komma åt Windows-specifika produktivitetsverktyg medan du drar nytta av funktionerna i VS Code.
För att konfigurera VS Code med WSL, behöver du installera tilläggspaketet Remote Development. Du kan söka efter det direkt i VS Code genom att ange namnet under ”tillägg”.
Om du arbetar lokalt kan du konfigurera det genom att gå till VS Code-menyn och välja Visa > Terminal.
Detta öppnar terminalen. Bredvid +-symbolen hittar du symbolen >, klicka på den för att visa listan över WSL-terminaler.
Här kan du även välja ”Standardprofil”.
Detta är möjligt eftersom VS Code kan komma åt \wsl$ och felsökningsverktyg som körs på localhost direkt.
Arbeta med grafiska applikationer och WSL2
För att arbeta med grafiska applikationer behöver du installera korrekta drivrutiner för WSL2. Intel, AMD och Nvidia erbjuder drivrutiner för WSL, så att Linux-baserade grafiska applikationer kan köras utan problem.
Du kan dock stöta på problem med detta. Vissa funktioner i grafiska applikationer kanske inte fungerar. Dessutom kanske inte många appar fungerar, vilket tvingar dig att söka efter alternativ.
Detta är i första hand en metod med försök och misstag, där du kan spendera mycket tid.
Du kan läsa deras WSL2-guide om att arbeta med grafiska applikationer med Ubuntu.
Docker Desktop WSL2 på Windows
Om du inte vill konfigurera lokalt med Hyper-V kan du använda Docker Desktop, som officiellt stöder WSL2. Detta ger dig ett snabbare arbetsflöde för att använda Docker-verktyg direkt i Windows. För mer information, kolla in guiden här.
Varför tar Microsoft Linux på allvar?
Microsoft är ett företag som skapar lösningar som Windows i en sluten miljö och vill att användare ska stanna inom Windows-ekosystemet i stället för Linux.
År 2016 offentliggjorde de dock ett engagemang för öppen källkod. Denna syn hade förändrats sedan 2001 då Steve Ballmer kallade Linux för en ”cancer”.
År 2023 har saker och ting förändrats. Microsoft använder Linux direkt i sitt ekosystem. De tillkännagav WSL2 i maj 2019 och introducerade WSL2 i oktober 2021 till Windows Store. De lanserade även WSL2 v1.0 i november 2022.
De har även gjort Microsoft-programvara som Edge och Teams tillgängliga för Linux-användare. De bidrar också aktivt till Linux-kärnan och är en produktmedlem i Linux Foundation.
Alla dessa punkter tyder på att Microsoft tar Linux på allvar. Vissa skeptiker tror dock inte att Microsoft gillar Linux.
Microsoft är definitivt intresserade av Linux. Deras Windows-undersystem bevisar att de bryr sig om Linux och öppen källkod. Viktigast av allt, det visar att de vill att deras användare ska ha sömlös tillgång till Linux-kärnan utan att behöva använda virtualisering eller dubbelstarta till Linux.
Sammanfattning
I dagens debatt om ”vilket operativsystem som är bäst för utvecklare” kan utvecklare nu välja att använda båda systemen. WSL2 ger tillgång till Linux-kärnan via olika Linux-distributioner. Det är även snabbt och fungerar med Docker.
WSL2 är under aktiv utveckling, åtgärdar kompatibilitetsproblem och ger mer makt till utvecklarnas händer. Därför ser framtiden ljus ut för WSL2 och Microsoft gör allt för att göra Linux-kärnan tillgänglig för Windows-användare.
Kolla även in Linux-distributioner för mer information om systemadministration och utveckling.