J'ai vécu une expérience similaire il y a quelques années lorsque j'ai eu besoin de faire une "réinitialisation" de Windows. J'avais fait un wsl --export
Mais je suis tombé dans l'éternel piège de ne pas tester la sauvegarde/restauration, et l'importation ne se terminait jamais au moment de la restauration.
Dans ton cas, j'ai fait des allers-retours sur ce sujet. Ma conclusion est que vous êtes probablement dans le même bateau que moi. Vous devrez copier des fichiers individuels, mais restaurer l'ensemble du système de fichiers n'est pas une bonne idée.
Peut-être que copier ces répertoires de l'ancien ordinateur vers le nouveau pourrait aider, mais je ne sais pas comment le faire à partir de Windows pour ne pas perturber les permissions des fichiers sous Linux.
Tout à fait exact - Ce sont les autorisations et la propriété qui peuvent causer le problème.
Les métadonnées de Linux sont stockées dans les attributs étendus de NTFS (conformément à ce devblog de Microsoft ). Si vous pouvez garantir que vous copiez les EAs, alors vous pouvez le faire :
- Créer une nouvelle distribution Ubuntu 20.04 WSL1 sur le nouveau PC
- Supprimer le nouveau
rootfs
- Copiez l'ancien
rootfs
Mais je n'ai aucun moyen de vous dire comment vous assurer que les EAs sont correctement copiés, à part si les permissions Linux et les propriétaires apparaissent correctement, et même si vous le pouviez, vous ne pouvez pas vérifier chaque fichier dans le système de fichiers. Je trouve extrêmement étrange qu'il n'y ait pas de fonctionnalité Windows intégrée (autre que dans le noyau/API) pour examiner et modifier les EA. Il semble qu'il existe des bibliothèques tierces pour PowerShell, mais je ne suis pas allé jusqu'à les essayer pour examiner les EA de WSL1.
Si je suivais la voie de la "copie", je serais probablement toujours suspect de l'installation de WSL1 moi-même, donc je continuerais probablement à suivre la voie que j'avais initialement choisie :
-
Installez une nouvelle distribution WSL1 sur le nouveau PC.
-
Réinstaller/reconfigurer les applications et les services -- Copier l'ancien système. /var/log/apt/history.log
dans un emplacement temporaire et exécutez grep "^Commandline" history.log
pour obtenir la liste des paquets que vous avez installés.
-
Copiez toute configuration de /etc/
que vous pouvez vous rappeler. Vous pouvez simplement copier le texte des fichiers de configuration de l'ancien vers le nouveau plutôt que d'altérer les permissions en copiant les fichiers eux-mêmes.
-
Je n'ai copié que des fichiers de mon ancien répertoire d'origine que je savais pouvoir modifier facilement à l'aide d'un logiciel de traitement de texte. chmod
/ chown
.