Tags: Windows 10, Linux, Tools
Fügt man eine Linux-Distribution für WSL hinzu, dann wird diese im Profil des jeweiligen Benutzers installiert. Zudem lassen sich mehrere davon parallel nutzen. Dabei kann es praktisch sein, etwa die Kopie einer vorhandenen Installation zu erstellen oder eine Distro auf einen anderen PC bzw. einen USB-Stick zu übertragen.
Die 20xx-Releases von Windows 10 enthalten nicht nur das neue Windows Subsystem für Windows 2 (WSL 2), sondern auch noch die ursprüngliche erste Ausführung. Diese hängt das root-Dateisystem unterhalb von %LOCALAPPDATA% ein, wogegen WSL2 eine Utility-VM nutzt und die dazugehörige VHDX im Benutzerprofil speichert.
wsl.exe versus LxRunOffline
Möchte man eine vorhandene Distribution klonen, an einen anderen Ort verschieben oder exportieren, dann spielt es keine Rolle, in welcher Form eine WSL-Version das Linux-Dateisystem speichert. Für diesen Zweck stehen nämlich eigene Tools zur Verfügung, so dass ein Hantieren mit den Dateien und Konfigurationen entfällt.
Zum einen gibt es für das Management der Distributionen das in Windows enthaltene Kommandozeilen-Tool wsl.exe, zum anderen das Open-Source-Programm LxRunOffline, das mehr Optionen bietet.
Installierte Distros anzeigen
Bei beiden beginnt man in der Regel damit, dass man sich die Namen der installierten Distributionen anzeigen lässt, weil man diese den Tools für weitere Operationen als Parameter übergeben muss. Im einen Fall gibt man dazu
wsl --list --verbose
ein, im anderen
LxRunOffline.exe list
Möchte man bei LxRunOffline mehr Informationen erhalten als bloß den Namen, dann schickt man noch ein
LxRunOffline.exe summary -n Ubuntu-20.04
hinterher, um diese für die Distribution mit der Bezeichnung Ubuntu-20.04 anzuzeigen.
Import und Export von Distros
Wenn es um das Management der Dateien einer Distribution geht, dann bietet das Bordmittel wsl.exe nur die Möglichkeit, diese zu exportieren und zu importieren. Den Export kann man nutzen, um eine Distro, die man relativ aufwändig angepasst hat, als Kopie zu sichern.
Diese lässt sich dann auf dem gleichen Rechner wieder importieren, um sie zu klonen. Alternativ kann man sie damit natürlich auch auf einen anderen PC übertragen.
Der Export-Befehl erwartet den Namen einer installierten Distribution und einen solche für die .tar-Datei, in die sie gespeichert werden soll, und zwar nach diesem Muster:
wsl.exe --export Ubuntu-20.04 u2004.tar
Bevor man loslegt, sollte man sicherstellen, dass die betreffende Distribution nicht aktiv ist und bei Bedarf mit
wsl.exe --terminate Ubuntu-20.04
beenden.
Der Import erfolgt dann entsprechend mit
wsl.exe --import <Name-der-neuen-Distro> <Installationsort> <Dateiname.tar> --version <Version>
Die Angabe der Version ist optional.
Wesentlich flexibler zeigt sich bei solchen Anforderungen LxRunOffline. Auch dieses verfügt über einen Export- und Importbefehl, Letzerer heißt install:
LxRunOffline.exe install -n <Name-der-neuen-Distro> -d <Installationsort> -f <.tar-File>
Auch hier kann man die Version mit dem Parameter -v festlegen, der Schalter -s erzeugt zudem eine Verknüpfung auf dem Desktop. Beim Export reichen neben die Parameter -n für den Namen der Distro und -f für jenen der .tar-Datei:
LxRunOffline.exe export -n <Name-der-Distro> -f <.tar-File>
Distros klonen und verschieben mit LxRunOffline
Spannender sind die Möglichkeiten, Distros ohne umständlichen Export und Reimport zu klonen, zu verschieben oder auf einem anderen PC zu registrieren. Der folgende Befehl dupliziert eine Distro auf einen USB-Stick und registriert sie unter dem Namen USBuntu:
LxRunOffline.exe duplicate -n Ubuntu-18.04 -d f:\ubuntu -N USBuntu
Nimmt man einen USB-Datenträger als Ziel, dann sollte man darauf achten, dass er mit NTFS formatiert wurde. Andernfalls erscheint die Fehlermeldung, wonach sich das Case-sensitive-Attribut nicht setzen ließ. Außerdem weigert sich LxRunOffline, das Hauptverzeichnis eines Datenträgers als Ziel zu akzeptieren.
Alternativ zum Klonen könnte man eine Distro einfach auch auf einen anderen Datenträger verschieben. Auch diese Operation bleibt LxRunOffline vorbehalten:
LxRunOffline.exe move -n Ubuntu-18.04 -d f:\ubuntu\
Der Parameter -d erwartet in diesem Fall das Zielverzeichnis, in das die Distro verschoben werden soll.
Portable Distro erstellen
Wenn man eine portable Distribution für WSL einrichten möchte und diese wie oben beschrieben auf einen USB-Stick kopiert, dann kann man sie deregistrieren, bevor man den Datenträger entfernt. Andernfalls zeigen die WSL-Tools eine Disto an, die nicht verfügbar ist. Dazu gibt man für das obige Beispiel
LxRunOffline.exe unregister -n USBuntu
ein. Keinesfalls aber sollte man dafür
wsl --unregister USBuntu
verwenden, weil dieses Kommando die angegebene Distribution löscht.
Hat man den Memory-Stick an einen anderen Rechner angeschlossen, dann muss man die Distro dort wieder registrieren. Dazu ist wsl.exe nicht in der Lage, dazu benötigt man wieder LxRunOffline:
LxRunOffline.exe register -n USBuntu -d f:\ubuntu\
Die Parameter -n und -d stehen wieder für den Namen der Distro und des Verzeichnisses, in dem sie sich befindet.
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
- Version 1.0 mit neuen Features: Windows Subsystem for Linux kommt künftig aus dem Store
- Windows Subsystem für Linux über die Kommandozeile (wsl.exe) installieren
- GUI-Anwendungen ausführen im Windows Subsystem für Linux (WSL)
- Docker-Container im Subsystem für Linux 2 (WSL 2) ausführen
- Linux-Installationen von WSL1 nach WSL2 konvertieren
Weitere Links