Datum: | Windows

Windows-Subsystem für Linux

Das Windows-Subsystem für Linux (WSL) ist Bestandteil von Windows 10 sowie Windows 11 und ermöglicht es, Linux-Befehle, Linux-Anwendungen sowie ganze Linux-Distributionen direkt unter Windows auszuführen, ohne sich mit Bootumgebungen oder virtuellen Maschinen herumschlagen zu müssen. Im folgenden Artikel stellen wir Ihnen das WSL unter Windows vor, beschreiben die Einrichtung und den praktischen Einsatz.

Was ist das Windows-Subsystem für Linux?

Das Windows Subsystem für Linux (WSL) ist eine Funktion von Windows ab Version 10, die es ermöglicht, Linux direkt unter Windows auszuführen. WSL steht in Windows auch in der Home Edition zur Verfügung.

Für wen ist WSL geeignet?

WSL richtet sich nicht nur an Entwickler von Apps oder Webservices, sondern auch an Anwender, die Linux ergänzend einsetzen möchten, ohne sich mit den Problemen verschiedener Betriebssysteme, DualBoot, Datenspeicherung zwischen den Systemen auseinandersetzen zu müssen.

Welchen Vorteil bietet WSL gegenüber einer Linux-Umgebung in einer virtuellen Maschine?

Im Vergleich zu einer virtuellen Maschine benötigt die WSL weniger Arbeitsspeicher und CPU-Leistung und ist zudem wesentlich einfacher einzurichten und zu verwalten.

1. Was ist das Windows-Subsystem für Linux?

Windows kennt verschiedene Subsysteme, beispielsweise das Win32-Subsystem, Win64-Subsystem, Kernel-Subsystem oder das Subsystem für die virtuelle DOS-Umgebung. Ein weiteres Subsystem, welches seit Windows 10 zur Verfügung steht und die Ausführung von Linux-Befehlen und -Programmen erlaubt, ist das Windows-Subsystem für Linux – kurz WSL.

Android unter Windows: Mit dem Windows Subsystem für Android (WSA) gibt es auch die Möglichkeit, Apps von Android als Anwendungen unter Windows auszuführen.

WSL fungiert als Schnittstelle zwischen Linux und Windows und ist in zwei verschiedenen Versionen verfügbar. Mit WSL können Sie verschiedene Linux-Distributionen aus dem Microsoft Store unter Windows ausführen (auch mehrere gleichzeitig), beliebte Kommandozeilen-Tools wie grep, sed, awk oder andere nutzen, Bash-Skripte direkt von Windows nach Linux übergeben, verschiedene Dienste wie MySQL, den Webserver Apache oder andere nutzen und sogar Linux-Programme nativ als Fenster auf dem Windows-Desktop ausführen.

1.1. WSL1 und WSL2 – Was sind die Unterschiede?

Die erste Version vom WSL nennt sich WSL1 und besitzt keinen eigenen Linux-Kernel. Vielmehr übersetzt das Subsystem die Linux-Kernelbefehle, ähnlich wie WINE Windows-Programme unter Linux emuliert, direkt in Windows-Systemaufrufe. Dies hat den Vorteil, dass solche Linux-Umgebungen weniger Arbeitsspeicher benötigen, lokale Ressourcen wie die Massenspeicher, Drucker oder USB-Geräte direkt ansprechen können.

WSL2 hingegen besitzt einen Kernel, den Windows im Hintergrund in einer virtuellen Maschine bereitstellt. Der Vorteil dieser Variante ist, dass Linux-Programme mit dieser Variante besser kompatibel sind.

Ein Nachteil von WSL2 gegenüber von WSL1 ist die Performance beim Zugriff auf das Windows-Dateisystem mit vielen Dateien. Außerdem ist der Zugriff auf Netzwerkanwendungen mit WSL zwischen den beiden Versionen nicht identisch. Während Netzwerkdienste unter WSL1 über die IP-Adresse des Windows-Host-Rechners und die Port-Nummer angesprochen werden können, verwendet WSL2 einen virtualisierten Ethernet-Adapter und erfordert zusätzliche Schritte, die Microsoft im Artikel Zugriff auf Netzwerkanwendungen mit WSL beispielhaft beschrieben hat.

