在 Windows 11 中為 Linux 啟動新的 Windows 子系統:方法如下

已發表: 2021-09-13

微軟於 6 月 24 日發布了 Windows 11。這家軟件巨頭隨後向 Windows Insider 計劃的成員發布了該操作系統,目前可以由註冊 Dev 和 Beta 渠道的人員進行測試。 儘管許多人對新的 UI 更改表示歡迎,但有些人仍然對繼續困擾 Windows 的幾個不一致之處持懷疑態度。

然而,Windows 11 的一個巧妙功能是改進的 Windows 子系統 Linux (WSL),它現在可以原生處理圖形和音頻。 在本文中,我們將了解 Windows 11 中 WSL 的新增功能以及如何開始使用它。

Windows 11 WSL 指南
  • 什麼是 Linux 的 Windows 子系統
  • 在 Windows 11 中安裝 WSL
    • 從 WSL 1 升級到 WSL 2
    • 在 Windows 11 中啟用 WSL
    • 在 Windows 11 上的 WSL 2 中安裝 Linux 發行版
      • 更新您的 WSL 應用程序
      • 檢查和升級 Linux 發行版
  • 在 Windows 11 中訪問 Linux 文件,反之亦然
    • 從 Windows 訪問 WSL 文件的方法

什麼是 Linux 的 Windows 子系統

通常情況下,開發人員會發現自己在熟悉的 Windows 界面和 Linux 中基於命令行的開發工具鏈的易用性之間切換。 此外,那些處理大數據的人會發現大量為 Linux 原生開發的開源工具。 適用於 Linux 的 Windows 子系統(簡稱 WSL)使開發人員能夠繼續使用 Windows 作為他們的主要操作系統,同時提供對本機 Linux 二進製文件的訪問權限。

因此,用戶不必擔心運行虛擬機的仿真開銷,也不必費心配置雙引導設置。 雖然 Cygwin 確實為運行類 Unix 命令提供了 POSIX 兼容層,但它需要重新編譯這些命令,因此適用性有限。 使用 WSL,Windows 用戶可以像任何其他程序一樣直接調用 Linux shell 並運行本機 Linux 二進製文件。

從 Windows 10 1903 開始,微軟推出了名為 WSL 2 的新版本 WSL,它提供了與 Windows 文件系統更緊密的集成、更快的啟動時間、更快的磁盤讀取以及功能齊全的 Linux 內核。 現在有了 Windows 11,微軟甚至添加了 GUI 和實時音頻支持。

在 Windows 11 中安裝 WSL

安裝適用於 Linux 的 Windows 子系統需要注意一些先決條件。 由於 WSL 2 使用實際的虛擬機,因此您的 CPU 需要支持虛擬化。 雖然英特爾和 AMD 為台式機和筆記本電腦提供動力的大多數現代 CPU 應該不會出現此問題,但此功能通常在計算機的 BIOS/UEFI 中關閉。

引導至 PC 的 BIOS/UEFI 界面(通常,這涉及在開機時按 DEL 或 F2 鍵;有關詳細信息,請參閱計算機的用戶指南)。 進入 BIOS 後,根據您的 CPU 搜索 Intel Virtualization Technology 或 AMD Secure Virtual Machine(也表示為 SVM)並啟用它。 保存更改並重新啟動 PC。

從 WSL 1 升級到 WSL 2

除非您使用 WSL 1 從以前版本的 Windows 升級,否則所有最新版本的 Windows 10(1903 及更高版本)和 Windows 11 默認使用 WSL 2。使用新的 GUI、音頻和文件系統增強功能需要強制升級到 WSL 2。

按照下面提到的步驟執行從 WSL 1 到 WSL 2 的就地升級:

1. 在提升的命令提示符、Windows 終端或 PowerShell 中鍵入以下內容。

 wsl --set-version <distro-name> 2

2. 確保輸入發行版的確切名稱。 如果有疑問,只需鍵入:

 wsl -l -v

3. 此命令列出已安裝的 Linux 發行版、它們的當前狀態以及它們正在使用的 WSL 版本。 使用上一條命令中此處列出的名稱將 WSL 1 實例轉換為 WSL 2。

在 Windows 11 中啟用 WSL

如果這是您第一次在 Windows 11 上使用 WSL,將自動為您提供 WSL 2 環境。 您需要做的就是確保在 BIOS 中啟用 CPU 虛擬化,並在您的環境中安裝 WSL 功能。

