WSL2: Kjør Linux direkte i Windows – komplett guide!

En Dypdykk i WSL2: Funksjoner og Bruk

Windows og Linux er to av de mest brukte operativsystemene. Windows er kjent for sin brukervennlighet, mens Linux skiller seg ut med sine omfattende tilpasningsmuligheter, noe som gjør det populært blant utviklere, produktive brukere og studenter.

For å bruke begge systemene samtidig, har man tradisjonelt måttet ty til virtualisering eller en såkalt «dual-boot»-løsning.

Men det finnes nå en ny funksjon i Windows som gjør det mulig å få enkel tilgang til Linux direkte fra Windows-miljøet.

Dette er Windows Subsystem for Linux 2, eller WSL2, som det gjerne forkortes. Dette er en Windows-funksjon som gir deg tilgang til Linux inne i Windows.

Denne artikkelen skal ta for seg WSL2 i detalj. Vi skal gå gjennom definisjonen, formålet, installasjonsprosessen og hvordan du bruker den på en effektiv måte.

La oss sette i gang!

Hva er Windows Subsystem for Linux?

Windows Subsystem for Linux gir deg mulighet til å bruke et GNU/Linux-miljø rett fra Windows-terminalen. Dermed trenger man ikke lenger å dual-boote eller bruke virtualiseringsprogrammer. Det gir tilgang til Linux-kjernen, slik at du kan bruke Linux-funksjoner direkte fra Windows, inkludert kommandolinjeverktøy, applikasjoner og verktøy.

WSL2 er den nyeste versjonen av Windows Subsystem og gir bedre funksjoner og høyere hastighet enn WSL1 (som ble lansert sammen med Windows 10). De fleste Windows-installasjoner kommer med WSL forhåndsinstallert, men for å kunne bruke den må den aktiveres.

WSL2 bruker Windows Hyper-V virtualiseringsteknologi under panseret. Dette gjør at WSL2 er Linux-kompatibelt og gir nesten 20 ganger raskere utførelseshastigheter sammenlignet med WSL1.

Kort sagt, WSL2 er det nyeste Windows-undersystemet for Linux, som gir Windows-brukere direkte tilgang til Linux-kjernen.

Komme i gang med WSL2

I denne veiledningen skal vi også bruke Windows Terminal, et praktisk og anbefalt alternativ for å jobbe med terminaler i Windows. Dette er en moderne, rask og effektiv terminal for brukere som ønsker å jobbe med kommandolinjeverktøy og WSL.

PC-krav

Ikke alle PC-er kan kjøre WSL2. Systemet ditt må støtte virtualisering for å kunne kjøre WSL2, ettersom det bruker Hyper-V-teknologi.

Du trenger også en 64-bit prosessor med støtte for SLAT (Second Level Address Translation). De fleste moderne CPU-er støtter dette.

Når det gjelder lagringsplass, trenger du minst 1 GB ledig plass.

Aktivere virtualisering fra BIOS

Hvis du oppfyller maskinvarekravene, må du aktivere virtualisering fra hovedkortets BIOS.

Du går inn i BIOS ved å trykke på tastene F2, Del eller F10. Hvilken tast som er riktig, kan variere.

I BIOS må du finne og aktivere AMDs Secure Virtual Machines (SVM)/Intels Virtualization Technology VTx. Når det er gjort, må du starte maskinen på nytt.

Hvis du trenger mer veiledning, kan du finne detaljerte instruksjoner i et annet innlegg som omhandler hvordan du installerer Ubuntu på Windows 10 ved hjelp av Hyper-V.

Aktivere Windows-funksjoner for WSL2

Når maskinvarekravene er oppfylt, er det på tide å aktivere WSL2 fra Windows.

Første steg er å sjekke Windows-versjonen din, for å se om den støtter WSL eller ikke.

Dette gjør du ved å trykke på CMD + R på tastaturet og skrive «winver». Dette vil vise din Windows-versjon.

