什麼是 WSL
Windows Subsystem for Linux(WSL) 是 Windows 內建的功能:在同一台電腦上跑 GNU/Linux 環境(命令列工具、套件、大多數 Linux 應用程式),不必另外開完整虛擬機器,也不必重開機切到另一個作業系統。
你可以同時開著 Windows 的瀏覽器、Office、VS Code,又在旁邊用 Ubuntu 跑 apt、git、python、docker。Linux 發行版(distribution,例如 Ubuntu、Debian)是一整套使用者空間:套件管理員、預設 shell、預先裝好的工具。WSL 讓你把發行版裝進 Windows,而不是把整台機器改成 Linux。
為什麼需要它
現代後端、雲端與開源工具鏈多半以 Linux 為準。若你日常用 Windows,常見選擇是:
| 做法 | 代價 |
|---|---|
| 雙系統開機 | 切換要重開機,兩個系統不好同時用 |
| 傳統虛擬機器 | 要自己分配磁碟/記憶體,開機較慢,整合較差 |
| 只用 Windows 工具 | 許多指令、路徑、套件行為跟伺服器不一致 |
| WSL 2 | 輕量、開機快、跟 Windows 檔案與網路整合,開發體驗接近「本機 Linux」 |
WSL 適合:在 Windows 寫會部署到 Linux 的程式、練習 Bash 與套件管理、跑 Docker 或需要 Linux 系統呼叫的工具。若你要完整 Linux 桌面當日常作業系統,雙系統或實體 Linux 仍比較合適。
能做與不能做
WSL 可以:
- 安裝 Ubuntu、Debian、openSUSE、Kali 等發行版
- 使用 Bash、
apt/dnf、編譯器與語言執行環境 - 從 Linux 叫 Windows 程式(例如
notepad.exe),從 PowerShell 叫 Linux 指令(wsl ls) - 在 Windows 桌面跑部分 Linux 圖形應用程式(WSLg)
- 搭配 VS Code 遠端開發、Docker Desktop、GPU(視顯示卡與驅動而定)
WSL 不是:
- 用來取代 Windows 的完整 Linux 桌面發行版(沒有獨立的登入畫面與完整桌面工作階段)
- 保證所有硬體(例如部分序列埠)都跟實體 Linux 一樣
- 讓 Windows 程式「變成」Linux 程式;兩邊仍是不同的使用者空間
官方短片
Microsoft 的 One Dev Question 用不到一分鐘說明「WSL 是什麼」。細節以本頁與官方文件為準。
想一次看完「為什麼 Windows/Linux 開發者都該用 WSL」,請到 官方影音。下一頁比較 WSL 1 與 WSL 2。