This commit is contained in:
Laurent Chedanne committed 2026-09-17 09:32:15 +02:00
commit ab17ec1e48
4 files changed
+520

No files matched your search

+116
View File
@@ -0,0 +1,116 @@
# wsl-manage
Outil PowerShell interactif de sauvegarde et de restauration des distributions WSL.
Il gere aussi les donnees Docker Desktop lorsque la distribution `docker` ou
`docker-desktop` est selectionnee.
## Fichiers
- `wsl-manage.cmd` : commande a lancer.
- `wsl-manage-core.ps1` : implementation PowerShell.
Le dossier contenant ces fichiers doit etre dans le `PATH` Windows pour pouvoir
lancer `wsl-manage` depuis n'importe quel terminal.
## Prerequis
- Windows avec WSL installe et accessible par `wsl.exe`.
- PowerShell.
- Docker Desktop doit etre completement arrete lorsqu'une sauvegarde ou une
restauration Docker est concernee.
- Le lecteur de destination doit etre accessible et disposer de suffisamment
d'espace libre.
L'execution en administrateur n'est normalement pas necessaire. Elle peut etre
necessaire pour acceder a certains fichiers VHDX ou effectuer un compactage.
## Sauvegarde
Lancer sans argument :
```powershell
wsl-manage
```
Le script :
1. Liste les distributions WSL disponibles.
2. Demande de sauvegarder toutes les distributions ou une seule.
3. Demande le lecteur de destination et affiche son espace libre.
4. Demande confirmation.
5. Arrete WSL avec `wsl --shutdown`.
6. Exporte les distributions selectionnees au format `.tar`.
7. Affiche une progression estimee et le temps ecoule.
Les sauvegardes sont rangees dans un dossier date sous `WSL-Backup` :
```text
D:\WSL-Backup\2026-09-16_20-05-42\
|-- Ubuntu.tar
|-- Debian.tar
`-- ...
```
Le pourcentage affiche est une estimation basee sur l'espace utilise par la
distribution. `wsl.exe --export` ne fournit pas de progression native.
## Donnees Docker Desktop
Si `docker` ou `docker-desktop` est selectionne, le script :
1. Verifie que Docker Desktop est arrete.
2. Demande le chemin des donnees Docker.
3. Utilise par defaut :
```text
E:\WSL\Docker\desktop-data
```
4. Verifie la presence des dossiers `disk` et `main`.
5. Copie ces dossiers dans :
```text
D:\WSL-Backup\2026-09-16_20-05-42\Docker\
|-- disk\
`-- main\
```
La distribution `docker-desktop` exportee en `.tar` contient principalement
les fichiers systeme. Les images, conteneurs et volumes Docker sont dans les
donnees `disk` et `main`.
## Restauration
Lancer avec l'argument `restore` :
```powershell
wsl-manage restore
```
Le script :
1. Demande le lecteur contenant `WSL-Backup`.
2. Demande la date de sauvegarde.
3. Demande une distribution ou `Toutes les machines`.
4. Demande confirmation apres recapitulatif.
5. Arrete WSL.
6. Importe les distributions sous `WSL-Install\DATE`.
7. Restaure les donnees Docker uniquement si `docker` ou `docker-desktop` est
selectionne.
Une distribution restauree porte le nom de son fichier sans extension :
```text
Ubuntu.tar -> Ubuntu
```
Le dossier d'installation d'une distribution ne doit pas deja exister.
## Conseils
- Quitter Docker Desktop depuis son icone de notification avant une operation
Docker.
- Ne pas interrompre la copie des fichiers VHDX.
- Conserver une copie de secours des donnees Docker avant restauration.
- Les anciennes sauvegardes ne contenant pas de dossier `Docker` ne permettent
pas de restaurer les donnees Docker.