Das Windows Subsystem für Linux 2 (WSL2) ist die wohl ein­fachs­te und ef­fi­zi­en­tes­te Lösung, Linux-An­wen­dun­gen unter Windows zu nutzen. WSL2 er­mög­licht den Zugriff auf Linux-Tools und -An­wen­dun­gen direkt aus der gewohnten Windows-Umgebung und ist damit besonders für Ent­wick­ler in­ter­es­sant. Aufgrund der – im Gegensatz zur Vor­gän­ger­ver­si­on – komplett über­ar­bei­te­ten Ar­chi­tek­tur ist WSL2 per­for­man­ter als ver­gleich­ba­re Ansätze.

Was ist WSL2?

Beim im Frühjahr 2020 er­schie­nen WSL2 handelt es sich um die Wei­ter­ent­wick­lung des Windows Subsystem for Linux (WSL1). Linux ist ein Open Source-Be­triebs­sys­tem und un­ter­schei­det sich damit fun­da­men­tal von Windows, das als kom­mer­zi­el­les Produkt ent­wi­ckelt und ver­trie­ben wird. Linux überzeugt ins­be­son­de­re durch die große Band­brei­te frei ver­füg­ba­rer Ent­wick­ler-Tools und anderer Software-Pakete.

Was genau sind die die Un­ter­schie­de zur Vor­gän­ger­ver­si­on?

Der grund­le­gen­de Un­ter­schied zwischen WSL2 und seiner Vor­gän­ger­ver­si­on liegt in der Ar­chi­tek­tur der Software. Während das WSL1 eine Kom­pa­ti­bi­li­täts­schicht zum Über­set­zen der Code-Aus­füh­rung zwischen Windows und Linux be­reit­stellt, setzt WSL2 auf die Vir­tua­li­sie­rung eines Linux-Be­triebs­sys­tems. Die dabei zum Einsatz kommende virtuelle Maschine läuft auf dem nativen Windows-Hy­per­vi­sor Hyper-V, welcher besonders per­for­mant arbeitet.

Während der Funk­ti­ons­um­fang der vom WSL1 be­reit­ge­stell­ten Linux-Schnitt­stel­le ein­ge­schränkt war, kommt mit WSL2 ein kom­plet­ter Linux-Kernel zum Einsatz. Dabei handelt es sich um einen in Bezug auf Größe und Leistung speziell für das WSL2 op­ti­mier­ten Kernel, basierend auf dem stabilen Original-Code von „kernel.org“. Im prak­ti­schen Einsatz schlägt sich der Ansatz in einer Be­schleu­ni­gung der Code-Aus­füh­rung um einen Faktor von ca. zwei bis zwanzig nieder. Ferner benötigt WSL2 weniger Ar­beits­spei­cher als die Vor­gän­ger­ver­si­on. Besonders kom­for­ta­bel für Nutzer ist der Umstand, dass der Kernel im Rahmen der regulären Windows-Updates gewartet wird.

Da das WSL1 eine Über­set­zungs­schicht nutzt, um zwischen Linux- und Windows-Sys­tem­auf­ru­fen zu ver­mit­teln, bleibt manche spe­zia­li­sier­te Linux-Software außen vor. Dem­ge­gen­über leistet die Kernel-Vir­tua­li­sie­rung des WSL2 voll­stän­di­ge Kom­pa­ti­bi­li­tät von Sys­tem­auf­ru­fen. In der Praxis bedeutet dies, dass sich auch komplexe Software wie Docker innerhalb von WSL2 betreiben lässt. Ferner erfolgt aus der Linux-Umgebung heraus Zugriff auf die GPU, was sich vor allem bei An­wen­dun­gen mit großen Datasets wie Machine Learning und Data Science bezahlt macht.

Auch wenn die Nutzung von WSL2 auf modernen Systemen empfohlen wird, lassen sich beide Versionen parallel betreiben. Für jede Linux-Dis­tri­bu­ti­on lässt sich einzeln festlegen, welche WSL-Version zur Steuerung zum Einsatz kommen soll.

