Windows 11 安裝 WSL2 建置指南
Linux 擁有原生強大的命令列生態與伺服器環境,是後端、網頁開發與 AI 工程師的天堂;然而,日常辦公系統仍是無可取代的Windows天下,其便利性、豐富的軟體支援與極佳的硬體相容性是無庸置疑。過去,為了兼顧兩個系統,總是忍受安裝雙系統的繁瑣切換,或是使用耗效能的虛擬機器(Vmware)。不過,WSL2(Windows Subsystem for Linux 2) 的出現,讓開發者能在 Windows 環境下無縫執行完整的 Linux 系統與命令列,兩個系統完美的融合,徹底顛覆了跨平台開發的環境。

WSL2在 Windows 核心內直接執行一個真正、完整的 Linux 內核。這意味著您可以在幾秒鐘內喚醒一個純淨的 Ubuntu 環境,並享有近乎原生、大幅提升的檔案 I/O 讀寫效能,同時完全不影響 Windows 系統的流暢度。兼具了 Windows 的日常便利性與 Linux 的原生開發生態,成為現代跨平台開發的首選,但更令人驚豔的,是開發利器 VS Code(Visual Studio Code) 的完美對接。
WSL1與WSL2差異
WSL 1 於 2016 年首次發佈,在 Windows 系統中提供了令人印象深刻的 Linux 體驗。WSL 2(Windows Subsystem for Linux 2)是在 2019 年 6 月 12 日 透過 Windows Insider 計劃(Build 18917)首次向測試人員推出預覽版,並隨後在 2020 年 5 月 隨著 Windows 10 版本 2004(20H1)正式向一般大眾推出。
WSL1 與 WSL2 的最大差別在於底層架構,WSL1 使用轉譯層將 Linux 呼叫轉為 Windows 呼叫,而 WSL2 運行在輕量型虛擬機器中並包含完整的真實 Linux 核心。也就是說WSL1 沒有真正的 Linux Kernel,WSL1 必須把 Linux 的系統呼叫「翻譯」成 Windows 可以理解的方式;而WSL2 則直接放了一個真正的 Linux Kernel,相容性更佳。
你可以先把它理解成WSL2 是 Windows 11 裡面提供 Linux 環境的一套技術;而 Ubuntu 則是你可以安裝在 WSL2 裡面的 Linux 發行版;這兩個東西不要混在一起喔!

WSL的安裝
WSL2適合較高的相容環境、執行開發環境(如Docker..等)或需要完整的Linux功能使用者。WSL1適合需要快速存取Windows檔案、對Linux相容性不高或舊系統的使用者。總之,目前Windows 11已經將WSL2設為預設安裝的版本,所以在 Windows 11 上安裝 WSL 2(適用於 Linux 的 Windows 子系統)相對簡單。
很多初學者會把Linux認為是Ubuntu,其實不完全正確,簡單說 Linux 是核心(Kernel)及其生態系統的基礎,而 Ubuntu、Debian、Fedora 等是不同的 Linux 發行版。想要安裝 Linux 不同的發行版本,就要在 Windows 11 裡面建立一個可以使用 Ubuntu/Linux 的環境,這個環境就是WSL。
WSL2 也是使用 Windows 的虛擬化技術來運作 Linux kernel,但它的使用體驗不是傳統完整虛擬機那種「另外開一台電腦」,較類似 Windows 內建的一個輕量 Linux 開發環境。

安裝WSL環境先確定Windows 11的基本設定,首先進入〔設定〕畫面上,選擇〔系統〕->〔選用功能〕。

滑動到相關設定的區塊上,選擇〔更多Windows 功能〕。

進入「開啟或關閉Windows功能」的視窗畫面,勾選〔虛擬機器平台〕選項(紅色框)重新開機即可。Windows 11系統預設是以WSL2為預設環境,若想要wsl1的請再多加勾選〔Windows子系統Linux版〕(藍色框)。

有了需要的系統環境設定後,接下來就是建立一個「讓 Linux 跑在 Windows 上」的環境WSL環境。工作列上的開始按鈕按下滑鼠右鍵,再出現的選單上點選〔終端機(系統管理員)〕。

在Windows 8/10/11的環境下,執行時會出現使用這帳戶的視窗,這是因為安全問題會出現「使用者帳戶控制」的安全性警告視窗,主要是當使用者執行一些會影響系統的動作,經常會到出的確認畫面,所以還是按下〔是〕來繼續(若是想要移除這個警告,請參考「談Windows 8/10的使用者帳戶控制(UAC)」文章)

