Skip to content

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

疑難排解

先對症狀,再改設定。完整清單與錯誤碼以 Troubleshooting WSLGitHub microsoft/WSL issues 為準。

回報問題前請備妥

cmd.exe /c ver
wsl --version
wsl --status
wsl -l -v

在發行版裡:

cat /proc/version
lsb_release -r

安裝階段

虛擬化沒開(0x80370102 等)
進 BIOS/UEFI 開啟 Intel VT-x 或 AMD-V。筆電品牌名稱不同,多半在 CPU 相關選單。WSL 2 還需要 SLAT;極舊 CPU(例如 Core 2 Duo)無法跑 WSL 2。

發行版必須在系統碟
錯誤 0x80070003 常見原因是新內容被改存到 D:。改回把應用程式存在 C:,見 Windows 設定 → 系統 → 儲存空間。

功能沒啟用(0x8007019e)
以系統管理員 PowerShell:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

改完要重開機。現在較乾淨的做法仍是 wsl --install

「wsl 不是 Cmdlet」
功能未裝,或在 ARM/32 位元行程裡呼叫到錯的 System32。改用 wsl.exe,或從 64 位元終端機執行。

「沒有已安裝的發行版」
發行版至少要成功開啟一次。確認你不是用內建 Administrator 帳戶(它看不到一般使用者裝的發行版)。

虛擬硬碟被壓縮或加密
轉換 WSL 版本失敗時,到 %LocalAppData%\Packages\ 底下該發行版的 LocalState,內容功能表 → 進階,取消「壓縮內容」與「加密內容」。

Kernel 元件需要更新
執行 wsl --update。較舊系統可能還要手動裝 Linux kernel MSI(官方安裝文件步驟 4)。

跑起來之後

很慢
專案是否在 /mnt/c?搬到 ~/projects。這是第一名原因。

記憶體只升不降
wsl --shutdown 會把輕量 VM 的快取還給 Windows。長期使用請在 .wslconfigmemory=,見 組態檔

接上 VPN 就沒網路/DNS 失敗
Windows 11 可試 networkingMode=mirrored 與 DNS tunneling,見 網路

忘記 Linux 密碼
PowerShell(發行版名稱依 wsl -l 為準):

wsl -d Ubuntu -u root

進 root 後:

passwd 你的使用者名稱

無法從檔案總管開 \\wsl$
Linux 端的 9P 伺服器可能沒起來。在發行版執行 dmesg | grep 9p 看有無錯誤,並 wsl --shutdown 後重開。

Docker 在 WSL 裡找不到
確認 Docker Desktop 已選 WSL 2 engine,且該發行版在 Resources → WSL integration 已勾選。不要混裝兩套 daemon。

還是不行

官方除錯指令與 log 收集方式寫在疑難排解文件末段。開 GitHub issue 時附上本頁開頭那組版本資訊與重現步驟,比只貼「不能用」有效得多。