Mon problème est que je dois réinitialiser ou réinstaller Windows à cause de certains problèmes, mais j'ai passé beaucoup de temps à configurer WSL pour le développement et je ne veux pas le perdre.
Existe-t-il un moyen de sauvegarder l'intégralité du WSL avec ses paramètres et modules installés, plugins, utilisateurs, etc. et de le restaurer après la réinitialisation ou la réinstallation de Windows? J'ai beaucoup cherché sur ce sujet mais je n'ai trouvé aucune information utile.
Sinon, s'il n'y a aucun moyen de sauvegarder, la réinitialisation de Windows 10 supprimera-t-elle totalement WSL?
%USERPROFILE%/AppData/Local/lxss
. As-tu essayé ça?Réponses:
Comment sauvegarder?
Un certain nombre de façons, mais une pratique courante consiste à utiliser tar pour créer une archive des fichiers que vous souhaitez sauvegarder (afin de tout réinstaller lorsque vous recréez votre environnement). L'écriture d'un
backup.sh
script simple devrait faciliter la sauvegarde répétée et régulière.Que sauvegarder?
La plupart de votre configuration est stockée dans des fichiers de configuration Linux .___, souvent dans votre dossier ~ /. Vous pouvez également vouloir sauvegarder vos
/etc/ssh/ssh_config
fichiers de configuration système et d'autres fichiers similaires, mais soyez prudent avec les fichiers de configuration complexes qui contiennent des clés / données / etc spécifiques à l'instance.Vous pouvez générer votre liste de paquets apt en utilisant
dpkg-query -f '${binary:Package}\n' -W
et pouvez faire écho dans un fichier que vous pouvez également sauvegarder.Où sauvegarder?
Vous pouvez ensuite copier ces archives tar vers un emplacement séparé. Nous vous recommandons de copier dans un dossier accessible par Windows (par exemple
/mnt/c/backups
) à partir duquel vous pouvez le copier sur OneDrive, DropBox, disque dur externe, FTP ailleurs, etc.HTH.
la source
Windows 10 v1903 comprend une commande d'exportation / importation WSL intégrée . Plus précisément,
wsl --export
qui produit untar
etwsl --import
, qui importe un précédemment exportétar
. Vous pouvez ensuite déplacer ce fichier entre les ordinateurs.Vous pouvez également spécifier stdin / stdout avec
-
, ce qui devrait vous permettre de transférer directement vers une autre machine et d'importer à l'aide d'un shell distant commessh
.la source
wsl --import
peut également importer destar.gz
fichiers. Ces commandes lancent en%SystemRoot%\System32\lxss\tools\bsdtar
interne le binaire ELF64.wsl --export
peut prendre plus de temps que prévu. Sur ma machine, il a reposé pendant environ 10 minutes après avoir écrit seulement quelques mégaoctets, puis a finalement écrit un fichier tar de 3,2 Go.Pour sauvegarder et restaurer une distribution Linux WSL complète, vous pouvez essayer de (1) créer un
.tar.gz
avec votre système de fichiers et (2) restaurer la copie à l'aide de certains outils d'installation disponibles sur Internet:.tar.gz
fichier.rootfs.tar.gz
.Création de la sauvegarde
Sur la base d'un rapport de problème , vous pouvez créer une sauvegarde à l'aide du
tar
dans le WSL. Notez que vous devez ignorer certains dossiers (par exemple / mnt) dans la copie.Vous devez créer ou déplacer ultérieurement le fichier de sauvegarde dans un fichier valide.
/mnt/c
sous-dossier . Dans l'exemple, les fichiers sont créés dans le/mnt/c/tmp
.Restauration à l'aide de lxRunOffline
À l'aide de lxRunOffline , vous pouvez installer le tar résultant en tant que nouvelle distribution dans WSL à l'aide de la ligne de commande Windows.
Pour exécuter la sauvegarde, vous pouvez utiliser le même lxRunOffline
Restauration à l'aide d'un DistroLauncher
Il existe de nombreux lanceurs pour les distributions Linux basés sur l' exemple de Microsoft . Je pense que vous pouvez essayer la version Yuk7 .
Vous devez télécharger un fichier de distribution et le
launcher.exe
. Pour utiliser le même fichier de distribution mentionné ci-dessus, vous devez renommer le fichier de sauvegarde enrootfs.tar.gz
et le lanceur avec le nom de distribution souhaité. Plus tard, vous devez exécuter le lanceur en tant qu'administrateur (j'ai des erreurs en l'exécutant en tant qu'utilisateur normal)La première fois que vous exécutez le lanceur, il installe et exécute la distribution. La prochaine fois, il exécutera la distribution Linux.
la source
Bien que la réponse de Jaime soit parfaite,
/tmp
dossier n'est pas recréé d'une manière ou d'une autre lorsque launcher.exe est utilisé pour installer la balle tar (je parle spécifiquement de déplacer l'installation WSL d'une machine à une autre).Il faut donc créer
/tmp
et attribuer les droits requis.La seule approche qui a fonctionné pour moi est:
https://www.cyberciti.biz/faq/mysqld-innodb-error-unable-to-create-temporary-file/
la source