1 votes

Comment récupérer WSL 1 à partir du disque de l'ancien système et l'utiliser sur le nouveau système ?

Windows s'est cassé après la mise à jour. Je n'ai pas pu le réparer, donc je ne peux pas y accéder depuis le système.

Sur l'ancien système, j'utilisais WSL 1 d'Ubuntu. Je n'ai pas fait de sauvegarde ou d'exportation.

Je voudrais essayer de me réapproprier tout cet environnement avant de commencer à le recréer.

Pour la WSL 2, l'emplacement C:\Users\{user_name}\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\ aurait une image disque. WSL 1 a une structure de répertoire semblable à celle de Linux.

J'ai créé WSL sur le nouveau système et installé la même version d'Ubuntu que sur l'ancien système.

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.

Quelqu'un a-t-il eu un problème similaire ?

0voto

NotTheDr01ds Points 5135

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 .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X