如何使用 WSL 在 Windows 上安裝 Linux

開發人員可以在 Windows 電腦上同時存取 Windows 和 Linux 的功能。 適用於 Linux 的 Windows 子系統 (WSL) 可讓開發人員安裝 Linux 散發套件(例如 Ubuntu、OpenSUSE、Kali、Debian、Arch Linux 等),並直接在 Windows 上使用 Linux 應用程式、公用程式和 Bash 命令列工具,完全未經修改,而且不需要傳統虛擬機器或 dualboot 設定的額外負荷。

必要條件

您必須執行 Windows 10 版本 2004 和更新版本(組建 19041 和更新版本)或 Windows 11,才能使用下列命令。 如果您使用舊版,請參閱手動安裝頁面

安裝 WSL 命令

您現在可以安裝使用單一命令執行 WSL 所需的所有項目。 以滑鼠右鍵按一下並選取 [以系統管理員身分執行],在系統管理員模式中開啟 PowerShell 或 Windows 命令提示字元,輸入 wsl --install 命令,然後重新開機電腦。

wsl --install

此命令會啟用執行 WSL 並安裝 Linux Ubuntu 發行版本所需的功能。 (可以變更此預設發佈)。

如果您正在執行較舊的組建,或只是不想使用安裝命令,而且想要逐步指示,請參閱舊版的 WSL 手動安裝步驟

當您第一次啟動新安裝的 Linux 發行版本時,主控台視窗隨即開啟,而系統會要求您等候檔案解壓縮並儲存在您的電腦上。 未來的所有啟動時間都應該會低於一秒。

注意

上述命令只有在 WSL 完全未安裝時才有效。 如果您執行 wsl --install 並看到 WSL 說明文字,請嘗試執行 wsl --list --online 以查看可用的散發版本清單,然後執行 wsl --install -d <DistroName> 以安裝散發版本。 若要解除安裝 WSL,請參閱解除安裝舊版 WSL取消註冊或解除安裝 Linux 發行版本

變更已安裝的預設 Linux 發行版本

根據預設,已安裝的 Linux 散發套件會是 Ubuntu。 這可以使用 -d 旗標來變更。

  • 若要變更安裝的發行版本,請輸入:wsl --install -d <Distribution Name>。 將 <Distribution Name> 取代為您想要安裝的散發套件名稱。
  • 若要查看可透過線上商店下載的可用 Linux 發行版本清單,請輸入:wsl --list --onlinewsl -l -o
  • 若要在初始安裝之後安裝其他 Linux 發行版本,您也可以使用下列命令:wsl --install -d <Distribution Name>

提示

如果您想要從 Linux/Bash 命令列內安裝其他散發套件 (而不是從 PowerShell 或命令提示字元),您必須在命令中使用 .exe:wsl.exe --install -d <Distribution Name> 或列出可用的發行版本:wsl.exe -l -o

如果您在安裝期間遇到問題,請檢查疑難排解指南的安裝一節

若要安裝未列為可用的 Linux 發行版本,您可以使用 TAR 檔案匯入任何 Linux 發行版本。 或者在某些情況下,如同對於 Arch Linux 一般,您可以使用 .appx 檔案進行安裝。 您也可以建立自己的自訂 Linux 發行版本,以搭配 WSL 使用。

設定 Linux 使用者資訊

安裝 WSL 之後,您必須為新安裝的 Linux 發行版本建立使用者帳戶和密碼。 若要深入瞭解,請參閱設定 WSL 開發環境的最佳做法指南。

設定和最佳做法

建議您遵循設定 WSL 開發環境指南的最佳做法,逐步解說如何使用基本 WSL 命令、安裝和自訂 Windows 終端機、使用 VS Code 遠端伺服器設定 Git 版本控制、程式碼編輯和偵錯,檔案儲存體、設定資料庫、掛接外部磁片磁碟機、設定 GPU 加速等等的最佳做法。

檢查您正在執行的 WSL 版本。

您可以列出已安裝的 Linux 發行版本,並在 PowerShell 或 Windows 命令提示字元中輸入命令:wsl -l -v,以檢查每個發行版本的 WSL 版本。

若要在安裝新的 Linux 發行版本時,將預設版本設定為 WSL 1 或 WSL 2,請使用命令:wsl --set-default-version <Version#>,將 <Version#> 取代 為 1 或 2。