Dersom du bruker Windows 10, har du sannsynligvis WSL1. De fleste Windows 11-brukere har derimot WSL2.

Alle versjoner av Windows 10 og 11 støtter WSL2, med unntak av Windows S, som er fokusert på sikkerhet og har virtualisering deaktivert.

Om du bruker Windows S må du bytte til en annen versjon, som Windows Home eller Pro.

Dette gjøres ved å gå til Innstillinger > Oppdatering og sikkerhet > Aktivering.

Du må også ha de nyeste Windows-oppdateringene installert. Dette for å sikre fullstendig kompatibilitet og støtte for WSL2. Du oppdaterer systemet ved å gå til Innstillinger > Windows Update.

For å bruke WSL2 må flere Windows-funksjoner aktiveres.

Gå til Kontrollpanel > Programmer og funksjoner. Der finner du «Slå Windows-funksjoner på eller av». Klikk på den, og et nytt vindu, «Windows-funksjoner», vil åpnes.

Her må du lete etter «Hyper-V», «Virtual Machine Platform» og «Windows Subsystem for Linux».

Systemet vil be om en omstart for at endringene skal tre i kraft.

Du kan også aktivere funksjonene ved å kjøre følgende kommandoer:

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

Installere WSL2

Med alle forutsetninger på plass, er det nå tid for å installere WSL.

Åpne Windows Terminal (Windows 10) eller Windows PowerShell (Windows 11), og skriv inn følgende kommando:

$ wsl

Dette gir følgende output:

Copyright (c) Microsoft Corporation. All rights reserved.

Usage: wsl.exe [Argument]

Arguments:
…..

Dette betyr at WSL er tilgjengelig, men ikke aktivert.

For å installere WSL må du kjøre følgende kommando med administratorrettigheter:

$ wsl --install

Dette kan gi følgende output:

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.

Merk: Det kan være at du ikke ser denne outputen, ettersom du har aktivert funksjonene gjennom Windows-funksjoner. I så fall bør du få følgende output (og du kan hoppe over til neste seksjon):

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:

For å sjekke WSL-versjonen, skriv kommandoen `wsl –version`:

$ wsl --version

Dette kan gi følgende output:

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

Som du ser, kommer WSL versjon 1.1.6.0 forhåndsinstallert. Hvis det ikke fungerer og gir en feilmelding, er WSL ikke installert.

For å endre til WSL2, kjør følgende kommando:

$ wsl --set-default-version 2

Siden systemet vårt allerede har WSL forhåndsinstallert, får vi denne meldingen.

Du kan også installere WSL fra Windows Store. Åpne Store og søk etter «Windows Subsystem for Linux».

Klikk «Hent» og vent til den er installert.

Når den er installert, kan du klikke «Åpne». Da åpnes en Windows-terminal med meldingen «Windows Subsystem for Linux har ingen installerte distribusjoner».

Installere distribusjon på WSL

Nå som WSL er installert, er det tid for å installere Linux-distribusjoner.

Som standard installerer WSL Ubuntu LTS-versjonen. Dette gjøres ved å kjøre følgende kommando:

$ wsl --install

Dette vil starte installasjonen av Ubuntu. Du vil bli bedt om å angi et nytt UNIX-brukernavn og passord under installasjonen.

Når installasjonen er ferdig, får du en Ubuntu Linux-prompt. Her kan du bruke alle Linux-kommandoer. La oss sjekke Ubuntu-versjonen:

$ lsb_release -a

Dette kan gi følgende output:

No LSB modules are available.

Distributor ID: Ubuntu

Description:  Ubuntu 22.04.1 LTS

Release: 22.04

Codename:  jammy

Det er det! Du har nå tilgang til Linux-kjernen.

For å avslutte distribusjonen må du skrive inn følgende kommando:

$ exit

Dette gir følgende output:

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

logout

Installere flere distros

