跳到主要內容

WSL Ubuntu 遷移至 D 槽筆記

利用 WSL 內建的 Export / Import 機制進行環境封裝與路徑重導。


1. 檢查與關閉環境

在 Windows PowerShell 中確認目前發行版名稱,並強制關閉 WSL。

# 1. 檢視現有 WSL 清單與狀態
wsl -l -v

# 2. 強制關閉所有執行中的 WSL 實例
wsl --shutdown

2. 環境打包(Export)

將 C 槽的 Ubuntu 環境封裝成靜態 .tar 檔案。

# 語法:wsl --export <分發版名稱> <目標備份路徑>
wsl --export Ubuntu-22.04 D:\wsl_backup\ubuntu.tar

Note: 若過程跳出 pax format cannot archive sockets 警告,屬正常現象(Socket 檔案不需備份),看到「操作順利完成」即可繼續。

3. 解除舊環境註銷(Unregister)

抹除 C 槽的舊實例,釋放系統碟空間。

# ⚠️ 注意:執行後 C 槽資料會永久刪除,請確保上一步的 tar 檔已產出
wsl --unregister Ubuntu-22.04

4. 佈署新環境(Import)

將打包好的環境解壓至 D 槽指定資料夾。

# 語法:wsl --import <新分發版名稱> <D槽安裝路徑> <備份路徑\檔名.tar>
wsl --import Ubuntu-22.04 D:\WSL\Ubuntu-22.04 D:\wsl_backup\ubuntu.tar

5. 修正預設登入用戶(Default User)

新匯入的環境預設會以 root 登入,需手動修正 wsl.conf

  1. 以 root 身分登入 WSL:
wsl -d Ubuntu-22.04 -u root
  1. 編輯設定檔:
   vim /etc/wsl.conf
  1. 寫入以下配置(將 user 替換為原本的帳戶名稱):
[user]
default=user
  1. 重啟生效: 在 WSL 內輸入 exit 退出,並於 Windows PowerShell 執行:
   wsl --shutdown

6. 驗證與清理

# 1. 重新登入,確認是否回歸一般用戶與環境完整度
wsl

# 2. 確認無誤後,刪除 D 槽的暫存打包檔
Remove-Item D:\wsl_backup\ubuntu.tar

留言