若要設定搭配 wsl 命令使用的預設 Linux 發行版本,請輸入:wsl -s <DistributionName>wsl --set-default <DistributionName>,將 <DistributionName> 取代為您想要使用的 Linux 發行版本名稱。 例如,從 PowerShell/CMD,輸入:wsl -s Debian 將預設散發套件設定為 Debian。 現在從 Powershell 執行 wsl npm init 將會在 Debian 中執行 npm init 命令。

若要從 PowerShell 或 Windows 命令提示字元內執行特定的 wsl 散發套件,而不需變更預設散發套件,請使用下列命令:wsl -d <DistributionName>,將 <DistributionName> 取代為您想要使用的散發套件名稱。

WSL 的基本命令指南中深入瞭解。

將版本從 WSL 1 升級為 WSL 2

使用 wsl --install 命令安裝的新 Linux 安裝預設會設定為 WSL 2。

wsl --set-version 命令可用來將 WSL 2 降級為 WSL 1,或將先前安裝的 Linux 發行版本從 WSL 1 降級為 WSL 2。

若要查看 Linux 發行版本是否設定為 WSL 1 或 WSL 2,請使用命令:wsl -l -v

若要變更版本,請使用命令:wsl --set-version <distro name> 2<distro name> 取代為您要更新的 Linux 發行版本名稱。 例如,wsl --set-version Ubuntu-20.04 2 會將您的 Ubuntu 20.04 發行版本設定為使用 WSL 2。

如果您在可用的 wsl --install 命令之前手動安裝 WSL,您可能也需要啟用 WSL 2 所使用的虛擬機器選用元件,如果您尚未這麼做,請安裝核心套件

若要深入瞭解,請參閱 WSL 的命令參考以取得 WSL 命令清單、參閱比較 WSL 1 和 WSL 2 以取得用於工作案例的指引,或參閱設定 WSL 開發環境的最佳做法以取得使用 WSL 設定良好開發工作流程的一般指引。

使用 WSL 執行多個 Linux 發行版本的方式

WSL 支援以您想要安裝的方式執行許多不同的 Linux 散發套件。 這包括從 Microsoft Store 選擇散發套件、匯入自訂散發套件,或建置您自己的自訂散發套件

安裝之後,有數種方式可執行 Linux 發行版本:

  • 安裝 Windows 終端機(建議)使用 Windows 終端 機支援您想要安裝的許多命令列,而且可讓您在多個索引標籤或視窗窗格中開啟它們,並在多個 Linux 散發套件或其他命令列之間快速切換 (PowerShell、命令提示字元、Azure CLI 等)。 您可以使用獨特的色彩配置、字型樣式、大小、背景影像和自訂鍵盤快速鍵,完全自訂終端機。 深入了解
  • 您可以進入 Windows [開始] 功能表並輸入已安裝的發行版本名稱,直接開啟您的 Linux 發行版本。 例如:「Ubuntu」。 這會在自己的控制台視窗中開啟Ubuntu。
  • 從 Windows 命令提示字元或 PowerShell,您可以輸入已安裝的發行版本名稱。 例如:ubuntu
  • 從 Windows 命令提示字元或 PowerShell,您可以輸入:wsl.exe,在目前的命令列內開啟預設 Linux 發行版本。
  • 從 Windows 命令提示字元或 PowerShell,您可以輸入:wsl [command],在目前的命令列內使用預設 Linux 發行版本,而不輸入新的命令。 將 WSL 命令取代為 [command],例如:wsl -l -v 列出已安裝的散發套件,或取代為 wsl pwd 查看目前目錄路徑在 wsl 中掛接的位置。 從 PowerShell,命令 get-date 會提供 Windows 檔案系統的日期,而且 wsl date 將提供 Linux 檔案系統的日期。

您選取的方法應該取決於您即將進行的作業。 如果您已在 Windows 提示字元或 PowerShell 視窗中開啟 WSL 命令列,而且想要結束,請輸入命令:exit

想要嘗試最新的 WSL 預覽功能嗎?

加入 Windows 測試人員計畫,以嘗試 WSL 的最新功能或更新。 加入 Windows 測試人員之後,您可以選擇想要從 Windows 設定功能表內接收預覽組建的通道,以自動接收與該組建相關聯的任何 WSL 更新或預覽功能。 您可以自下列內容中選擇:

  • 開發通道:最新的更新,但穩定性較低。
  • Beta 通道:適合於早期採用者,比開發通道更可靠的組建。
  • 發行預覽通道:在提供給一般大眾使用之前,預覽下一版 Windows 上的修正程式和主要功能。

其他資源