WSL 備份與還原
備份
- 使用
wsl --list
,了解目前正在使用的Distro - 使用
wsl --shutdown
,關閉所有正在運行之WSL System - 使用
wsl --export <Image Name> <Export location file name.tar>
指令,匯出WSL系統
<Image Name> 指的是 Step1 中所顯示之Distro Name
<Export location file name.tar>,這個就是標示輸出後的備份檔位置,備份檔是一個tar檔。e.g. D:\wslbackup.tar
還原
- 使用
wsl --import <Image Name> <Directory where you want to store the imported image> <Directory where the exported .tar file exists>
進行還原
<Image Name> 指的是備份 Step1 中所顯示之Distro Name
<Directory where you want to store the imported image> 指的是還原後WSL所在之位置。e.g. C:\users\user\Documents\Debian
<Directory where the exported .tar file exists> 指的是備份 Step1 中所標示之備份檔位置。
在進行還原後會發現執行WSL.exe或是Distro都會以root進入WSL系統,原因我不清楚,但解決辦法很簡單,只要在WSL系統之中的/etc/wsl.conf
中加入
[user]
default=yourusername
即可,若/etc
底下沒有wsl.conf
自己建立也可以。
參考資料
[WSL2 Backup and Restore Images using Import and Export](https://www.virtualizationhowto.com/2021/01/wsl2-backup-and-restore-images-using-import-and-export/