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.

Commands

--version

Anzeigen der aktuellen WSL Version (Version 2 benötigt)
1
wsl --version
Beispielausgabe
1
2
3
4
5
6
7
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
1
wsl --set-default-version 2

--update

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

--list

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

--export

Exportiert die Distribution mit dem Namen in ein tar

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

--import

Importiert die Distribution als Name in ein Verzeichnis aus einem tar

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

--unregister

Löscht die Distribution mit dem Namen

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

wsl-to-wsl

Um Files von der "alten" in die "neue" Distribution per rsync zu übertragen, könnt ihr die Distributionen untereinander mounten.
In der "alten" und in der "neuen" Distribution den mount Befehl ausführen

  • $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
1
echo "/ /mnt/wsl/instances/$WSL_DISTRO_NAME none defaults,bind,X-mount.mkdir 0 0" | sudo tee -a /etc/fstab
Die erzeugten Mountpoints aktivieren
1
mount -a
Daten von alter zu neuer Distribution syncen (Beispiel)
1
rsync -avz --progress --delete /mnt/wsl/instances/Ubuntu-22.04/workspace/  /mnt/wsl/instances/Ubuntu-24.04/workspace/
Die erzeugten Mountpoints deaktiveren
1
2
umount /mnt/wsl/instances/Ubuntu-22.04
umount /mnt/wsl/instances/Ubuntu-24.04