WSL2: Vorstellung des Windows Subsystems für Linux 2
Das Windows Subsystem für Linux 2 (WSL2) ist die wohl einfachste und effizienteste Lösung, Linux-Anwendungen unter Windows zu nutzen. WSL2 ermöglicht den Zugriff auf Linux-Tools und -Anwendungen direkt aus der gewohnten Windows-Umgebung und ist damit besonders für Entwickler interessant. Aufgrund der – im Gegensatz zur Vorgängerversion – komplett überarbeiteten Architektur ist WSL2 performanter als vergleichbare Ansätze.
Was ist WSL2?
Beim im Frühjahr 2020 erschienen WSL2 handelt es sich um die Weiterentwicklung des Windows Subsystem for Linux (WSL1). Linux ist ein Open Source-Betriebssystem und unterscheidet sich damit fundamental von Windows, das als kommerzielles Produkt entwickelt und vertrieben wird. Linux überzeugt insbesondere durch die große Bandbreite frei verfügbarer Entwickler-Tools und anderer Software-Pakete.
Was genau sind die die Unterschiede zur Vorgängerversion?
Der grundlegende Unterschied zwischen WSL2 und seiner Vorgängerversion liegt in der Architektur der Software. Während das WSL1 eine Kompatibilitätsschicht zum Übersetzen der Code-Ausführung zwischen Windows und Linux bereitstellt, setzt WSL2 auf die Virtualisierung eines Linux-Betriebssystems. Die dabei zum Einsatz kommende virtuelle Maschine läuft auf dem nativen Windows-Hypervisor Hyper-V, welcher besonders performant arbeitet.
Während der Funktionsumfang der vom WSL1 bereitgestellten Linux-Schnittstelle eingeschränkt war, kommt mit WSL2 ein kompletter Linux-Kernel zum Einsatz. Dabei handelt es sich um einen in Bezug auf Größe und Leistung speziell für das WSL2 optimierten Kernel, basierend auf dem stabilen Original-Code von „kernel.org“. Im praktischen Einsatz schlägt sich der Ansatz in einer Beschleunigung der Code-Ausführung um einen Faktor von ca. zwei bis zwanzig nieder. Ferner benötigt WSL2 weniger Arbeitsspeicher als die Vorgängerversion. Besonders komfortabel für Nutzer ist der Umstand, dass der Kernel im Rahmen der regulären Windows-Updates gewartet wird.
Da das WSL1 eine Übersetzungsschicht nutzt, um zwischen Linux- und Windows-Systemaufrufen zu vermitteln, bleibt manche spezialisierte Linux-Software außen vor. Demgegenüber leistet die Kernel-Virtualisierung des WSL2 vollständige Kompatibilität von Systemaufrufen. 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 Anwendungen 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-Distribution lässt sich einzeln festlegen, welche WSL-Version zur Steuerung zum Einsatz kommen soll.
Während der Funktionsumfang der vom WSL1 bereitgestellten Linux-Schnittstelle eingeschränkt war, kommt mit WSL2 ein kompletter Linux-Kernel zum Einsatz. Dabei handelt es sich um einen in Bezug auf Größe und Leistung speziell für das WSL2 optimierten Kernel, basierend auf dem stabilen Original-Code von „kernel.org“. Im praktischen Einsatz schlägt sich der Ansatz in einer Beschleunigung der Code-Ausführung um einen Faktor von ca. zwei bis zwanzig nieder. Ferner benötigt WSL2 weniger Arbeitsspeicher als die Vorgängerversion. Besonders komfortabel für Nutzer ist der Umstand, dass der Kernel im Rahmen der regulären Windows-Updates gewartet wird.
Da das WSL1 eine Übersetzungsschicht nutzt, um zwischen Linux- und Windows-Systemaufrufen zu vermitteln, bleibt manche spezialisierte Linux-Software außen vor. Demgegenüber leistet die Kernel-Virtualisierung des WSL2 vollständige Kompatibilität von Systemaufrufen. 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 Anwendungen 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-Distribution lässt sich einzeln festlegen, welche WSL-Version zur Steuerung zum Einsatz kommen soll.
Was sind die Voraussetzungen von WSL2?
Die Systemvoraussetzungen für die Nutzung von WSL2 richten sich nach dem in Ihrer Maschine verbauten Prozessor:
- Für x64-Systeme benötigen Sie mindestens Version 1903 mit Build 18362 oder höher.
- Für ARM64-Systeme benötigen Sie mindestens Version 2004 mit Build 19041 oder höher.
- Drücken Sie die Windows-Logo-Taste + [R], geben Sie „winver“ im erscheinenden Textfeld ein und drücken Sie [Enter].
- Klicken Sie alternativ auf Start -> Einstellungen -> System -> Info -> Windows-Spezifikation und lesen Sie die Werte dort ab.
Wie kann man WSL2 auf dem eigenen System nutzen?
Prinzipiell bieten sich zwei Methoden an, WSL2 auf dem eigenen System zu nutzen. Wir zeigen im Folgenden die beiden Varianten im Detail:
- Wenn Sie noch kein Windows Subsystem für Linux installiert haben, installieren Sie ein frisches WSL2 auf Ihrem System und richten Sie eine Linux-Distributionen ein.
- Sofern Sie bereits Nutzer des WSL1 sind, installieren Sie WSL2 und führen Sie ein Upgrade der existierenden Linux-Distributionen durch.
WSL2 aktivieren und eine Linux-Distribution installieren
Sofern Sie auf Ihrem System noch kein WSL1 installiert haben, folgen Sie unserer Anleitung, um WSL2 und eine Linux-Distribution zu installieren:
Schritt 1: Windows-Subsystem für Linux aktivieren
Kopieren Sie den folgenden Befehl in die PowerShell-Eingabeaufforderung und führen Sie diesen dort aus:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Schritt 2: Funktion des virtuellen Computers aktivieren
Kopieren Sie den folgenden Befehl in die PowerShell-Eingabeaufforderung 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 installieren
Zunächst laden Sie das passenden Installation-Paket für Ihr System herunter. Anschließend führen Sie den Installer aus. Wählen Sie das passende Paket je nach Prozessor-Architektur Ihrer Maschine:
Schritt 4: WSL2 als Standardversion festlegen
Kopieren Sie den folgenden Befehl in die PowerShell-Eingabeaufforderung 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-Distribution auswählen und installieren
Öffnen Sie den Microsoft Store und suchen Sie nach „Linux“. Ihnen wird eine Auswahl verfügbarer Linux-Distributionen angezeigt.
Klicken Sie auf die gewünschte Linux-Distribution und dann auf „Installieren“. Sollten Sie sich nicht sicher sein, welche Distribution für Sie die richtige ist, empfehlen wir die Installation von Ubuntu Linux 20.04 LTS.
Nach abgeschlossener Installation klicken Sie auf „Starten“.
Klicken Sie auf die gewünschte Linux-Distribution und dann auf „Installieren“. Sollten Sie sich nicht sicher sein, welche Distribution für Sie die richtige ist, empfehlen wir die Installation von Ubuntu Linux 20.04 LTS.
Nach abgeschlossener Installation klicken Sie auf „Starten“.
Schritt 7: Linux-Distribution einrichten
Im sich nun öffnenden Fenster werden beim ersten Start Pakete heruntergeladen und entpackt. Dies kann einige Minuten dauern. Abschließend werden Sie aufgefordert, einen Benutzernamen und ein dazugehöriges Kennwort für die neue Linux-Installation festzulegen.
Sie können mit WSL mehrere Linux-Distributionen parallel betreiben. Dafür legen Sie pro Distribution ein separates Nutzerkonto an.
Eine vorhandene Linux-Distribution von WSL1 auf WSL2 upgraden
Sofern Sie bereits Nutzer des WSL1 sind und eine Linux-Installation eingerichtet haben, führen Sie zunächst die Schritte 2–4 aus der obenstehenden Anleitung durch. Nutzen Sie dann das folgende PowerShell-Kommando, um eine bereits installierte Linux-Distribution auf WSL2 umzustellen:
wsl --set-version <distribution> 2</distribution>
Beachten Sie, dass der Platzhalter <distribution> durch den Namen einer installierten Linux-Distribution ersetzt werden muss. Nutzen Sie das folgende PowerShell-Kommando, um sich eine Liste der installierten Linux-Distributionen anzeigen zu lassen und deren Namen einzusehen:
wsl --list --verbose
Die Einstellungen für eine installierte Linux-Distribution werden in einer Konfigurations-Datei „wsl.conf“ gespeichert. Diese Datei funktioniert nach dem Wechsel auf WSL2 weiterhin.
Abschließender Feature-Vergleich von WSL2 und WSL1
Wie Sie gesehen haben, bietet die Nutzung des WSL2 viele Vorteile gegenüber der Vorgängerversion. Abschließend haben wir die Gemeinsamkeiten und Unterschiede der beiden Versionen übersichtlich für Sie zusammengefasst:
Feature | WSL1 | WSL2 |
---|---|---|
Bietet Integration zwischen Windows und Linux | ||
Schneller Startvorgang der Linux-Umgebung | ||
Hohe Performanz und geringer Ressourcenbedarf | ||
Basiert auf virtueller Maschine (VM) | ||
Enthält vollständigen Linux-Kernel | ||
Bietet vollständige Kompatibilität von Systemaufrufen | ||
Erlaubt parallele Nutzung von VMware und VirtualBox | ||
Erlaubt Nutzung über Betriebssystem-Dateisysteme hinweg |