1. 要啟用 WSL,請單擊開始按鈕。

2. 鍵入“打開或關閉 Windows 功能”,並在對話框中啟用適用於 Linux 的 Windows 子系統、Windows Hypervisor 平台和虛擬機平台。

在“打開或關閉 Windows 功能”中啟用 WSL 功能

3. 單擊確定並重新啟動 PC。

WSL 2 最好的部分是大多數內核級功能直接由 Windows 更新提供。 您的 PC 可能會自動提供 WSL 2 內核更新。 如果沒有,只需轉到設置應用程序,單擊 Windows 更新,然後單擊檢查更新以下載啟用 WSLg(WSL GUI 的縮寫)功能的最新內核。

此時,請注意,您需要擁有 Intel、NVIDIA 或 AMD 的最新圖形驅動程序,具體取決於您的主要 GPU 適配器,以獲得完整的 GPU 加速。 您可以為您的相應 GPU 使用 beta 驅動程序,或者只安裝最新的公共版本。 既然先決條件已經完成,您就可以在 Windows 11 機器上安裝 Linux 發行版了。

在 Windows 11 上的 WSL 2 中安裝 Linux 發行版

在 Windows 11 上啟動並運行 Linux 的最簡單方法是前往 Microsoft Store 並蒐索您選擇的發行版。 當前可用的選項包括 Ubuntu(16.04、18.04 和 20.04)、Kali Linux、SUSE Linux Enterprise Server、openSUSE Leap、Fedora Remix for WSL 和 Debian。

適用於 Windows 11 的新 Microsoft Store 中的 Ubuntu

雖然 Microsoft Store 允許輕鬆下載和安裝這些發行版,但目前選擇有限。 但是,使用 WSL 2,可以通過獲取相應的 .tar 文件來創建和旁加載您自己的發行版。 對於本文,我們將使用 Ubuntu,因為它非常流行,並且如果您遇到特定的命令或操作時遇到困難,可以在線獲得極好的資源。

某些組織或加入域的 PC 可能對 Microsoft Store 的訪問權限有限。 在這種情況下,您可以直接從 Microsoft 下載安裝包。 請按照以下步驟安裝發行版:

1. 您可以雙擊安裝程序或使用安裝程序文件夾中的以下 PowerShell 命令。

 Add-AppxPackage .\distro_name.appx

2. 安裝您選擇的發行版後,它應該會立即在“開始”菜單上彈出。

3. 只需單擊圖標即可啟動 Ubuntu 安裝實例。

4. 幾秒鐘後,系統將提示您創建用戶帳戶和密碼。 如果由於某種原因,安裝程序沒有提示您輸入用戶帳戶或密碼,它將直接以 root 身份登錄。

請記住,使用 root 權限操作是一種不好的安全做法。 默認情況下沒有分配root密碼,這使得它更容易受到攻擊。 首先分配一個 root 密碼然後創建一個常規用戶帳戶總是有幫助的。 以下是您的操作方法:

1. 要分配新的 root 密碼,請使用以下命令:

 sudo passwd root

2.接下來,輸入並確認新的root密碼。 請務必安全地記下它。 要創建一個常規用戶帳戶,然後可以在需要時用於 root 訪問,請鍵入:

 sudo adduser <username>

3. Ubuntu 將要求輸入並確認您的密碼以及其他一些信息,例如您的全名和電話(這是可選的)。

4. 這將創建您的專用 /home 目錄,並在 bash shell 提示符處顯示帶有 $ 符號的用戶名。

WSL 2 Ubuntu 實例現在可以使用了。

在 Windows 11 上的 WSL 2 中運行的 Ubuntu 實例

更新您的 WSL 應用程序

至此,我們完成了安裝 Ubuntu 並創建了用戶帳戶和密碼。 在繼續進一步的步驟之前,它有助於進行快速更新檢查並安裝可用於您的發行版的最新軟件包。

這可確保您的所有收件箱包裹都是最新的,並且您正在使用最新的功能和安全改進。 按照步驟:

1. 輸入以下命令獲取新版本:

 sudo apt-get update sudo apt-get upgrade

2. 在 bash 提示符下,第一次運行 sudo 時,它會要求您輸入密碼,該密碼應至少在 15 分鐘內有效,才能運行連續的 sudo 命令。

