如何在 Windows 10 上安裝 WSL 2

技術譯民發表於2020-12-15

翻譯自 Joey Sneddon 2020年10月30日的文章《How to Install WSL 2 on Windows 10》 [1]

ubuntu-20.4-wsl

如果您想在最新的 Windows 版本中嘗試經過改進的 Windows 子系統 Linux 2 (即 WSL 2) [2],要怎麼做呢?我們在本文中介紹了安裝它所需要做的所有事情。

WSL 2 是微軟早在 2017 年推出的 WSL 的原始版本的重大升級。WSL 2 不僅僅是版本的升級。它更快、更通用,並且使用真正的 Linux 核心。未來的 Linux 核心更新甚至會以 Windows 10 軟體更新的形式釋出——想想看,這有點瘋狂!

微軟建立 WSL 2 的目的是為了提高效能。最好的方法是什麼?新增完整的系統呼叫相容性,即以真正的 Linux 核心為核心。

“新增 WSL 2 為新架構,為 WSL 團隊提供了一個更好的平臺來提供一些特性,使 WSL 成為在 Windows 中執行 Linux 環境的一種令人驚歎的方式。” 微軟表示

微軟還計劃讓使用者在 Windows 10 上執行桌面 Linux 應用程式,並使用 GPU 加強的任務,因此這種瘋狂尚沒有減弱的跡象。它還使得用單條命令安裝 WSL 成為可能。

目前,除非您使用的是最新的內部版本,否則 WSL 2 的設定工作需要一點點的努力——但是,為了在 Windows 中呼叫和指揮一個完整的 Linux 系統,難道不值得嗎?

在 Windows 10 上 安裝 WSL 2

Ubuntu-WSL-screenshot

必要條件

要在 Windows 10 上安裝 WSL 2,您需要以下東西:

  • Windows 10 2020年5月(2004) 版, Windows 10 2019年5月(1903) 版,或者 Windows 10 2019年11月(1909) 版
  • 一臺支援 Hyper-V 虛擬化的計算機

Windows 10 2020年5月更新已於 2020年5月釋出(顯然),但並非每個裝置都能立即升級。要檢視您的計算機上是否有 Windows 10 2020年5月更新,請轉至“設定” > “更新和安全性” > “Windows 更新”。

在 8 月,微軟將 WSL 2 向後移植到 Windows 10 的較早版本。版本號為 1903 或 1909 的任何人也可以安裝WSL 2 —— 但必須首先安裝 Windows 更新 KB4566116

高階(和心急)的 Windows 使用者可以強制安裝 Windows 10 2020年5月更新,但請記住,如果按照這種方法操作,您可能會遭遇缺失驅動程式、GUI 故障或其他硬體故障。

從技術上來講,您可以在 Windows 10 build 18917 或更高版本的“內部”版本上安裝 WSL 2。我不太熟悉“內部”版本系統是如何工作的,所以請注意,本文的其餘部分都基於在穩定版的 Windows 上使用該功能。

為了執行 WSL 2,您的計算機還需要支援 Hyper-V 虛擬化。您可以檢查您的計算機確認對 Hyper-V 的支援 [3]

如果您不能同時滿足這兩個必要條件,則無法安裝或啟用 WSL 2——但可以使用 WSL 1。

在 Windows 10 上安裝 WSL 2 的過程如下:

  1. 啟用 WSL 2
  2. 啟用“虛擬機器平臺”
  3. 設定 WSL 2 為預設值
  4. 安裝 Linux 發行版

我將使用 PowerShell 應用程式依次介紹每個步驟,您需要以管理員身份執行此應用程式。您可以在 Windows “開始” 選單中找到 PowerShell。

注意:也可以使用 GUI 安裝 WSL 1,但使用命令列安裝的速度要快得多,而且由於 WSL 是 CLI 工具,這也比較講得通!

第 1 步,啟用 WSL

不管您想要使用哪個版本的 WSL,都首先需要啟用它。為此,請以管理員身份開啟 PowerShell 工具並執行以下命令。小心不要在命令中輸入錯誤或遺漏任何字元:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