Was sind die Vor­aus­set­zun­gen von WSL2?

Die Sys­tem­vor­aus­set­zun­gen für die Nutzung von WSL2 richten sich nach dem in Ihrer Maschine verbauten Prozessor:

  • Für x64-Systeme benötigen Sie min­des­tens Version 1903 mit Build 18362 oder höher.
  • Für ARM64-Systeme benötigen Sie min­des­tens Version 2004 mit Build 19041 oder höher.

Falls Sie nicht sicher sind, welche Windows-Edition und Version Sie betreiben, können Sie diese mit den folgenden Schritten über­prü­fen:

  • Drücken Sie die Windows-Logo-Taste + [R], geben Sie „winver“ im er­schei­nen­den Textfeld ein und drücken Sie [Enter].
  • Klicken Sie al­ter­na­tiv auf Start -> Ein­stel­lun­gen -> System -> Info -> Windows-Spe­zi­fi­ka­ti­on und lesen Sie die Werte dort ab.

Wie kann man WSL2 auf dem eigenen System nutzen?

Prin­zi­pi­ell bieten sich zwei Methoden an, WSL2 auf dem eigenen System zu nutzen. Wir zeigen im Folgenden die beiden Varianten im Detail:

  1. Wenn Sie noch kein Windows Subsystem für Linux in­stal­liert haben, in­stal­lie­ren Sie ein frisches WSL2 auf Ihrem System und richten Sie eine Linux-Dis­tri­bu­tio­nen ein.
  2. Sofern Sie bereits Nutzer des WSL1 sind, in­stal­lie­ren Sie WSL2 und führen Sie ein Upgrade der exis­tie­ren­den Linux-Dis­tri­bu­tio­nen durch.

Um das WSL2 auf Ihrem System ein­zu­rich­ten, benötigen Sie die Windows Power­Shell. Beachten Sie, dass Sie die PowerShell als Ad­mi­nis­tra­tor starten müssen, um die In­stal­la­ti­on durch­zu­füh­ren. Kopieren Sie die gezeigten Befehle in die Power­Shell-Ein­ga­be­auf­for­de­rung und führen Sie diese dort aus.

WSL2 ak­ti­vie­ren und eine Linux-Dis­tri­bu­ti­on in­stal­lie­ren

Sofern Sie auf Ihrem System noch kein WSL1 in­stal­liert haben, folgen Sie unserer Anleitung, um WSL2 und eine Linux-Dis­tri­bu­ti­on zu in­stal­lie­ren:

Schritt 1: Windows-Subsystem für Linux ak­ti­vie­ren

Kopieren Sie den folgenden Befehl in die Power­Shell-Ein­ga­be­auf­for­de­rung und führen Sie diesen dort aus:

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

Schritt 2: Funktion des vir­tu­el­len Computers ak­ti­vie­ren

Kopieren Sie den folgenden Befehl in die Power­Shell-Ein­ga­be­auf­for­de­rung und führen Sie diesen dort aus:

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

Schritt 3: Update-Paket für den Linux-Kernel in­stal­lie­ren

Zunächst laden Sie das passenden In­stal­la­ti­on-Paket für Ihr System herunter. An­schlie­ßend führen Sie den Installer aus. Wählen Sie das passende Paket je nach Prozessor-Ar­chi­tek­tur Ihrer Maschine:

Schritt 4: WSL2 als Stan­dard­ver­si­on festlegen

Kopieren Sie den folgenden Befehl in die Power­Shell-Ein­ga­be­auf­for­de­rung und führen Sie diesen dort aus:

wsl --set-default-version 2

Schritt 5: Den Computer neu starten

Starten Sie Ihren Computer neu.

Schritt 6: Linux-Dis­tri­bu­ti­on auswählen und in­stal­lie­ren