På samme måte kan du installere andre distribusjoner, som Fedora, Debian og OracleLinux_8_5. For å se de tilgjengelige distribusjonsalternativene, skriv følgende kommando:

$ wsl --list --online

For å installere Debian, må vi skrive inn følgende kommando:

$ wsl --install -d Debian
Or
$ wsl.exe --install Debian

Som med Ubuntu, vil du bli bedt om å opprette et brukernavn og passord.

La oss nå sjekke Debian-versjonen:

$ cat /etc/issue

Dette kan gi følgende output:

$ Debian GNU/Linux 11 n l

Men hva med Fedora? Den dukker ikke opp når du bruker kommandoen `wsl –list –online`.

Vel, du kan også installere distribusjoner fra Windows Store.

Åpne Windows Store og søk etter Linux-distribusjoner. Da vises alle de tilgjengelige. Her ser du kun de offisielle støttede distribusjonene.

For uoffisiell distribusjonsstøtte må du søke manuelt. Disse uoffisielle distribusjonene kan være ustabile og ikke 100% sikre, så bruk dem kun for eksperimentering.

Klikk på «Installer» for å gjøre den tilgjengelig på systemet ditt.

Angi standard distro

For å se listen over tilgjengelige distribusjoner, kan du liste dem opp med følgende kommando:

$ wsl --list

Nøkkelordet «Standard» ved siden av Ubuntu betyr at standard Linux-distribusjonen starter når du skriver «wsl» i ledeteksten.

For å endre standard distribusjon, skriv inn følgende kommando:

$ wsl --setdefault <DistroName>

Så for å sette Debian som vår standard distribusjon, må vi skrive inn følgende kommando:

$ wsl --setdefault Debian

Neste gang du skriver `wsl` i terminalen, vil Debian starte.

Bytte WSL-versjon for Distro

Som standard bruker distribusjonene WSL2. For å liste opp de nåværende installerte distribusjonene og deres WSL-versjon, skriv følgende kommando:

$ wsl --list --verbose

Dette kan gi følgende output:

NAME STATE VERSION
* Ubuntu Stopped 2
Debian Stopped 2

Her refererer * til standard Linux-installasjonen.

For å endre WSL-versjonen fra 2 til 1, skriv inn:

$ wsl --set-version Ubuntu 1

Og hvis du ønsker å bytte tilbake til 2 fra 1, skriver du:

$ wsl --set-vesion Ubuntu 2

Merk: Konverteringen kan ta litt tid. Ikke lukk vinduet under konverteringen.

Lansere spesifikke distribusjoner med forskjellige brukernavn

Hva om du vil starte en bestemt distribusjon? For å gjøre det, må du skrive følgende kommando:

$ wsl -d <DistroName>
Or
$ wsl --distribution <DistroName>

For å starte Ubuntu, skriver du inn:

$ wsl -d Ubuntu

Hvis du ønsker å starte den med et bestemt brukernavn, må du legge til `–user` etterfulgt av brukernavnet.

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

For eksempel for å starte Debian med et «root»-brukernavn:

$ wsl -d Debian --user root

Merk: Å starte distribusjonen med en ikke-eksisterende bruker vil føre til feilmeldingen «Bruker ikke funnet».

Oppdater Linux

Du kan oppdatere Linux-distribusjonen din ved å skrive følgende kommando:

$ sudo apt update
$ sudo apt upgrade

I tillegg kan du se etter Linux-kjerneoppdateringer for WSL:

$ wsl --update

Sette opp Visual Studio Code med WSL2

Du kan også sette opp VS Code slik at den fungerer med WSL. Da kan du få tilgang til WSL-terminalen direkte fra VS Code. Dette kan hjelpe deg med å utvikle applikasjoner på Linux-baserte applikasjoner, samtidig som du får tilgang til Linux-spesifikke verktøy.

I tillegg kan du også få tilgang til Windows-spesifikke produktivitetsverktøy samtidig som du drar nytte av VS Code-funksjoner.

