跳轉至

建立 2026-09-14 更新 2026-09-27

WSL 指令

下列指令在 PowerShell 或命令提示字元 執行。若人已經在 Linux shell 裡,改打 wsl.exe(例如 wsl.exe --shutdown)。完整清單見 wsl --help 與 Basic commands for WSL。

每天會用到的

wsl                 # 進入預設發行版(工作目錄常是目前的 Windows 資料夾)
wsl ~               # 進入預設發行版的家目錄
wsl -d Debian       # 指定發行版
wsl -l -v           # 已安裝清單、執行中與否、WSL 1 或 2
wsl --status        # 預設發行版、預設版本、kernel
wsl --shutdown      # 立刻關掉所有發行版與 WSL 2 虛擬機器

改了 .wslconfig、記憶體一直不釋放、網路狀態怪異時,先 wsl --shutdown 再重開發行版。它會中斷所有發行版裡正在跑的行程,存檔後再執行。

只停某一個:

wsl --terminate Ubuntu

安裝、更新、版本

wsl --install
wsl --install -d Ubuntu-24.04
wsl -l -o                    # 線上可安裝的發行版
wsl --update
wsl --version
wsl --set-version Ubuntu 2
wsl --set-default-version 2
wsl --set-default Ubuntu

備份與搬移

發行版本質上是一份磁碟映像。搬家或重裝 Windows 前先匯出:

wsl --export Ubuntu D:\backup\ubuntu.tar
wsl --unregister Ubuntu
wsl --import Ubuntu D:\WSL\Ubuntu D:\backup\ubuntu.tar --version 2

--import 的第二個參數是安裝位置資料夾(Windows 路徑),第三個是 tar 檔。也可以匯出成 .vhdx(加 --vhd),還原較快。

tar 與 VHDX 差在哪

  • tar(Tape Archive):Linux 傳統封存檔,把整個根目錄的檔案、權限、連結打包成一個檔。通用、可用 tar 指令查看內容;WSL 1、WSL 2 都能用,但大型發行版匯入較慢。
  • VHDX(Virtual Hard Disk v2):Microsoft 的虛擬硬碟格式,WSL 2 每個發行版本來就存成一個 ext4.vhdx。--vhd 是整顆磁碟直接複製,匯入快、完全照原樣;只適用 WSL 2,且未回收的空間也會一起帶走,檔案常比 tar 大。

一般備份、搬到別台電腦用 tar;發行版很大、想快速複製再用 VHDX。

unregister 會刪資料

wsl --unregister 之後,該發行版內的家目錄、套件、資料庫全部消失。沒有匯出就不要執行。

在 Windows 裡跑一條 Linux 指令

wsl ls -la
wsl sudo apt update
wsl hostname -I

指令在預設發行版執行,工作目錄對應目前的 Windows 資料夾。這適合寫腳本;日常互動還是進 shell 比較清楚。

指定使用者

wsl --user root
ubuntu config --default-user yourname

第二種寫法依發行版啟動器而異(ubuntu、ubuntu2404 等)。匯入的發行版沒有這種啟動器時,改在 /etc/wsl.conf 設 [user] default=...,見 組態檔。