Skip to content

WSL

Beschreibung

Das Windows Subsystem for Linux (WSL) ist eine Funktion von Microsoft Windows, die es ermöglicht, Linux-Distributionen nativ auf einem Windows-System auszuführen. Es bietet eine vollständige Linux-Umgebung, einschließlich einer Kommandozeile und Tools wie Bash, ohne dass eine virtuelle Maschine oder Dual-Boot-Konfiguration erforderlich ist.

Befehle

--version

Anzeigen der aktuellen WSL Version (Version 2 benötigt)
wsl --version
Beispielausgabe
WSL-Version: 2.0.9.0
Kernelversion: 5.15.133.1-1
WSLg-Version: 1.0.59
MSRDC-Version: 1.2.4677
Direct3D-Version: 1.611.1-81528511
DXCore-Version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows-Version: 10.0.19045.4046

--set-default-version

Aktuelle WSL Version als Default definieren
wsl --set-default-version 2

--update

Update der WSL Version auf die neueste Version
wsl --update

--list

Anzeige der online verfügbaren Distributionen für die Installation
wsl --list --online
Anzeige der installierten Distributionen
wsl --list --verbose

--export

Exportiert die Distribution mit dem Namen in ein tar

Eine vorhandene Distribution exportieren (Beispiel)
wsl --export "ubuntu" "$env:USERPROFILE\ubuntu.tar"

--import

Importiert die Distribution als Name in ein Verzeichnis aus einem tar

Eine vorhandene Distribution importieren (Beispiel)
wsl --import "ubuntu" "$env:USERPROFILE\ubuntu" "$env:USERPROFILE\ubuntu.tar"

--unregister

Löscht die Distribution mit dem Namen

Eine vorhandene Distribution löschen (Beispiel)
wsl --unregister "ubuntu"

wsl-to-wsl

Um Dateien von der alten in die neue Distribution per rsync zu übertragen, kannst du die Distributionen untereinander mounten.
Führe den mount-Befehl in der alten und in der neuen Distribution aus:

  • $WSL_DISTRO_NAME ist die Umgebungsvariable des Namens in der jeweiligen Distribution
  • Windows ist verantwortlich im WSL Context für die Bereitstellung von Mounts
  • Dadurch sind in beiden Distributionen beide Mounts verfügbar
  • Daher wirkt das Konstrukt mit "mounte ab root auf sich selbst" verwirrend
Ausführen in der alten und der neuen Distribution
echo "/ /mnt/wsl/instances/$WSL_DISTRO_NAME none defaults,bind,X-mount.mkdir 0 0" | sudo tee -a /etc/fstab
Die erzeugten Mountpoints aktivieren
mount -a
Daten von alter zu neuer Distribution syncen (Beispiel)
rsync -avz --progress --delete /mnt/wsl/instances/Ubuntu-22.04/workspace/  /mnt/wsl/instances/Ubuntu-24.04/workspace/
Die erzeugten Mountpoints deaktiveren
umount /mnt/wsl/instances/Ubuntu-22.04
umount /mnt/wsl/instances/Ubuntu-24.04