Er zijn veel open source-programma's (ook wel code genoemd die voor het publiek toegankelijk is) voor zowel Linux als Windows. Voor programma's en tools waarbij dat niet het geval is, WSL (Windows Subsystem for Linux) is de ideale oplossing voor het gebruik van Linux-programma's op Windows-computers. Dit betekent dat je Linux niet eerst hoeft te starten en het Linux-programma kunt gebruiken in het momenteel actieve Windows.
Programma's in WSL draaien langzamer dan onder native Linux, maar dit is niet altijd merkbaar. Microsoft blijft ook werken aan verbeteringen die in de Linux-kernel zullen worden opgenomen. A nieuwere kern kan daarom WSL versnellen.
WSL-kernel en virtualisatie
In WSL 2 draait de Linux-kernel op een hypervisor (Hyper-V), vergelijkbaar met zijn Linux-tegenhanger KVM/Qemu. De kernel biedt functies om de communicatie tussen de gast- en hostsystemen te garanderen. Het gaat dan bijvoorbeeld om het gedeelde gebruik van het hoofdgeheugen en het CPU-beheer. De programmacode hiervoor komt voornamelijk van Microsoft.
Voor Linux-gebruikers bieden nieuwere kernels ondersteuning voor nieuwere hardware- en prestatie-optimalisaties. Ook optimaliseert Microsoft regelmatig de Hyper-V-code in de kernel, maar de hardwaredrivers spelen bij WSL nauwelijks een rol omdat de virtuele hardware altijd hetzelfde blijft. Er zijn echter stuurprogramma's die nodig zijn voor bepaalde toepassingen, zoals netwerkblokapparaten (nbd), die kunnen worden gebruikt om bijvoorbeeld virtuele harde schijven in VHD-formaat te koppelen.
Installeer WSL en controleer de versie
Powershell, Command Prompt en WSL kunnen gemakkelijk worden gebruikt in de Windows-terminal. Het is standaard beschikbaar in Windows 11, maar Windows 10-gebruikers moeten het installeren via de Microsoft Store.
Installeer WSL in Powershell met de volgende code:
wsl --install -d Ubuntu-24.04
Om de beschikbare distributies op te roepen, voert u de onderstaande code in en start u Windows opnieuw op:
wsl --list --online
Na het inloggen wordt een Linux-terminal geopend die u informeert wanneer de installatie is voltooid. Vervolgens wordt u gevraagd een gebruikersnaam en wachtwoord voor het Linux-account in te voeren. Update het Ubuntu-systeem met:
sudo apt update && sudo apt upgrade
In de Windows-terminal start je Linux via het menu dat verschijnt nadat je op de pijlknop naast de tabbladen hebt geklikt. Bepaal in Powershell de WSL-versie met:
wsl -l -v
Als een 1 verschijnt in de Versie kolom voor een oudere installatie, update de versie met deze twee regels:
wsl --set-default-version 2
wsl --set-default (Distribution)
Vervang de tijdelijke aanduiding (Verdeling) met de naam van de distributie.
Een nieuwe kernel maken voor WSL 2
Stap 1: Start Linux in WSL en installeer enkele ontwikkelaarspakketten met:
sudo apt install build-essential flex bizon dwergen libssl-dev libelf-dev libncurses-dev git
Stap 2: Maak een werkmap en download de broncode (vier regels):
mkdir kernel
cd kernel
git clone https://github.com/microsoft/WSL2-Linux-Kernel.git --depth=1 -b linux-msft-wsl-6.6.y
cd WSL2-Linux-Kernel
Aanpassen de kernelversie indien nodig.
Stap 3: Met de volgende regel code kun je de kernel een eigen naam geven:
scripts/config --file Microsoft/config-wsl --set-str LOCALVERSION "-custom-microsoft-standard-WSL2"
Als u wilt, kunt u deze coderegel gebruiken om de configuratie-editor op te roepen en uw eigen aanpassingen te maken:
make menuconfig KCONFIG_CONFIG=Microsoft/config-wsl
IDG
Stap 4: Maak de kernel met:
echo 'yes' | make -j $(nproc) KCONFIG_CONFIG=Microsoft/config-wsl
Installeer de modules met:
sudo make KCONFIG_CONFIG=Microsoft/config-wsl modules_install
Stap 5: Roep in Windows Verkenner de Linux-omgeving op via onderstaande vermelding Linux in het navigatiegebied. Kopieer de vmlinux bestand vanuit uw thuismap naar het Windows-gebruikersprofiel in de WSL map (C:\Gebruikers(gebruikersnaam)\WSL).
Stap 6: Maak onder Windows het .wslconfig bestand in uw profielmap. Voer deze twee regels erin in:
(wsl2)
kernel=C:\Users\(username)\WSL\vmlinux
Vervang de tijdelijke aanduiding (gebruikersnaam) met uw gebruikersnaam.
Beëindig in Powershell alle actieve WSL-instanties met:
wsl --shutdown
Als je Linux start in het Windows-subsysteem voor Linux, toont de volgende opdracht de versie van de nieuwe kernel:
uname -a
Dit artikel verscheen oorspronkelijk in onze zusterpublicatie PC-WELT en werd vertaald en gelokaliseerd vanuit het Duits.