Das Windows Subsystem for Linux ist eine Kompatibilitätsschicht, mit der sich native Linux-Programme direkt von der Windows-Kommandozeile ausführen lassen. Spezifisch erlaubt das WSL das Ausführen von 64-bit Linux-Binärdateien im Standard „Executable and Linkable Format“ (ELF).
Das Windows Subsystem für Linux ist ab Windows 10 verfügbar. Doch das Interesse von Microsoft, Windows-Nutzern die Arbeit mit Linux-Tools aus der gewohnten Desktop-Umgebung zu erleichtern, reicht weiter zurück. So ging das WSL aus dem Projekt „Microsoft Windows Services for UNIX“ (SFU / Interix) hervor, das seinerseits eine Weiterentwicklung des bereits in Windows NT integrierten „POSIX-Subsystem“ war. Mit dem Windows Subsystem for Linux 2 (WSL2) setzt sich diese Entwicklung weiter fort.
Vor Erscheinen des WSL mussten Nutzer einigen Aufwand betreiben, um die besten Aspekte der Windows- und Linux-Universen zu vereinen. Prinzipiell boten sich zwei Wege an, um Linux-Programme unter Windows lauffähig zu machen:
- Nutzung einer virtuellen Maschine. Hierbei wird eine komplette Linux-Installation als virtueller Computer unter Windows installiert. Der Ansatz ist recht benutzerfreundlich und erlaubt die vollumfängliche Nutzung beliebiger Linux-Anwendungen, setzt jedoch einiges an Hardware-Ressourcen voraus. Ferner ist ein Austausch zwischen laufenden Programmen der beiden Betriebssysteme nur in begrenztem Maße möglich.
- Einsatz der Linux-Laufzeitumgebung Cygwin. Diese wird unter Windows installiert und erlaubt die Nutzung vieler beliebter Linux-Programme. Der Austausch zwischen Windows- und Linux-Programmen ist mit Cygwin in begrenztem Maße möglich.
Ferner konnten Nutzer Linux parallel zur existierenden Windows-Installation einrichten. Dieses als Dual-Boot bekannte Setup erfordert jedoch ein Neustarten des Computers, um in das jeweilige Betriebssystem zu wechseln. Ein Austausch zwischen laufenden Programmen aus Windows und Linux ist somit nicht möglich.
Das Windows Subsystem for Linux kommt ohne virtuelle Maschine aus und ist daher performant. Jedoch ist kein kompletter Linux-Kernel an Bord, sodass nicht alle Anwendungen unterstützt werden. Insbesondere ermöglicht das WSL allein nicht die Ausführung von Linux-Programmen mit grafischer Benutzeroberfläche (GUI). Auch für dieses Einsatzszenario existieren Ansätze; diese erfordern jedoch weitere Schritte für Installation und Konfiguration.