功能比較:
要求:
若要更新到 WSL 2,需要運行 Windows 10。
- 對於 x64 系統:版本 1903 或更高版本,采用 內部版本 18362 或更高版本。
- 對於 ARM64 系統:版本 2004 或更高版本,采用 內部版本 19041 或更高版本。
- 低於 18362 的版本不支持 WSL 2。 使用 Windows Update 助手更新 Windows 版本。
若要檢查 Windows 版本及內部版本號,選擇 Windows 徽標鍵 + R,然后鍵入“winver”,選擇“確定”。 (或者在 Windows 命令提示符下輸入 ver
命令)。 更新到“設置”菜單中的最新 Windows 版本。
步驟1 - 啟用適用於 Linux 的 Windows 子系統:
需要先啟用“適用於 Linux 的 Windows 子系統”可選功能,然后才能在 Windows 上安裝 Linux 分發。
以管理員身份打開 PowerShell 並運行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
步驟2 - 啟用虛擬機功能:
安裝 WSL 2 之前,必須啟用“虛擬機平台”可選功能。 計算機需要虛擬化功能才能使用此功能。
以管理員身份打開 PowerShell 並運行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
步驟3 - 下載 Linux 內核更新包:
1、下載最新包:
2、下載備用包:
- 2021年2月17日下載的 WSL2 Linux 內核包(不會更新,僅做備用,提取碼 : elna8v)
3、運行上一步中下載的更新包。 (雙擊以運行 - 系統將提示你提供提升的權限,選擇“是”以批准此安裝。)
安裝完成后,請繼續執行下一步 - 在安裝新的 Linux 分發時,將 WSL 2 設置為默認版本。 (如果希望將新的 Linux 安裝設置為 WSL 1,請跳過此步驟。)
步驟4 - 將 WSL 2 設置為默認版本:
打開 PowerShell,然后在安裝新的 Linux 發行版時運行以下命令,將 WSL 2 設置為默認版本:
wsl --set-default-version 2
步驟5 - 安裝所選的 Linux 分發版:
1、打開 Microsoft Store,並選擇你偏好的 Linux 分發版。
單擊以下鏈接會打開每個分發版的 Microsoft Store 頁面:
- Ubuntu 16.04 LTS
- Ubuntu 18.04 LTS
- Ubuntu 20.04 LTS
- openSUSE Leap 15.1
- SUSE Linux Enterprise Server 12 SP5
- SUSE Linux Enterprise Server 15 SP1
- Kali Linux
- Debian GNU/Linux
- Fedora Remix for WSL
- Pengwin
- Pengwin Enterprise
- Alpine WSL
2、在分發版的頁面中,選擇“獲取”或“安裝”。
首次啟動新安裝的 Linux 分發版時,將打開一個控制台窗口,系統會要求你等待一分鍾或兩分鍾,以便文件解壓縮並存儲到電腦上。 未來的所有啟動時間應不到一秒。
然后,需要為新的 Linux 分發版創建用戶帳戶和密碼。
將分發版版本設置為 WSL 1 或 WSL 2:
可打開 PowerShell 命令行並輸入以下命令(僅在 Windows 內部版本 18362 或更高版本中可用),檢查分配給每個已安裝的 Linux 分發版的 WSL 版本:wsl -l -v
wsl --list --verbose
若要將分發版設置為受某一 WSL 版本支持,請運行:
wsl --set-version <distribution name> <versionNumber>
請確保將 <distribution name>
替換為你的分發版的實際名稱,並將 <versionNumber>
替換為數字“1”或“2”。 可以隨時更改回 WSL 1,方法是運行與上面相同的命令,但將“2”替換為“1”。
此外,如果要使 WSL 2 成為你的默認體系結構,可以通過此命令執行該操作:
wsl --set-default-version 2
錯誤排查:
-
安裝失敗並出現錯誤 0x80070003
-
- 適用於 Linux 的 Windows 子系統只能在系統驅動器(通常是
C:
驅動器)中運行。 請確保分發版存儲在系統驅動器上: - 打開“設置”->“系統”-->“存儲”-> “更多存儲設置”: 更改新內容的保存位置”
- 適用於 Linux 的 Windows 子系統只能在系統驅動器(通常是
-
WslRegisterDistribution 失敗並出現錯誤 0x8007019e
- 未啟用“適用於 Linux 的 Windows 子系統”可選組件:
- 打開“控制面板” -> “程序和功能” -> “打開或關閉 Windows 功能”-> 選中“適用於 Linux 的 Windows 子系統”,或使用本文開頭所述的 PowerShell cmdlet。
-
安裝失敗,出現錯誤 0x80070003 或錯誤 0x80370102
- 請確保在計算機的 BIOS 內已啟用虛擬化。 有關如何執行此操作的說明因計算機而異,並且很可能在 CPU 相關選項下。
-
嘗試升級時出錯:
Invalid command line option: wsl --set-version Ubuntu 2
- 請確保已啟用適用於 Linux 的 Windows 子系統,並且你使用的是 Windows 內部版本 18362 或更高版本。 若要啟用 WSL,請在 PowerShell 提示符下以具有管理員權限的身份運行此命令:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
。
- 請確保已啟用適用於 Linux 的 Windows 子系統,並且你使用的是 Windows 內部版本 18362 或更高版本。 若要啟用 WSL,請在 PowerShell 提示符下以具有管理員權限的身份運行此命令:
-
由於虛擬磁盤系統的某個限制,無法完成所請求的操作。虛擬硬盤文件必須是解壓縮的且未加密的,並且不能是稀疏的。
- 取消選中“壓縮內容”(如果已選中“加密內容”,請一並取消選中),方法是打開 Linux 發行版的配置文件文件夾。 它應位於 Windows 文件系統上的一個文件夾中,類似於:
USERPROFILE%\AppData\Local\Packages\CanonicalGroupLimited...
- 在此 Linux 發行版配置文件中,應存在一個 LocalState 文件夾。 右鍵單擊此文件夾可顯示選項的菜單。 選擇“屬性”>“高級”,然后確保未選擇(未勾選)“壓縮內容以節省磁盤空間”和“加密內容以保護數據”復選框。 如果系統詢問是要將此應用到當前文件夾還是應用到所有子文件夾和文件,請選擇“僅此文件夾”,因為你只是要清除壓縮標志。 完成此操作后,
wsl --set-version
命令應正常工作。
- 取消選中“壓縮內容”(如果已選中“加密內容”,請一並取消選中),方法是打開 Linux 發行版的配置文件文件夾。 它應位於 Windows 文件系統上的一個文件夾中,類似於:
-
無法將詞語“wsl”識別為 cmdlet、函數、腳本文件或可運行程序的名稱。
- 請確保已安裝“適用於 Linux 的 Windows 子系統”可選組件。 此外,如果你使用的是 ARM64 設備,並從 PowerShell 運行此命令,則會收到此錯誤。 請改為從 PowerShell Core 或從命令提示符運行
wsl.exe
。
- 請確保已安裝“適用於 Linux 的 Windows 子系統”可選組件。 此外,如果你使用的是 ARM64 設備,並從 PowerShell 運行此命令,則會收到此錯誤。 請改為從 PowerShell Core 或從命令提示符運行
-
錯誤:此更新僅適用於裝有適用於 Linux 的 Windows 子系統的計算機。
- 若要安裝 Linux 內核更新 MSI 包,需要 WSL,應先啟用它。 如果失敗,將看到以下消息:
This update only applies to machines with the Windows Subsystem for Linux
。 - 出現此消息有三個可能的原因:
-
你仍使用舊版 Windows,不支持 WSL 2。 有關版本要求和要更新的鏈接,請參閱步驟 #2。
-
未啟用 WSL。 需要返回到步驟 #1,並確保在計算機上啟用了可選的 WSL 功能。
-
啟用 WSL 后,需要重新啟動才能使其生效,請重新啟動計算機,然后重試。
- 若要安裝 Linux 內核更新 MSI 包,需要 WSL,應先啟用它。 如果失敗,將看到以下消息:
-
錯誤:WSL 2 要求對其內核組件進行更新。若需了解相關信息,請訪問 https://aka.ms/wsl2kernel 。
- 如果 %SystemRoot%\system32\lxss\tools 文件夾中缺少 Linux 內核包,會遇到此錯誤。 若要解決此問題,請在安裝說明的步驟 #4 中安裝 Linux 內核更新 MSI 包。 可能會需要從“添加或刪除程序”卸載 MSI,然后重新安裝。