Ein weiterer Nachteil von WSL2 ist der zeitliche Verzug. Im Hintergrund muss erst eine virtuelle Maschine gestartet werden, sodass Linux – je nach System – erst ca. 8 Sekunden später zur Verfügung steht.

Die folgende Tabelle gibt einen Vergleich der Features zwischen WSL1 und WSL2.

Funktion WSL1 WSL2
Integration zwischen Windows und Linux
Schnelle Startzeiten
Geringer Ressourcenbedarf im Vergleich zu herkömmlichen virtuellen Computern
Wird mit aktuellen Versionen von VMware und VirtualBox ausgeführt
Verwaltete VM
Vollständiger Linux-Kernel
Vollständige Kompatibilität von Systemaufrufen
Leistung über Betriebssystem-Dateisysteme hinweg

WSL2 ist für Windows 10 (ab Version 1903) und Windows 11 verfügbar. Sie können jederzeit wählen, welche der beiden Versionen Sie jeweils nutzen. Standardmäßig verwendet Windows für Linux WSL2.

Microsoft rät WSL1 statt WSL2 zu verwenden, wenn:

WSL und VirtualBox: Microsoft gibt den Hinweis, dass es zwischen WSL2 und VirtualBox zu Kompatibilitätsproblemen abhängig der Version von VirtualBox kommen kann.

1.2. Unterschiede zwischen WSL und Linux in einer virtuellen Maschine?

Viele Benutzer verwenden unter Windows Virtualisierer wie VirtualBox, VMWare oder Hyper-V, um Betriebssysteme in virtuellen Maschinen (VM) auszuführen. Die Vorteile der WSL gegenüber dieser Methode sind:

  • Geringerer Ressourcenverbrauch
  • Schnellere Startzeiten
  • Keine VM-Konfiguration notwendig
  • Weniger Zeit für die Verwaltung
  • Nahtlose Integration zwischen Windows und Linux

Zwar verwendet WSL2 im Hintergrund eine virtuelle Maschine, es bedarf für den Anwender aber keiner Konfiguration oder keines gesonderten Starten eines Virtualisierers unter Windows. WSL2 unterscheidet sich damit vordergründig nicht von WSL1.

1.3. Virtuelle Maschine statt WSL für wenig versierte Anwender

Wenn Sie mit Linux-Befehlen nicht vertraut sind und gerne einen Linux-Desktop nutzen möchten, empfehlen wir statt WSL die Nutzung von Linux in einer virtuellen Maschine. Wie Sie Linux als Live-System in einer virtuellen Umgebung gefahrlos ausprobieren können, haben wir in dem Beitrag "Welches Linux? Eine Vorstellung der besten Linux-Distributionen für Heimanwender" beschrieben.

2. So installieren Sie das Windows-Subsystem für Linux

Der einfachste Weg zur Installation von WSL ist über die Kommandozeile. Tippen Sie den Befehl

wsl.xe --install 

ein. Windows installiert dann selbstständig die VM-Plattform, das Windows-Subsystem für Linux und richtet auch eine Standard-Linux-Distribution ein.

wsl install

Der Befehl wsl.exe --install richtet WSL vollständig ein.

Nach einem Neustart wird Ubuntu gestartet.

WSL startet ubuntu

WSL startet die Shell mit Linux unter Windows.

WSL lässt sich auch über die „Optionale Features“ -> Mehr Windows-Funktionen in Windows installieren. Dazu muss neben dem Windows-Subsystem für Linux und für WSL2 noch die VM-Plattform ausgewählt werden.

Windows-Subsystem für Linux als Windows Feature aktivieren

Windows-Subsystem für Linux über Windows Feature aktivieren eingerichtet.

Danach müssen Sie aber noch von Hand eine Linux-Distribution einrichten, wie wir es unter Punkt 3.1 beschrieben haben.

Windows-Subsystem aus dem Microsoft Store