如果只想使用 WSL 1,您可以跳到第 4 步。

第 2 步,啟用“虛擬機器平臺”

WSL 2 需要啟用 Windows 10 的 “虛擬機器平臺” 特性。它獨立於 Hyper-V,並提供了一些在 Linux 的 Windows 子系統新版本中可用的更有趣的平臺整合。

要在 Windows 10(2004)上啟用虛擬機器平臺,請以管理員身份開啟 PowerShell 並執行:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

要在 Windows 10(1903,1909)上啟用虛擬機器平臺,請以管理員身份開啟 PowerShell 並執行:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart

為了確保所有相關部件都整齊到位,您應該在此時重啟系統,否則可能會發現事情沒按預期進行。

第 3 步,設定 WSL 2 為預設值

以管理員身份開啟 PowerShell,然後執行以下命令以將 WSL 2 設定為 WSL 的預設版本:

wsl --set-default-version 2

如果需要,您可以(隨時)將發行版配置為以 WSL 1 模式執行。

第 4 步,安裝一個 Linux 發行版

有了 WSL 和必要的虛擬化技術,接下來您要做的就是從 Microsoft Store 中選擇並安裝 Linux 發行版。

有幾種不同的發行版可供選擇,包括 OpenSUSE、Pengwin、Fedora Remix 和 Alpine Linux。但是我個人推薦(自然地)Ubuntu 20.04 LTS(儘管也有 18.04 LTS 和 16.04 LTS 可用)。

要在 Windows 10 上安裝 Ubuntu,請開啟 Microsoft Store 應用,搜尋 “Ubuntu 20.04”,然後單擊“獲取”按鈕:

Ubuntu 20.04 LTS on the Microsoft Store [4]

當您在 Microsoft Store 中時,我強烈建議您也安裝開源的 Windows Terminal 應用程式。該工具旨在為您提供最佳的 WSL 體驗:

Windows Terminal on the Microsoft Store [5]

第 5 步,使用 WSL 2

當您安裝 Ubuntu(或其他 Linux 發行版)時,快捷方式已新增到 Windows “開始”選單中。使用它可以“開啟” Ubuntu(或您選擇的任何發行版)。第一次執行發行版時,速度似乎有點慢。這是預料之中的;發行版必須解壓縮其所有內容——只是不要中斷這個過程。

還將提示您設定用於發行版的使用者名稱和密碼。嘗試挑選一些您不會忘記的字元。

將 WSL 1 上的 Ubuntu 轉換到 WSL 2

如果您使用 WSL 1,則可以將現有的 WSL 1 安裝升級到 WSL 2。要將現有的 WSL 1 發行版轉換到 WSL 2,請在 PowerShell 中執行以下命令,例如:

wsl.exe --set-version Ubuntu 2

使用時,您應將命令中的 “Ubuntu” 替換為您在 WSL 1 上安裝執行的對應發行版的名稱。

譯者補充

可以在 PowerShell 中執行下面命令顯示所有發行版的詳細資訊:

wsl --list --verbose

命令 wsl --set-version 可更改指定分發版的版本,其用法為:

wsl --set-version <分發版名稱> <版本號>

例如:

wsl --set-version Ubuntu-20.04 2

? 如果本指南對您有用,請在評論中告訴我!


作者 : Joey Sneddon
譯者 : 技術譯民
出品 : 技術譯站
連結 : 英文原文


  1. https://www.omgubuntu.co.uk/how-to-install-wsl2-on-windows-10 How to Install WSL 2 on Windows 10 ↩︎

  2. https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-index WSL 2 ↩︎

  3. https://www.zdnet.com/article/windows-10-tip-find-out-if-your-pc-can-run-hyper-v/ Find out if your PC can run Hyper-V ↩︎

  4. https://www.microsoft.com/store/productId/9N6SVWS3RX71 Ubuntu 20.04 LTS on the Microsoft Store ↩︎

  5. https://www.microsoft.com/store/productId/9N0DX20HK701 Windows Terminal on the Microsoft Store ↩︎

相關文章