117 lines
3.1 KiB
Markdown
117 lines
3.1 KiB
Markdown
# 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.
|