Seit Windows Version 19044 werden alle notwendigen Komponenten nur noch als WSL-Wartungsupdate im Microsoft Store gepflegt. Dies hatte Microsoft vor längerer Zeit schon in einem Blogbeitrag angekündigt.  Der Befehl wsl --install lädt das Windows-Subsystem für Linux aus dem Microsoft Store selbstständig herunter. 

Achtung: Wenn Sie nur das Paket installieren, fehlen auf dem Windows weitere Komponenten. Halten Sie sich daher an den von uns beschriebenen Weg.

Store Windows-Subsystem für Linux

Store Windows-Subsystem für Linux.

3. Die Nutzung von WSL in der Praxis

3.1. Erste Befehle und Parameter über eine Shell

WSL lässt sich über die Kommandozeile (CMD oder PowerShell) aufrufen und besitzt eine Vielzahl von Parametern. Microsoft empfiehlt aber, für WSL Windows Terminal zu verwenden, welches bei Windows 11 Version 22H2 die standardmäßige Befehlszeile bereits ist. In Windows Terminal wird dann jede WSL-Instanz in einem eigenen, anpassbaren Tab ausgeführt.

Nach dem ersten Start müssen Sie bei einer Einrichtung ohne wsl.xe --install erst eine Linux-Distribution installieren, welche in der Kommandozeile ausgeführt wird.

Geben Sie dazu 

Wsl.exe --list --online oder wsl -l –o

ein. Der Befehl listet alle Linux-Distributionen auf, welche online verfügbar sind.

wsl list online

Mit dem Befehl wsl --list --online bekommen Sie alle verfügbaren Linux-Distributionen angezeigt.

Mit dem Befehl 

wsl.exe --install <Distro>

können Sie die gewünschte Distribution installieren. Sie haben die Möglichkeit, auch mehrere Distributionen zu installieren.

Distro installieren

Die Distribution wird installiert und ein Benutzername und Passwort abgefragt.

wsl.exe --list

zeigt die installierten Linux-Distributionen an.

wsl.exe --set-default <Distribution Name>

legt die Standard-Distribution für Linux-Befehle in der Kommandozeile fest.

wsl.exe -d <Distribution Name>

startet die gewünschte Linux-Distribution.

Ubuntu gestartet
wsl.exe --distribution <Distribution Name> --user <User Name>

Damit können Sie eine bestimmte Distribution mit einem bestimmten User, z.B. „root“ starten.

wsl.exe --shutdown

beendet die Ausführung von WSL.

WSL.exe --version

liefert Ihnen detaillierte Informationen zu der WSL-Komponente.

wsl version

WSL --version listet die Versionsstände auf.

WSL.exe --status

zeigt Ihnen Infos zur WSL-Konfiguration, z. B. Standardverteilungstyp, Standardverteilung und Kernelversion an.

wsl status

wsl --status zeigt Ihnen die Standard-Distribution sowie die verwendete WSL-Version an.

wsl.exe --set-default-version <Version>

Mit dem Befehl können sie festlegen, welche Version von WSL als Standard derzeit verwendet wird. Version wird hier mit 1 oder 2 ersetzt.

wsl.exe --help

zeigt eine Liste aller Optionen und Befehle an, welche mit WSL zur Verfügung stehen.

Für Bash, die standardmäßige Befehlszeilenschnittstelle (CLI) von Linux, gibt es eine Syntax, welche in vielen Bereichen mit dem von PowerShell identisch ist. Trotzdem gibt es Unterschiede, beispielsweise zum Anzeigen des Inhalts in einem Verzeichnis mit dir unter Windows und ls unter Linux. Mit WSL können Sie beide Befehle für den gleichen Zweck verwenden und somit noch leichter Skripte erstellen. Weitere Infos zur Nutzung von Bash mit Basis-Kommandos in finden Sie hier.

wsl-bash-commands

wsl-bash-commands in Ubuntu. Bildquelle: Microsoft.

3.2. Installation von Linux-Distributionen

Gegenüber einer virtuellen Maschine können Sie aber nicht einfach ein ISO-Abbild einer der beliebten Linux-Distributionen in WSL als Installationsquelle einbinden. Der Grund liegt darin, dass die Distributionen für WSL speziell angepasst werden müssen. Microsoft hat hierfür eine WSL-Distrolauncher auf Github veröffentlicht und dokumentiert.

