本文紀錄Ivon在Windows 11安裝WSL的過程。
WSL (Windows Subsystem for Linux) 是Microsoft推出的一款開源工具,可以讓您在Windows電腦執行Linux程式、跑Docker容器、與主機共享檔案、開發程式等等用途。
臨時要跑Linux程式的時候,WSL可說是十分便利,Linux系統 (下圖為Ubuntu) 會像應用程式一樣裝到Windows上,點選進入Linux終端機,快速進入環境。
根據 Microsoft官方文件的說法,WSL2其實就是一種輕量虛擬機。跟 Windows 11 + Ubuntu雙重開機比起來,WSL的執行速度要慢些,但啟動速度比一般的虛擬機軟體要快。
1. 檢查系統是否符合WSL2需求#
先將Windows 11更新至最新版本。
再來,您的電腦與CPU必須支援虛擬化技術,請到UEFI開啟虛擬化支援。
接著參考 Microsoft文件,啟用Hyper-V。Hyper-V僅Windows專業版有內建,家用版請另外搜尋教學。
Hyper-V可透過指令啟用,搜尋「Windows終端機」,右鍵以系統管理員啟動
輸入以下指令啟用Hyper-V
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
重開機。
開啟終端機,使用以下指令確認Hyper-V是否已啟用 (Enabled)
Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V
2. 安裝WSL2#
搜尋「Windows終端機」,右鍵以系統管理員啟動
執行以下指令安裝WSL,預設下載的Linux發行版為Ubuntu
wsl --install
依照提示設定Ubuntu的帳號密碼,例如填入
user
和1234
安裝後重開機,Ubuntu終端機的視窗應會跳出來,顯示下圖訊息。如果沒有,手動開啟終端機輸入
wsl -d Ubuntu
啟動WSL。當prompt變成綠字就代表進入Ubuntu的shell,試試看
sudo apt update
更新套件的指令吧。如果要將WSL「關機」,輸入
exit
退出。然後再開另一個終端機,終止WSL實例:
wsl --shutdown
# 如果沒反應,用此指令強制中止WSL服務
taskkill /F /im wslservice.exe
- 日後啟動WSL的方法:從應用程式列表點選「Ubuntu」圖示,或是從Windows終端機以指令啟動
wsl -d Ubuntu
3. 如何移除或重裝Ubuntu#
如果WSL檔案系統損壞導致無法進入Ubuntu的shell,你可能就得重裝WSL環境。
- 取消註冊Ubuntu
wsl --unregister ubuntu
到系統設定 → 應用程式,解除安裝Ubuntu應用程式。這會將Ubuntu與檔案系統一併刪除。
接著再重跑一次指令安裝Ubuntu。
4. 進階用法#
除Ubuntu外,WSL尚支援安裝Debian、Arch Linux、Fedora、openSUSE等Linux發行版,只要從Microsoft Store下載對應的Linux發行版程式,再用wsl -d <發行版名稱>
開機即可。
在安裝WSL後,可從檔案總管左側的「Linux企鵝圖示」存取WSL系統的根目錄。該目錄僅在WSL開機時才可存取。
WSL可以 執行X11環境的Linux應用程式,還可以 跑Linux桌面環境
WSL可以直接跑Docker,無需安裝Docker Desktop,參見 Ubuntu安裝Docker Engine
如果要在WSL跑CUDA,請安裝 WSL專用的Nvidia驅動,不可直接裝Ubuntu系統的驅動。
WSL預設的網路模式為NAT,若要讓Linux服務能從外網存取,你可能得啟用橋接網路或者 鏡像網路模式。
其餘WSL的使用說明請參考 Microsoft官方文件。