在使用 VS Code 開發環境時,許多開發者會選擇透過 WSL(Windows Subsystem for Linux)來啟動 Ubuntu 終端機。然而,有時候在系統更新之後,可能會遇到以下錯誤訊息:

⚠️ VS Code 嘗試以 bash.exe -d Ubuntu-24.04 啟動 WSL 終端機時失敗,顯示錯誤訊息「exit code: 2」
如圖所示,VS Code 嘗試以 bash.exe
-d
指令來啟動 Ubuntu-24.04,而不是該用的 wsl.exe
。同時,bash.exe
並不支援 -d
參數,因此導致啟動失敗。
錯誤原因解析
VS Code 的終端機設定可能誤用了bash.exe
作為啟動 WSL 的工具。事實上,正確的方式應該是使用 wsl.exe
,因為它支援 -d
參數來指定要啟動的 Linux 發行版本。修復方式
請依照以下步驟修改 VS Code 的 settings.json
設定檔:

🛠️ 透過 VS Code 的 Command Palette 開啟 settings.json 設定檔
- 開啟 VS Code。
- 按下
Ctrl + Shift + P
,輸入「Preferences: Open Settings (JSON)」並選擇它。 - 在
settings.json
設定檔中加入以下設定:
"terminal.integrated.profiles.windows": {
"Ubuntu-24.04 (WSL)": {
"path": "C:\\Windows\\System32\\wsl.exe",
"args": [ "-d", "Ubuntu-24.04" ]
}
},
此設定將使 VS Code 使用 wsl.exe
-d Ubuntu-24.04
來啟動終端機,避免錯誤使用 bash.exe
而產生錯誤。
- 儲存變更後,設定將立即生效。

📝 已加入 WSL 終端機設定的 settings.json 編輯畫面
驗證修復結果
完成設定後,請重新啟動 VS Code 的終端機。若一切正確,應該可以順利啟動 WSL 終端機,且不再出現語法錯誤。
小結
- 本文針對 VS Code 透過 WSL 開啟終端機時,因誤用
bash.exe -d
參數導致錯誤的現象進行說明。 - 錯誤的根本原因在於
bash.exe
不支援-d
參數,而正確的做法是改用wsl.exe -d <發行版名稱>
。 - 修復流程包含三個核心步驟: 在 VS Code 中開啟
settings.json
。 將對應的終端機 Profile 改為使用C:\\Windows\\System32\\wsl.exe
並加入["-d", "<發行版名稱>"]
參數。儲存設定後重新啟動終端機,確認已修正錯誤。