2026年3月19日 星期四

wsl 安裝與移除、備份及還原

 移除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)」,意思是這個檔案系統目前還可以寫入的剩餘容量,也就是你還能用的空間。


開始備份
1.wsl --shutdown
2.wsl --export Ubuntu D:\backup\wsl_ubuntu.tar

還原


wsl --import Ubuntu-Restore D:\wsl\Ubuntu D:\backup\wsl_ubuntu.tar
  • Ubuntu-Restore:還原後的發行版名稱

  • D:\wsl\Ubuntu:實際存放虛擬磁碟的資料夾

  • 最後一個參數是你的 .tar 備份檔路徑

還原後,你可以再用:

powershell
wsl -d Ubuntu-Restore

進入這個新環境,再調整預設使用者(例如改成你原本的帳號)即可


預設 wsl --export 產生的 .tar 檔不會自動壓縮容量,它只是「把整個 Ubuntu 發行版的檔案打包成一個 tar 檔」,檔案大小會非常接近你實際用掉的空間(df -h / 看到的 Used


1. 有沒有壓縮差別?

  • 如果你下這樣的指令:

    bash
    wsl --export Ubuntu-22.04 D:\backup\ubuntu.tar

    這會是「未壓縮的 tar 檔」,大小約等於你發行版實際用掉的空間,不會明顯變小。

  • 但如果你加上 --format tar.gz

    bash
    wsl --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 檔」,反而能大幅壓縮實際佔用的磁碟空間。


沒有留言:

張貼留言