快轉到主要內容

移動 WSL 的儲存空間到其他硬碟

·1041 字· loading · loading ·
Computer-Science WSL
目錄
Windows 的 WSL 佔用了太多系統空間,本文將介紹如何將其移動至自訂的硬碟位置。

步驟
#

關閉執行中的 WSL
#

首先先關閉所有 WSL 視窗,然後選擇cmdpowershell執行以下指令徹底關閉 WSL:

1wsl --shutdown

建立新的存放空間
#

成功關閉後,創建並進入新的存放位置:

1# 假設我將資料夾建立在 D:/WSL2
2mkdir D:/WSL2
3cd D:/WSL2

查詢當前 distribution 名稱及狀態:
#

透過以下指令查看現有的distribution

1wsl -l -v
2# 或者
3# wsl --list --verbose

接著應該會看到顯示類似以下內容:

1  NAME      STATE           VERSION
2* Ubuntu    Stopped         2

匯出
#

記住NAME及確定STATEStopped後,就可以匯出整個系統空間了:

1wsl --export <NAME> <OUTPUT_FILE>.tar
2# 將 <NAME> 改成剛剛查詢到的 NAME;
3# <OUTPUT_FILE> 則改為輸出的檔案。
4# 例如:
5# wsl --export Ubuntu ./ubuntu.tar

(可選)刪除舊空間
#

匯出完畢後可以選擇刪除舊的儲存空間(如果新的命名不重複也可以不刪):

1wsl --unregister Ubuntu

匯入
#

匯入空間到新環境:

1wsl --import <NAME> <PATH> <INPUT_FILE>
2# 將 <NAME> 改為新的名稱,如與舊的相同,記得先執行上一步的「unregister」;
3# <PATH> 改為空間新存放的位置,例如先前已經移動到目錄,則直接設為「./」;
4# <INPUT_FILE> 則是剛剛匯出檔案的位置及檔名,例如「./ubuntu.tar」。
5# 例如:
6# wsl --import Ubuntu2 ./ ./ubuntu.tar

匯入完畢後基本上就大功告成了,而那個匯出的.tar檔案確認無誤後便可以刪除。


可能需要注意的幾個小問題
#

終端記得更新為新的 distribution
#

如果是使用如「Windows Terminal」之類的終端外殼,則記得更改啟動項:


p.s. 如果找不到新的 distribution,則可能重開後在設定中尋找。

登入終端後並非欲設使用者,而是 root 身分
#

稱入後如果看到如下訊息:

This message is shown once a day. To disable it please create the /root/.hushlogin file.

則請按照提示在該目錄創建檔案:

1touch /root/.hushlogin

然後編輯設定檔/etc/wsl.conf,添加如下資訊(將alpaca改為您的欲設用戶名):

[user]
default=alpaca

p.s. 上面設定的用戶名必須是存在的用戶,若不存在請自行創建。

儲存後,關閉使用到該 distribution 的 WSL 視窗

1wsl --terminate <NAME>
2# 將 <NAME> 改為 distribution 的名稱,如「Ubuntu2」:
3# wsl --terminate Ubuntu2

重開後應該就能自動以預設使用者身分登入,到此也就完成vhdx的移動了。


References
#

Alpaca
作者
Alpaca
No one can stop my feet.

相關文章

架設暗網 - Tor Hidden Service
·1127 字· loading · loading
Computer-Science Tor
本文將說明如何架設 Tor 暗網,將你的服務隱匿在 Tor 當中。
Tor 洋蔥路由、Hidden Service 原理解析
·3746 字· loading · loading
Computer-Science Tor
不用知道對方 IP 也能連線,以及架設隱藏於網路中的服務...
Mosquitto | 讓 JS 也支援 MQTT
·2262 字· loading · loading
Computer-Science MQTT Websocket
非常好用的 MQTT Server,還支援 Websocket 協定轉發!
Javascript Location Properties
·272 字· loading · loading
Computer-Science Javascript
How to get infomations of URL on javascript?
解決 Ubuntu 進入「Emergency Mode」的問題
·607 字· loading · loading
Computer-Science Ubuntu
這通常是因為磁區掛載時遇到嚴重錯誤導致的。
如何在 Docker 中訪問主機 USB ?
·540 字· loading · loading
Computer-Science Docker USB