移除wsl ubuntu
wsl --unregister Ubuntu
wsl 安裝 ubuntu
wsl --install -d Ubuntu
設定預設:wsl --set-default Ubuntu
直接安裝相同版本但自訂名稱
wsl --install Ubuntu --name Ubuntu-Test
備份wsl ubuntu
wsl -d Ubuntu df -h / --先知道ubuntu容量大小
Filesystem Size Used Avail Use% Mounted on /dev/sdd 256G 120G 124G 49% /
Size:就是這個 Ubuntu 發行版的「總容量」(VHD 虛擬硬碟大小)Used:目前實際使用的空間大小Avail是df指令輸出中的「可用空間(Available)」,意思是這個檔案系統目前還可以寫入的剩餘容量,也就是你還能用的空間。
還原
wsl --import Ubuntu-Restore D:\wsl\Ubuntu D:\backup\wsl_ubuntu.tar
Ubuntu-Restore:還原後的發行版名稱D:\wsl\Ubuntu:實際存放虛擬磁碟的資料夾最後一個參數是你的
.tar備份檔路徑
還原後,你可以再用:
powershellwsl -d Ubuntu-Restore
進入這個新環境,再調整預設使用者(例如改成你原本的帳號)即可
預設 wsl --export 產生的 .tar 檔不會自動壓縮容量,它只是「把整個 Ubuntu 發行版的檔案打包成一個 tar 檔」,檔案大小會非常接近你實際用掉的空間(df -h / 看到的 Used)
1. 有沒有壓縮差別?
如果你下這樣的指令:
bashwsl --export Ubuntu-22.04 D:\backup\ubuntu.tar這會是「未壓縮的 tar 檔」,大小約等於你發行版實際用掉的空間,不會明顯變小。
但如果你加上
--format tar.gz:bashwsl --export Ubuntu-22.04 D:\backup\ubuntu.tar.gz --format tar.gz這時就會用
gzip壓縮,檔案通常會比原始磁碟使用量小一些,尤其是有很多文字檔、程式碼、log 等重複性高的資料時,壓縮效果會比較明顯。
2. 實務上建議
如果你只是想「備份整體環境」,且磁碟空間夠,用預設
.tar就好,速度快、還原也快。如果你想要「省空間」,例如要存到外接硬碟或雲端,建議用
--format tar.gz產生tar.gz壓縮檔。
3. 順帶一提:「壓縮」 vs 「瘦身」
wsl --export只是「打包」,不是「瘦身」。如果你原本的 WSL 2 虛擬硬碟(
.vhdx)已經非常大,可以先用wsl --export匯出,再wsl --unregister刪掉舊發行版,最後wsl --import匯入,這樣會產生一個「最小化的 vhdx 檔」,反而能大幅壓縮實際佔用的磁碟空間。
沒有留言:
張貼留言