WSL 備份與還原

備份

  1. 使用wsl --list,了解目前正在使用的Distro
  2. 使用wsl --shutdown,關閉所有正在運行之WSL System
  3. 使用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

還原

  1. 使用 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/