Mein Problem ist, dass ich Windows wegen einiger Probleme zurücksetzen oder neu installieren muss, aber ich habe viel Zeit damit verbracht, WSL für die Entwicklung zu konfigurieren und möchte es nicht verlieren.
Gibt es eine Möglichkeit, die gesamte WSL mit ihren Einstellungen und installierten Modulen, Plugins, Benutzern usw. zu sichern und nach dem Zurücksetzen oder Neuinstallieren von Windows wiederherzustellen? Ich habe viel in diesem Thema gesucht, aber ich konnte keine nützlichen Informationen finden.
Andernfalls wird beim Zurücksetzen von Windows 10 die WSL vollständig gelöscht, wenn keine Möglichkeit zum Sichern besteht.
%USERPROFILE%/AppData/Local/lxss
. Hast du das versucht?Antworten:
Wie sichern?
Es gibt eine Reihe von Möglichkeiten, es ist jedoch üblich, tar zu verwenden, um ein Archiv der zu sichernden Dateien zu erstellen (um alles neu zu installieren, wenn Sie Ihre Umgebung neu erstellen). Das Schreiben eines einfachen
backup.sh
Skripts sollte das wiederholte Sichern in regelmäßigen Abständen erleichtern.Was soll gesichert werden?
Der größte Teil Ihrer Konfiguration wird in Linux .___-Konfigurationsdateien gespeichert, häufig in Ihrem ~ / -Ordner. Möglicherweise möchten Sie auch Ihre
/etc/ssh/ssh_config
und ähnliche Systemkonfigurationsdateien sichern . Seien Sie jedoch vorsichtig mit komplexen Konfigurationsdateien, die instanzspezifische Schlüssel / Daten / usw. enthalten.Sie können Ihre apt-Paketliste mit generieren
dpkg-query -f '${binary:Package}\n' -W
und in eine Datei übertragen, die Sie auch sichern können.Wohin soll ein Backup erstellt werden?
Sie können diese tar-Archive dann an einen separaten Ort kopieren. Wir empfehlen das Kopieren in einen Windows-zugänglichen Ordner (z. B.
/mnt/c/backups
), von dem Sie ihn auf OneDrive, DropBox, externe Festplatte, FTP usw. kopieren können.HTH.
quelle
Windows 10 v1903 enthält einen integrierten WSL-Export- / Importbefehl . Genauer gesagt,
wsl --export
welches eintar
undwsl --import
welches ein zuvor exportiertes importierttar
. Sie können diese Datei dann zwischen Computern verschieben.Sie können auch stdin / stdout mit angeben
-
, wodurch Sie direkt auf einen anderen Computer übertragen und mit einer Remote-Shell wie zssh
. B. importieren können .quelle
wsl --import
kann auchtar.gz
Dateien importieren . Diese Befehle%SystemRoot%\System32\lxss\tools\bsdtar
starten intern ELF64 Binary.wsl --export
Kann länger dauern, als Sie vielleicht erwarten. Auf meinem Rechner saß es ungefähr 10 Minuten, nachdem es nur ein paar Megabyte geschrieben hatte, und schrieb dann endlich eine 3,2 GB Teer-Datei aus.Um eine vollständige WSL-Linux-Distribution zu sichern und wiederherzustellen, können Sie versuchen, (1) eine
.tar.gz
mit Ihrem Dateisystem zu erstellen und (2) die Kopie mit Hilfe einiger im Internet verfügbarer Installer-Tools wiederherzustellen:.tar.gz
Datei installieren .rootfs.tar.gz
.Backup erstellen
Basierend auf einem Fehlerbericht können Sie eine Sicherung mit der
tar
in der WSL erstellen . Beachten Sie, dass Sie einige Ordner (z. B. / mnt) in der Kopie ignorieren müssen.Sie müssen die Sicherungsdatei erstellen oder später in einen gültigen
/mnt/c
Unterordner verschieben. In dem Beispiel werden die Dateien in das erstellt/mnt/c/tmp
.Wiederherstellung mit lxRunOffline
Mit lxRunOffline können Sie das resultierende tar als neue Distribution in WSL über die Windows-Befehlszeile installieren.
Um die Sicherung auszuführen, können Sie dasselbe lxRunOffline verwenden
Wiederherstellung mit einem DistroLauncher
Es gibt viele Starter für Linux-Distributionen, die auf dem Microsoft-Beispiel basieren . Ich denke, Sie können die Yuk7-Version versuchen .
Sie müssen eine Distributionsdatei herunterladen und die
launcher.exe
. Um dieselbe oben erwähnte Verteilungsdatei zu verwenden, müssen Sie die Sicherungsdatei inrootfs.tar.gz
und den Starter in den gewünschten Verteilungsnamen umbenennen . Später müssen Sie den Launcher als Administrator ausführen (ich habe Fehler beim Ausführen als normaler Benutzer).Wenn Sie den Launcher zum ersten Mal ausführen, wird die Distribution installiert und ausgeführt. Beim nächsten Mal wird die Linux-Distribution ausgeführt.
quelle
Während Jaimes Antwort perfekt ist, wird der
/tmp
Ordner nicht neu erstellt, wenn launcher.exe für die Installation des Teerballs verwendet wird (ich spreche speziell über das Verschieben der WSL-Installation von einem Computer auf einen anderen).Man muss also
/tmp
die erforderlichen Rechte erstellen und zuweisen.Der eine Ansatz, der für mich funktioniert hat, ist:
https://www.cyberciti.biz/faq/mysqld-innodb-error-unable-to-create-temporary-file/
quelle