For å få dette til å fungere, må du installere utvidelsespakken for ekstern utvikling. Du kan også søke etter den direkte fra VS Code ved å søke etter navnet i utvidelsesfanen.

Hvis du jobber lokalt, kan du sette det opp ved å gå til VS Code-menyen. Der velger du Vis > Terminal.

Dette åpner terminalen. Du finner symbolet `>` ved siden av symbolet `+`. Klikk på den, og du vil finne WSL-terminalene i listen.

Her kan du også velge «Standardprofil».

Dette er mulig fordi VS Code har direkte tilgang til \\wsl$ og alle feilsøkere som kjører på localhost.

Arbeide med grafiske applikasjoner og WSL2

For å jobbe med grafiske applikasjoner må du installere de riktige driverne for WSL2. Intel, AMD og Nvidia tilbyr drivere for WSL slik at Linux-baserte grafiske applikasjoner kan fungere problemfritt.

Du kan imidlertid fortsatt oppleve problemer med denne tilnærmingen. For det første kan noen funksjoner i de grafiske applikasjonene ikke fungere. Mange apper vil kanskje heller ikke fungere, så du må se etter alternativer.

Kort sagt er det hovedsakelig en prøv-og-feil-metode, der du kan bruke mye tid.

Du kan sjekke WSL2-guiden deres for å lære mer om å jobbe med grafiske applikasjoner ved hjelp av Ubuntu.

Docker Desktop WSL2 på Windows

Hvis du ikke ønsker å sette opp lokalt ved hjelp av Hyper-V, kan du bruke Docker Desktop, som offisielt støtter WSL2. Med den kan du sette opp en raskere arbeidsflyt for å bruke Docker-verktøy direkte på Windows. For å lære mer, sjekk ut veiledningen deres.

Hvorfor tar Microsoft Linux på alvor?

Microsoft er et proprietært selskap. De lager løsninger som Windows i et lukket miljø, og de ønsker at brukerne skal holde seg til Windows fremfor Linux.

I 2016 kunngjorde de imidlertid en forpliktelse til åpen kildekode. Dette var en endring fra deres syn tidligere, da Steve Ballmer i 2001 kalte Linux en «kreft».

I 2023 har ting endret seg. Microsoft tar Linux direkte inn i sitt økosystem. De kunngjorde WSL2 i mai 2019 og introduserte WSL2 i oktober 2021 i Windows Store. De ga også ut WSL2 v1.0 i november 2022.

De har også gjort Microsoft-programvare som Edge og Teams tilgjengelig for Linux-brukere. De bidrar også aktivt til Linux-kjernen og er et produktmedlem av Linux Foundation.

Alle disse tingene tyder på at Microsoft tar Linux på alvor. Noen skeptikere tror imidlertid ikke at Microsoft elsker Linux.

Kort sagt, Microsoft er interessert i Linux. Windows-undersystemet deres er et bevis på at de bryr seg om Linux og åpen kildekode. Men viktigst av alt, det forteller oss at de ønsker at brukerne deres skal ha sømløs tilgang til Linux-kjernen uten å måtte bruke virtualisering eller «dual-boote» til et Linux-operativsystem.

Siste ord

I en tid der spørsmålet «hvilket OS er best for utviklere» er relevant, kan utviklere velge en måte å få tilgang til begge deler. WSL2 gir tilgang til Linux-kjernen gjennom ulike Linux-distribusjoner. I tillegg er den rask og fungerer med Docker.

WSL2 er for tiden i aktiv utvikling, og de jobber med å løse kompatibilitetsproblemer og gi mer makt til utviklerne. Fremtiden ser lys ut for WSL2, og Microsoft tar alle skritt for å gjøre Linux-kjernen tilgjengelig for sine Windows-brukere.

Du kan sjekke ut en oversikt over Linux-distribusjoner for å lære mer om de du kan bruke som systemadministrator og utvikler.