請注意,apt-get upgrade 將僅引用/etc/apt/sources/list/etc/apt/sources.list.d/中定義的存儲庫並相應地進行升級。

3.為了更無縫的更新過程,還運行:

 sudo apt-get dist-upgrade

該命令可以智能地添加或刪除包,以確保系統中沒有冗餘。

檢查和升級 Linux 發行版

通常,Microsoft Store 默認提供最新的長期服務 (LTS) 版本的 Ubuntu。 建議使用 LTS 版本以獲得最大穩定性。 您可以通過運行以下命令檢查新的操作系統版本:

 sudo do-release-upgrade

但是,通過首先運行上述更新和升級命令來確保現有安裝是最新的。 您可以通過鍵入以下內容檢查您的操作系統版本:

 lsb_release -a
WSL 2 中的 Ubuntu 版本檢查

請注意,您還可以通過鍵入以下命令獲取有關任何命令的更多信息:

 man <command name>

在 Windows 11 中訪問 Linux 文件,反之亦然

現在我們已經在 Windows 11 的 WSL 2 中成功安裝和配置了 Ubuntu,這有助於了解如何在 Linux 和 Windows 文件之間無縫移動。 在 Linux 中,可以將 NTFS 和其他文件系統掛載到專用的掛載目錄中。

使用 WSL 的一種巧妙方法是,您可以直接從 Windows 文件夾調用 Linux 終端,並為您安裝該文件夾。 這是通過一個名為 DrvFs 的文件系統插件實現的,WSL 使用該插件來啟用 Linux 實例和 Windows 文件系統之間的互操作。

DrvFs 會自動掛載 HDD 和 SSD 等固定磁盤,並使其可供立即使用。 C 驅動器安裝在/mnt/c上,D 驅動器安裝在/mnt/d上,依此類推。

1. 您可以通過運行 df -h 命令列出所有磁盤及其掛載點來驗證這一點。 在這個例子中,我們有一個 C 盤,它通過 DrvFs 掛載到 /mnt/c

WSLg 上 Ubuntu 中的 df -h 命令顯示自動掛載的 DrvFs C: 驅動器

2. 要將 Windows 驅動器切換到 WSL,請在命令提示符下鍵入以下命令並按 Enter。

 cd /mnt/c #substitute c with the corresponding drive letter as needed

3.和普通Linux一樣,你也可以通過創建掛載點來掛載外部存儲設備。 使用以下命令

sudo mkdir /media/<dir name> #where <dir name> can be any directory name you wish to mount onto.

4. 然後將驅動器或分區掛載到該目錄。

 sudo mount /dev/<deviceID> /media/<dir name>

5.要查看掛載的驅動器的內容,首先使用命令切換到它。

 cd /media/<dir name>

6. 最後,使用命令列出內容。

 ls -ls

由於 WSL 的重點是在 Linux 和 Windows 之間實現無縫互操作,因此也可以直接在 Windows 下查看 Linux 文件並使用 Windows 程序對其進行編輯。

Windows 將 WSL 視為網絡上的 PC,並將 Linux 掛載為網絡共享,以確保在用戶在兩個操作系統之間切換時正確維護文件權限。 有多種方法可以從 Windows 訪問 WSL 文件。

從 Windows 訪問 WSL 文件的方法

1. 最簡單的方法是在文件資源管理器的左側面板中查看名為“Linux”的條目。

2. 單擊該按鈕會將您安裝的發行版列為文件夾。 單擊相應的發行版文件夾以訪問該發行版中的所有 Linux 目錄。

3. 從那裡,您可以創建自己的文件和目錄,就像您通常在 Windows 中所做的那樣。

直接從資源管理器訪問 WSL 文件

4. 也可以通過在任何文件資源管理器或 Windows 的運行對話框中鍵入\\wsl$來訪問上述目錄列表。

5. 如果無盡導航不是你的菜,你也可以從 WSL 的任何 Linux 目錄中鍵入explorer.exe 。 這將直接在當前工作的 Linux 目錄中打開 Windows 文件資源管理器。

在本文中,我們熟悉了 WSL 2 以及如何在 WSL 2 中成功安裝和更新 Linux 實例。我們還了解瞭如何在 Windows 和 Linux 之間無縫導航文件系統。 在接下來的文章中,我們將研究如何安裝圖形和音頻應用程序,並了解它們在 Windows 11 的 WSLg 中的工作情況。

如果您有什麼要補充的,請在下面的評論中發表您的想法。