Windows Subsystem für Linux (WSL) ohne Microsoft-Store/Konto installieren (Windows 10)

Windows Subsystem für Linux (WSL) ohne Microsoft-Store/Konto installieren (Windows 10)

Microsoft unterstützt seit kurzem die Möglichkeit, eine Linux-Distributiuon unter Windows 10 über die Kommandozeile zu bedienen. Der Zwischenritt über eine Virtuelle Maschine (VM), welche dann mittels SSH-Client angesteuert wird, fällt hierbei weg. Das ganze nennt sich irreführend Windows Subsystem für Linux, kurz WSL. Obwohl für Linux nichts bereitgestellt wird, sondern wie bereits gesagt nur umgekehrt: Linux für Windows.

Da sich das Linux-System somit tief in Windows integriert, funktioniert dies nicht flexibel mit jeder Distribution wie bei einer VM. Stattdessen sind entsprechend von Microsoft aufbereitete Abbilder im appx-Format notwendig. Dennoch kann das ganze für Nutzer interessant sein, die noch nicht zu Linux wechseln können oder wollen. Derzeit werden sechs Distributionen von Microsoft bereitgestellt.

Allerdings hat das ganze noch einen Haken: Besagte Linux-Abbilder für das WSL werden über den Microsoft-Store verteilt. Zumindest propagiert Microsoft diese Variante, denn: Über solch ein Konto werden weit mehr Daten an Microsoft gesendet, als es Windows 10 ohnehin schon macht. Der Benutzer wird damit eindeutig identifizierbar. Außerdem kann der Konzern ein detailliertes Profil mit Daten aus anderen Diensten wie OneDrive oder Cortana erstellen. Aus Sicherheits- und Datenschutzgründen ist die Nutzung mit Microsoft-Konto daher noch umstrittener als Windows 10 selbst und somit nicht empfehlenswert.

Aktivieren des WSL unter Windows 10

Doch der Reihe nach. Bevor wir ein Linux-Abbild herunterladen und installieren, müssen wir das Windows Subsystem für Linux zunächst aktivieren. Hierfür öffnen wir eine PowerShell als Administrator: Im Startmenü nach Powershell suchen und rechts auf Als Administrator ausführen klicken:

Alternativ erreicht man das Gleiche mit einem Rechtsklick auf den PowerShell-Eintrag in den Suchergebnissen:

Nachdem die Nachfrage der Benutzerkontensteuerung bestätigt wurde, fügt man in das PowerShell-Fenster folgenden Befehl ein:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Die Ausführung braucht etwas Zeit. RestartNeeded gibt an, ob der PC im Anschluss neu gestartet werden muss, damit die Funktion verfügbar ist.

Linux-Abbilder für das WSL ohne Microsoft-Konto herunterladen

Microsoft stellt die Abbilder zum direkten Download in folgendem KB-Artikel bereit: Manueller Download der WSL Distributionspakete

Dort kann man sie entweder grafisch im Browser herunterladen, oder alternativ grafisch per Klick im Browser. Welche Variante man wählt, spielt im Prinzip keine Rolle. Beim grafischen Download muss der Pfad zur appx-Datei entsprechend angepasst werden. Im Regelfall dürfte der Downloads-Ordner in $env:userprofile\Downloads liegen. Zumindest sofern man ihn nicht händisch auf ein anderes Laufwerk verschoben hat. Im Folgenden nutze ich daher den Download via Konsole.

Als Linux-Distribution nutze ich die aktuellste Ubuntu 20.04 LTS, welche unter folgendem Link heruntergeladen werden kann: https://aka.ms/wslubuntu2004

Für den PowerShell-Aufruf wechsle ich zunächst in den Temp-Ordner und lade die Datei dann herunter.

cd $env:TEMP
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing

Der Befehl über das CmdLet Add-AppxPackage funktioniert leider nicht. Stattdessen muss man die Datei zunächst umbenennen, damit sie mit Expand-Archive entpackt werden kann. Die Installation lässt sich über die darin enthaltene exe-Datei starten.

