WSL(The Windows Subsystem for Linux) 是指的是在 Window 系統上運行 Linux 子系統,以便提供在 Windows 環境上運行 GNU/Linux 環境上才能使用的諸如命令行工具、其他 Linux 上的程序,無需傳統的虛擬機或在一個電腦上安裝多個系統並作多個引導配置。
全新安裝 WSL2
本教程是在 Windows 11 上進行,如果你的是 Windows 10 的話,那你的系統要滿足2004 或更高版本。
- 啟用 Windows 功能
若是你已經開啟了「適用於 Linux 的 Windows 子系統」,那這個步驟你可以跳過了。如果你忘記了有沒有開啟,也可以參考下面的設置打開來看一下有沒有配置。
系統設置 -> 應用 -> 可選功能 -> 最下邊的 「更多 Windows 功能」 -> 找到並勾選 「Hyper-V」和「適用於 Linux 的 Windows 子系統」-> 點擊確定,等待新功能的安裝。安裝完成后重啟一次電腦再繼續后面的步驟。
- 查詢有效的子系統列表
接下來是查詢有哪些可用的子系統列表,這個步驟可以跳過,不過這里還是要說一下如何查詢。
在 PowerShell 或者系統命令行中執行命令:
wsl --list --online
也可以使用它的簡寫模式:
wsl -l -o
執行后就可以看到當前可支持的子系統了。
- 執行安裝
同樣在 PowerShell 或者命令行中執行命令:
wsl --install
上面的命令會安裝默認的 Ubuntu 版本,如果想要安裝其他版本的子系統,可以通過 --distribution
參數指定:
wsl --install --distribution [Linux 子系統名稱]
這個命令也可以使用簡寫模式:
wsl --install -d [Linux 子系統名稱]
從 WSL1 升級到 WSL2
升級的方法非常簡單只需要指定子系統運行的 WSL 版本設置為 2 即可:
wsl --set-version [Linux 子系統名稱] 2
問題與解決
- 安裝出現報錯
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80370102
Error: 0x80370102 ???????????????????
Press any key to continue...
出現這個問題的原因是沒有開啟虛擬化。可以檢查一下 BIOS 中是否開啟了虛擬化,然后檢查前面說的 Windows 功能是否已經開啟。如果這些都開啟了,那可以在命令行執行:
bcdedit /set hypervisorlaunchtype auto
不要忘記了在執行了命令之后同樣要重啟一次電腦。
- Hyper-V 與其他虛擬機不兼容
出現這個問題,在以前還真就只能二選其一,因為我電腦多,所以對我來說沒有問題(笑)。
不過現在也有好消息就是,現在我的 Hyper-V 和 VirtualBox 虛擬機在同一台電腦上共存了,只需要你將你正在使用的虛擬機升級到新版本就可以了,感謝這些虛擬機開發者。