Sie können über den Microsoft Store dort vorhandene Distributionen wie beispielsweise Ubuntu, OpenSUSE oder Fedora herunterladen und automatisch installieren lassen. Für andere Distributionen benötigen Sie allerdings eine virtuelle Maschine unter Windows 10 oder Windows 11.

Linux im Store

Im Microsoft Store finden sich viele Linux-Distributionen.

Nach der Installation steht die Linux-Distribution als Icon zur Verfügung und wird als Betriebssystem gestartet. Der Weg über den Befehl wsl.exe --install (siehe Punkt 3.1) geht natürlich auch.

Geben Sie dann 

sudo apt update && sudo apt upgrade

ein, um alle Pakete zu aktualisieren.

Sudo Update

Sudo Update aktualisiert alle Pakete.

Der Zugriff auf einen Linux-Desktop ist hier beispielhaft beschrieben und wird auch in dem folgenden Video erklärt:

3.3. Linux-Programme direkt auf dem Windows-Desktop ausführen

Mit WSL2 ist es möglich, Linux-Anwendungen wie jedes andere Windows-Programm direkt auf dem Windows-Desktop auszuführen und in das Windows-Startmenü aufzunehmen.

Um Linux-Anwendungen nativ unter Windows installieren zu können, müssen Sie zunächst die verfügbaren Linux-Pakete mit dem folgenden Paket aktualisieren:

sudo apt update

Mit dem Befehl

Sudo apt install paketname 

wird das Programm „Paketname“ installiert.

Firefox installiert

In dem Beispiel haben wir Firefox installiert.

Installierte Pakete sind dann im Startmenü und über die Befehlszeile mit „Paketname“ abrufbar und finden sich auch im Startmenü von Windows.

installierte Linux-Programme im Startmenü

installierte Linux-Programme im Startmenü.

 

Firefox linux unter windows

Firefox aus Linux auf dem Desktop von Windows als eigenes Fenster.

In dem folgenden Video finden Sie nochmals eine Einführung zur Einrichtung und Nutzung von WSL.

4. Problemlösungen und weitere Hilfen

Microsoft hat Lernprogramme zu den Themen

  • Visual Studio Code mit Linux nutzen
  • Erste Schritte mit Git
  • Erste Schritte mit Datenbanken
  • Erste Schritte mit Docker-Remotecontainern unter WSL 2
  • Anleitung: Kompilieren und Debuggen von C++ mit WSL 2 in Visual Studio 2022
  • Installieren von Node.js
  • Erste Schritte mit Linux und Bash
  • Datenträger einbinden
  • USB-Geräte verbinden
  • Arbeiten über Windows- und Linux-Dateisysteme hinweg
  • Erweiterte Einstellungen in WSL anpassen
  • Dateiberechtigungen vergeben
  • Netzwerkbetrieb konfigurieren

und viele weitere Anwendungsgebiete sowie Fragestellungen ausführlich mit Beispielen in deutscher Sprache in der Dokumentation für das Windows-Subsystem für Linux zusammengefasst.

Darüber hinaus empfehlen wir dem interessierten Leser die Videoreihe WSL2 von David Bombal, welcher in 10 Videos die Einrichtung und praktische Nutzung von WSL beschreibt.

WSL ist nicht perfekt und verursacht in den verschiedensten Konstellationen und Anwendungen das eine oder andere Problem. Die Benutzer dokumentieren ihre Probleme auf Github, wo es über 7000 geschlossene und über 2000 offene Tickets gibt. Wenn Sie eine Lösung für ein Problem suchen, ist dies der richtige Ort.

Darüber hinaus hat Microsoft in einem deutschen Artikel häufige Fehler und Problembehandlungen des Windows-Subsystems für Linux in einem Artikel zusammengefasst.

61 Bewertungen

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne Ø 4,70
Windows-Subsystem für Linux – So können Sie WSL unter Windows nutzen
Loading...

Hinterlasse eine Antwort

(wird nicht veröffentlicht)

Nutzungsrichtlinien beachten