Aller au contenu

WSL backup restore image

De Marmits Wiki

backup/restore image WSL2


📋 Vérifier les distributions installées

Liste les distributions et leur version WSL (1 ou 2) :

wsl -l -v

Exemple de sortie :

  NAME      STATE           VERSION
* Debian    Running         2
  Ubuntu    Stopped         2

L’astérisque * indique la distro par défaut pour wsl (si tu ne passes pas -d <name>).


🧯 Arrêter proprement avant un backup

Pour un export fiable, il est recommandé d’arrêter la distribution :

wsl --terminate debian

--terminate ferme toutes les sessions de la distro.

Tu peux vérifier que c’est bien stoppé avec wsl -l -v.


💾 Backup (export)

Format recommandé (tar) :

wsl --export debian D:\Backups\debian_backup_2025-01-08.tar
  • debian = nom de la distribution (depuis wsl -l -v)
  • D:\Backups\...tar = fichier d’archive créé (rootfs + metadata)

Tu peux compresser le .tar après coup (7zip), mais l’import attend un .tar (ou .vhdx si tu importes via VHDX, voir plus bas Astuces).


🔁 Restore (import) dans une nouvelle distro

Si tu veux restaurer sans toucher la distro existante, importe sous un nouveau nom :

wsl --import debian_restored D:\WSL\debian_restored D:\Backups\debian_backup_2025-01-08.tar
  • debian_restored = nom de la nouvelle distro WSL
  • D:\WSL\debian_restored = dossier où WSL stocke le VHDX
  • D:\Backups\debian_backup_2025-01-08.tar = backup réalisé plus haut

Ensuite, force en WSL2 si nécessaire :

wsl --set-version debian_restored 2

🗑️ Restore par-dessus une distro existante (même nom)

⚠️ Destructif : supprime totalement la distribution et son disque.

  1. Arrête la distro :
wsl --terminate debian
  1. Supprime la distro :
wsl --unregister debian
  1. Réimporte avec le même nom :
wsl --import debian D:\WSL\debian D:\Backups\debian_backup_2025-01-08.tar
wsl --set-version debian 2

👤 Définir l’utilisateur par défaut après import

Selon la distribution, l’import crée parfois un environnement où l’utilisateur par défaut est root.
Tu peux fixer un utilisateur par défaut via wsl.conf :

Dans la distro importée :

sudo nano /etc/wsl.conf

Ajoute (ou modifie) :

[user]
default=john

Puis redémarre la distro :

wsl --terminate debian_restored

Pour certaines distros (Ubuntu de Microsoft Store), il existe aussi une commande spécifique :

ubuntu config --default-user <user> (ne s’applique pas aux imports génériques).


🧭 Chemins utiles (accès croisé Windows ⇄ Linux)

  • Depuis Windows vers Linux : \\wsl$\Debian\home\john
  • Depuis Linux vers Windows : cd /mnt/c/Users/<username>/Downloads

Évite de travailler sur des projets Linux directement dans /mnt/c/... (performances et permissions). Préfère un dossier dans ~/ côté Linux.


🧪 Démarrer/Tester une distro restaurée

Démarrer un shell sur la distro importée :

wsl -d debian_restored

Vérifier systemd (si tu l’utilises) :

systemctl --version

Si systemd n’est pas actif, vérifie wsl.conf côté Windows (fichier %userprofile%\.wslconfig) ou côté distro /etc/wsl.conf :

[boot]
systemd=true

Puis redémarre WSL :

wsl --shutdown

⚙️ Paramètres WSL côté Windows (optionnel)

Fichier : %UserProfile%\.wslconfig
Exemple minimal :

[wsl2]
memory=8GB
processors=4
localhostForwarding=true

Ajuste pour limiter l’usage RAM/CPU de WSL2.


🧠 Astuces & bonnes pratiques

  • Nommer et dater tes backups : debian_backup_YYYY-MM-DD.tar
  • Arrêter la distro avant export : wsl --terminate <name>
  • Stockage : utilise un disque NTFS local (évite les lecteurs réseau pour l’import/export).
  • Vérifier la version après import : wsl -l -v puis wsl --set-version <name> 2
  • Import VHDX (scénario avancé) : si tu disposes d’un VHDX, tu peux créer une distro avec : powershell wsl --import <name> <install_path> <rootfs.tar> > WSL crée lui-même le VHDX à partir du .tar. L’import direct d’un VHDX se fait plutôt via montage manuel ou outils Hyper-V, ce n’est pas l’usage standard recommandé par WSL.
  • Sauvegarde avant upgrade : exporte toujours avant de modifier la distro ou faire un dist-upgrade.
  • Restauration sur une autre machine : assure-toi de la même version WSL (Windows 10/11 à jour) et vérifie wsl --status.



🧾 Résumé minimal à mettre dans ta doc

Lister et arrêter :

wsl -l -v
wsl --terminate debian

Backup :

wsl --export debian D:\Backups\debian_backup.tar

Restore (nouvelle distro) :

wsl --import debian_restored D:\WSL\debian_restored D:\Backups\debian_backup.tar
wsl --set-version debian_restored 2

Restore sur le même nom (destructif) :

wsl --terminate debian
wsl --unregister debian
wsl --import debian D:\WSL\debian D:\Backups\debian_backup.tar
wsl --set-version debian 2

Utilisateur par défaut :

# /etc/wsl.conf
[user]
default=john