跳轉到主要內容
WSL Ubuntu Windows 把佔用大量 C 槽空間的 WSL Ubuntu 完整遷移到其他磁碟機,釋放系統碟空間,同時保留所有已安裝的軟體與設定。原理是用 wsl --export 封裝成 tar、wsl --import 部署到新位置,再切換預設並清理舊安裝。
搬遷過程會暫時停止 WSL 服務,建議在非工作時段進行。整個流程約 30 分鐘至 2 小時,視系統大小而定。

搬遷前準備

系統需求

項目最低需求建議規格說明
磁碟空間Ubuntu 大小 × 1.2Ubuntu 大小 × 1.5目標磁碟機需有充足空間
系統記憶體4GB8GB 以上大型系統搬遷需更多記憶體
Windows 版本Windows 10 v1903Windows 11較新版本 WSL 支援更佳
使用者權限一般使用者系統管理員管理員權限可避免權限問題

資料備份策略

搬遷相對安全,但建議先做預防措施。
搬遷時 Ubuntu 會被完整封裝再重新部署。建議將重要使用者資料另外備份至雲端或外部儲存,特別注意:
  • /home/<username>/:使用者主目錄
  • /opt/:第三方軟體安裝目錄
  • 自訂設定檔
為搬遷預留足夠時間,過程中不要中斷電源或關閉系統。

詳細搬遷步驟

1

系統狀態檢查

以系統管理員開啟 PowerShell,列出所有 WSL 發行版(名稱、狀態、WSL 版本、預設標記):
wsl -l -v
記下確切的發行版名稱(如 Ubuntu-22.04),後續步驟會用到。
2

封裝 Ubuntu 系統

將現有 Ubuntu 封裝成可攜的 tar 檔(依實際發行版名稱與目標路徑調整):
wsl --export Ubuntu-22.04 D:\ubuntu-22.04-backup.tar
參數範例值說明
Ubuntu-22.04發行版名稱步驟 1 確認的名稱
D:\ubuntu-22.04-backup.tar封裝路徑備份檔完整路徑與檔名
封裝程序不顯示進度且持續運行,請耐心等候,勿中斷或關閉視窗。可觀察目標檔案大小變化來監控進展。
3

部署到新位置

建立搬遷後的 Ubuntu 實例:
wsl --import Ubuntu-22.04-diskD D:\Ubuntu-22.04-diskD D:\ubuntu-22.04-backup.tar
參數依序為:新實例名稱(可自訂)、系統檔案實際存放資料夾、步驟 2 的封裝檔路徑。命名建議用描述性名稱(如 Ubuntu-DataDisk),避免特殊字元與空格。部署後再跑一次 wsl -l -v 確認新實例出現在清單。
4

設定預設並修正使用者

將預設 WSL 發行版切到新實例:
wsl --setdefault Ubuntu-22.04-diskD
wsl --import 後預設使用者會變成 root(匯入的發行版不保留原預設使用者)。在新實例內建立 /etc/wsl.conf 指定預設使用者,再 wsl --shutdown 重啟即可恢復一般帳號登入:
[user]
default=<你的使用者名稱>
驗證可正常啟動:
wsl
5

清理舊系統

確認新環境完全正常後,移除原有 Ubuntu 釋放 C 槽:
wsl --unregister Ubuntu-22.04
此步驟永久刪除原有 Ubuntu 安裝,務必確認新環境正常運作後再執行。
可用磁碟清理工具檢視 C 槽空間增量、確認 WSL 資料夾已移除、wsl -l -v 確認舊發行版已消失。tar 封裝檔可保留一段時間當額外備份,確認穩定後再刪:
del D:\ubuntu-22.04-backup.tar
完整搬遷流程跑起來大致是這樣,從確認來源、封裝、部署到驗證新實例:

疑難排解

問題原因檢查方法解決方案
磁碟空間不足檢查目標磁碟可用空間清理空間或換磁碟
權限不足確認以管理員執行以管理員重開 PowerShell
Ubuntu 未完全關閉檢查 WSL 執行狀態wsl --shutdown 後重試

緊急復原

搬遷出現嚴重問題且無法修復時:
  1. 驗證原始 tar 封裝檔存在且未損壞
  2. 清理問題實例:wsl --unregister Ubuntu-22.04-diskD
  3. 用相同部署指令重新建立
  4. 仍有問題可暫時恢復使用原有實例直到解決
復原會回到搬遷前狀態,但會失去搬遷過程中的任何變更,請謹慎評估後執行。