WSLのまるごとスナップショットを取りたい場面があって調べた時のメモ
事前準備
- Docker Desktopは終了させておく
- aptなどをきれいにしておく
sudo apt clean && sudo apt autoclean && sudo rm -rf /var/lib/apt/lists/*
- ディスクを解放しておく
- WSL2でDocker Desktopがディスクを解放してくれない | 7me
- 最近のDocker Desktopは、逐一解放しなくても勝手にやってくれるようになったみたいです
- ディレクトリを作成しておきます。ここでは、
C:\WSL\Debianとします。
注: この記事ではディストーションは Debianとなっています。Ubuntuの方は適宜読み替えお願いします
バックアップ
PowerShellを起動し、バックアップを取得します。
1 | // バックアップを取得(tar) |
(任意) 後で復元テストする場合は、この時点でWSLに入り、 touchなどで目印をつけておきます
1 | wsl $ touch hoge |
復元
作成したら、復元を行います。
1 | // ディストリビューションの登録を解除 |
復元テスト
WSL(Debian)がインポートできているか確認
1 | PS C:\Users\nobiki> wsl --list --verbose |
デフォルトユーザは、 rootになっている可能性があるため、ログインしてみて確認します。
1 | // rootになっている |
デフォルトユーザを元のユーザに変更します。
1 | PS C:\Users\nobiki> wsl --manage Debian --set-default-user nobiki |
(任意)バックアップ直後に作ったファイルがあるか確認
1 | nobiki:~ $ ls /home/xxxxx/hoge |
Docker Desktopを起動し、WSLから使用できるか確認
1 | nobiki:/mnt/c/Users/nobiki $ docker ps |