Öffnen Sie den Microsoft Store und suchen Sie nach „Linux“. Ihnen wird eine Auswahl ver­füg­ba­rer Linux-Dis­tri­bu­tio­nen angezeigt.

Klicken Sie auf die ge­wünsch­te Linux-Dis­tri­bu­ti­on und dann auf „In­stal­lie­ren“. Sollten Sie sich nicht sicher sein, welche Dis­tri­bu­ti­on für Sie die richtige ist, empfehlen wir die In­stal­la­ti­on von Ubuntu Linux 20.04 LTS.

Nach ab­ge­schlos­se­ner In­stal­la­ti­on klicken Sie auf „Starten“.

Schritt 7: Linux-Dis­tri­bu­ti­on ein­rich­ten

Im sich nun öffnenden Fenster werden beim ersten Start Pakete her­un­ter­ge­la­den und entpackt. Dies kann einige Minuten dauern. Ab­schlie­ßend werden Sie auf­ge­for­dert, einen Be­nut­zer­na­men und ein da­zu­ge­hö­ri­ges Kennwort für die neue Linux-In­stal­la­ti­on fest­zu­le­gen.

Hinweis

Sie können mit WSL mehrere Linux-Dis­tri­bu­tio­nen parallel betreiben. Dafür legen Sie pro Dis­tri­bu­ti­on ein separates Nut­zer­kon­to an.

Eine vor­han­de­ne Linux-Dis­tri­bu­ti­on von WSL1 auf WSL2 upgraden

Sofern Sie bereits Nutzer des WSL1 sind und eine Linux-In­stal­la­ti­on ein­ge­rich­tet haben, führen Sie zunächst die Schritte 2–4 aus der oben­ste­hen­den Anleitung durch. Nutzen Sie dann das folgende Power­Shell-Kommando, um eine bereits in­stal­lier­te Linux-Dis­tri­bu­ti­on auf WSL2 um­zu­stel­len:

wsl --set-version <distribution> 2</distribution>

Beachten Sie, dass der Platz­hal­ter <dis­tri­bu­ti­on> durch den Namen einer in­stal­lier­ten Linux-Dis­tri­bu­ti­on ersetzt werden muss. Nutzen Sie das folgende Power­Shell-Kommando, um sich eine Liste der in­stal­lier­ten Linux-Dis­tri­bu­tio­nen anzeigen zu lassen und deren Namen ein­zu­se­hen:

wsl --list --verbose
Hinweis

Die Ein­stel­lun­gen für eine in­stal­lier­te Linux-Dis­tri­bu­ti­on werden in einer Kon­fi­gu­ra­ti­ons-Datei „wsl.conf“ ge­spei­chert. Diese Datei funk­tio­niert nach dem Wechsel auf WSL2 weiterhin.

Ab­schlie­ßen­der Feature-Vergleich von WSL2 und WSL1

Wie Sie gesehen haben, bietet die Nutzung des WSL2 viele Vorteile gegenüber der Vor­gän­ger­ver­si­on. Ab­schlie­ßend haben wir die Ge­mein­sam­kei­ten und Un­ter­schie­de der beiden Versionen über­sicht­lich für Sie zu­sam­men­ge­fasst:

Feature WSL1 WSL2
Bietet In­te­gra­ti­on zwischen Windows und Linux
Schneller Start­vor­gang der Linux-Umgebung
Hohe Per­for­manz und geringer Res­sour­cen­be­darf
Basiert auf vir­tu­el­ler Maschine (VM)
Enthält voll­stän­di­gen Linux-Kernel
Bietet voll­stän­di­ge Kom­pa­ti­bi­li­tät von Sys­tem­auf­ru­fen
Erlaubt parallele Nutzung von VMware und Vir­tu­al­Box
Erlaubt Nutzung über Be­triebs­sys­tem-Da­tei­sys­te­me hinweg
Zum Hauptmenü