進入擁有系統管理員權限的終端機(PowerShell),輸入「wsl –status」按下〔Enter〕後看到未安裝Windows子系統Linux版訊息。

第一次安裝wsl最簡單,只要輸入「wsl –install」,新版 Windows 11 通常會自動處理必要元件,預設會安裝並安裝預設的 Ubuntu 發行版。其過程如啟用必要 Windows 元件->安裝 WSL->下載與安裝 Ubuntu->啟動Ubuntu->建立帳號與密碼。

您是否願意加入平台指標收集計畫(Y/n)?如需查看收集的資料範例,請輸入「e」,筆者選擇「n」來繼續。

查看WSL與安裝的 Linux 發行版
接下來驗證一下,進入終端機視窗上,輸入「wsl –list –verbose」(或wsl -l -v),查看安裝在 Windows 電腦上的 Linux 發行版清單,包括狀態(無論是正在執行或已停止),以及執行該發行版的 WSL 版本(WSL 1 或 WSL 2)。

安裝完後,重新進入終端機(PowerShell),如下圖你可以在紅色框圖示下選單,即可看到多出來的〔Ubuntu〕選項;點選此選項來進入ubuntu系統;也可在終端機畫面上直接輸入「wsl」(就是wsl –d Ubuntu)來啟動預設 Linux版本。

進入ubuntu動手輸入幾個指令驗收,如whoami、pwd、ls等,想要離開ubuntu可輸入exit。確定運作正常,你的 Windows 11 + WSL2 + Ubuntu 基礎環境就完成了。

安裝與移除 Linux 發行版
wsl是個環境,你可以安裝多個不同的Linux發行版,先使用「wsl -l -o」來搜尋列出線上可安裝的 Linux 發行版清單。

查看可安裝的清單後,假如筆者還要安裝Debian發行版的Linux,輸入wsl –install <Distribution Name>,Distribution Name就是要指定的發行版名稱。此時會看下載與安裝的過程,接著出現要求輸入使用者名稱與密碼等,成功後即進入Debian系統內。離開Debian發行版輸入「wsl -l」來查看目前安裝的發行版清單,綠色框中可以看到目前安裝的Linux發行版清單。

停止 WSL (Windows Subsystem for Linux) 中的 Linux 運作,最快的方法是在 Windows 的 PowerShell 或命令提示字元中執行關閉指令。也可以使用「wsl –shutdown」來終止所有執行中的發行版和 WSL 2 輕量型的公用程式虛擬機;下圖中黃色框看到兩個Linux發行版運作中,執行「wsl –shutdown」後再查詢,綠色框中兩個Linux發行版運已停止運作了。

若要在 WSL 中解除安裝特定的 Linux 發行版並刪除所有資料,請先確定要移除得發行版是否運作中,若正在運作中請先下「wsl –shutdown」來停止系統運作,接著輸入 wsl --unregister <Linux發行版本名稱> 即可。

注意:這個動作會永久刪除該 Linux 發行版內的所有檔案與資料,且無法復原。
筆者列出幾個常見的基本命令,想要更詳細的命令說明,可以使用wsl –help來查看。
| 指令 | 說明 |
|---|---|
| wsl –install | 安裝 WSL 和 Linux 的預設 Ubuntu 版本 |
| wsl –install <Distribution Name> | 安裝其他 Linux 發行版,就是指定要安裝的Linux發行版 |
wsl –list(或 wsl -l) | 列出所有已安装的 Linux 發行版 |
| wsl –list –online (或wsl -l -o) | 列出所有可透過線上安裝的 Linux 發行版清單 |
| wsl –list –verbose(或wsl -l -v) | 查看安裝在 Windows 電腦上的 Linux 發行版清單,在執行或已停止,以及 WSL 版本 |
| wsl –help | 查看 WSL 可用的選項和命令清單 |
| wsl -d <DistributionName> | 執行指定的發行的Linux版本,如 wsl -d Debian |
| wsl –shutdown | 立即終止所有執行中的發行版和 WSL 2 輕量型的公用程式虛擬機 |
| wsl –unregister <DistributionName> | 從 WSL 取消註冊該發行版,以便重新安裝或清理 |
延伸閱讀:
使用 VMware Workstation Pro 安裝 ESXi Server 6.x 虛擬平台
VMware ESXi 6.7 安裝後出現CVE-2018-3646( L1TF ) 的警告處理
一台PC與 Synology DS1618+ NAS搞定VMware ESXi外部儲存運用