Rename-Item .\Ubuntu.appx .\Ubuntu.zip
Expand-Archive .\Ubuntu.zip
cd .\Ubuntu\

Die Exe-Datei heißt je nach Version unterschiedlich:

PS C:\Users\Daniel\AppData\Local\Temp\Ubuntu> ls ubuntu*.exe


    Verzeichnis: C:\Users\Daniel\AppData\Local\Temp\Ubuntu


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        23.04.2020     16:01         468480 ubuntu2004.exe

Nachtrag 31.01.2022: Mittlerweile wird eine appx-Datei ausgeliefert, statt der .exe. Hier einfach jene nehmen, die mit _x64 endet. Per Doppelklick registriert sich WSL über den Store, ein Konto ist nicht notwendig.

Anschließend startet der Einrichtungsassistent, der – wie bei der echten Installation – zur Erstellung eines Benutzerkontos auffordert. Nachdem hier ein Benutzername mit dazugehörigem Kennwort eingegeben wurde, ist man in der Linux-Distribution eingeloggt:

Diese kann nun nahezu wie ein vollwertiges Linux genutzt werden. Beispielsweise lassen sich mit sudo apt-get update && sudo apt-get upgrade die Paketquellen und Pakete aktualisieren. Wie bei jeder frischen Installation ist dies auch hier empfehlenswert. Der zuvor eingerichtete Benutzer besitzt über das Passwort sudo-Rechte.

Aufrufen des WSL aus jeder Konsole heraus

Möchte man sein Linux starten, genügt das Ausführen des Befehls wsl:

Praktischerweise wird das aktuelle Arbeitsverzeichnis auf der Windows-Konsole direkt in der WSL-Instanz geöffnet. Möchte man eine spezifische Distribution starten, so kann man diese mit dem Schalter -d angeben. Es folgt der Name, wie er bei wsl –list (siehe unten) angezeigt wird. Für eine Standard Ubuntu 20.04 Installation beispielsweise:

PS C:\Users\Daniel> wsl -d Ubuntu-20.04
daniel@Dani-PC:/mnt/c/Users/Daniel$

Standardmäßig ist dies nicht erforderlich. Aber sobald man mehrere Distributionen/Instanzen installiert hat, kann man so entscheiden, welche gestartet werden soll.

Terminal-Empfehlung für Windows 10

Die Konsole führte unter Windows sehr lange eher ein Nischendasein: Das Urgestein CMD ist schon seit Jahrzehnten nicht mehr auf dem Stand der Zeit und bietet weit weniger Möglichkeiten als jede Kommandozeile unter Linux. Deren Nachfolger PowerShell ist schon besser. Doch auch hier vermisst man zahlreiche Funktionen wie etwa die Möglichkeit, mehrere Tabs verwenden zu können.

Nach dem Motto Besser spät als nie hat auch Microsoft dies mittlerweile eingesehen und liefert endlich ein neues Windows-Terminal. Dies ist über den Link sogar komplett quelloffen auf Github erhältlich. Über die Github-Releases kann man die neuste msixbundle-Datei zur Installation herunterladen.

Es integriert alle Shells und unterstützt auch das WSL. So kann man beispielsweise direkt einen neuen Tab mit einer installierten WSL-Instanz starten:

Weitere nützliche Befehle

Installierte Distributionen anzeigen

PS C:\Users\Daniel> wsl --list --verbose
  NAME            STATE           VERSION
* Ubuntu-20.04    Running         1

Installierte Distribution entfernen (zurücksetzen)

PS C:\Users\Daniel> wsl --unregister Ubuntu-20.04
Registrierung wird aufgehoben…

Möchte man diese neu einrichten, kann man anschließend wie oben beschrieben die exe-Datei der jeweiligen Distribution ausführen.

Leave a Reply