開發人員可以在 Windows 電腦上同時存取 Windows 和 Linux 的功能。 適用於Linux的 Windows 子系統 (WSL) 可讓開發人員安裝Linux散發套件(例如Ubuntu、OpenSUSE、Kali、Debian、Arch Linux等),並直接在 Windows 上使用 Linux 應用程式、公用程式和 Bash 命令行工具,未經修改,而不需要傳統虛擬機或雙boot 設定的額外負荷。
先決條件
您必須執行 Windows 10 版本 2004 和更新版本(組建 19041 和更新版本)或 Windows 11,才能使用下列命令。 如果您使用的是舊版,請參閱 手動安裝頁面。
安裝 WSL 命令
您現在可以使用一個指令安裝執行 WSL 所需的所有元件。 以系統管理員模式開啟 PowerShell,方法是以滑鼠右鍵按下並選取 [以 系統管理員 身分執行],輸入 wsl --install 命令,然後重新啟動計算機。
wsl --install
此命令會啟用執行 WSL 並安裝 Linux Ubuntu 發行版所需的功能。 (可以變更此預設分佈)。
如果您正在執行較舊的組建,或只是不想使用安裝命令,而且想要逐步指示,請參閱 舊版的 WSL 手動安裝步驟。
第一次啟動新安裝的Linux發行版時,控制台視窗隨即開啟,系統會要求您等候檔案解壓縮並儲存在您的電腦上。 所有未來的發射應該需要不到一秒的時間。
備註
上述命令只有在 WSL 完全未安裝時才有效。 如果您執行 wsl --install 並看到 WSL 說明文字,請嘗試執行 wsl --list --online 以查看可用的發行版清單,然後執行 wsl --install -d <DistroName> 以安裝發行版。
如果安裝程序在 0.0%時停止回應,請先執行 wsl --install --web-download -d <DistroName> 以下載發行版,然後再安裝。
若要卸載 WSL,請參閱卸載舊版 WSL 或 取消註冊或卸載 Linux 發行版。
變更已安裝的預設 Linux 發行版
根據預設,已安裝的Linux發行版將會是Ubuntu。 這可以使用-d參數來更改。
若要變更安裝的發行版,請輸入:
wsl.exe --install [Distro]將
[Distro]替換為您想安裝的散佈版名稱。若要查看可透過在線商店下載的可用 Linux 發行版清單,請輸入:
wsl.exe --list --online
如果您在安裝程式期間遇到問題,請檢查疑難解答指南 的安裝一節。
若要安裝未列為可用的 Linux 發行版,您可以使用 TAR 檔案 匯入任何 Linux 發行版 。 或者在某些情況下,如同 Arch Linux,您可以使用安裝檔案 .appx 進行安裝。 您也可以建立自己的 自定義 Linux 發行版 ,以搭配 WSL 使用。
設定 Linux 用戶資訊
安裝 WSL 之後,您必須為新安裝的 Linux 發行版建立使用者帳戶和密碼。 若要深入瞭解,請參閱 設定WSL開發環境 指南的最佳做法。
設定和最佳做法
建議您遵循我們的 設定 WSL 開發環境的最佳做法指南,逐步解說如何設定已安裝的 Linux 發行版本的使用者名稱和密碼,使用基本 WSL 命令、安裝和自定義 Windows 終端機、設定 Git 版本控制、使用 VS Code 遠端伺服器進行程式碼編輯和偵錯、文件儲存的最佳做法、設定資料庫、掛載外部磁碟、設定 GPU 加速等等。
檢查您正在執行的 WSL 版本
您可以列出已安裝的 Linux 發行版,並通過輸入命令來檢查每個發行版所設定的 WSL 版本:
wsl.exe --list --verbose
若要在安裝新的 Linux 發行版時,將預設版本設定為 WSL 1 或 WSL 2,請使用 命令:
wsl.exe --set-default-version <1|2>
若要設定搭配 wsl 命令使用的預設 Linux 發行版,請輸入:
wsl.exe --set-default <Distro>
將 <Distro> 取代為您想要使用的 Linux 發行版名稱。
例如,從 PowerShell 輸入: wsl -s Debian ,將預設散發套件設定為 Debian。
現在從 Powershell 執行 wsl npm init 將會在 Debian 中執行 npm init 命令。
若要從 PowerShell 內執行特定的 wsl 散發套件,而不需變更預設散發套件,請使用 命令:
wsl.exe --distribution <DistroName>
用您要使用的散發名稱取代<DistroName>。
在 WSL 基本命令指南中深入瞭解。
將版本從 WSL 1 升級至 WSL 2
使用 wsl --install 命令安裝的新 Linux 安裝預設會設定為 WSL 2。
若要查看Linux發行版是否設定為WSL 1或WSL 2,請使用命令: wsl -l -v。
您可以使用下列命令,從 WSL 1 升級至 WSL 2 或從 WSL 2 降級至 WSL 1:
wsl.exe --set-version <Distro> <1|2>
<Distro>以您要更新的 Linux 發行版名稱取代 。
例如, wsl --set-version Ubuntu 2 會將您的Ubuntu發行版設定為使用WSL 2。
如果您在 wsl --install 命令可用之前手動安裝 WSL,您可能也需要啟用 WSL 2 所使用的 虛擬機選用元件,並且如果您尚未這麼做,請安裝 核心套件。
若要深入瞭解,請參閱 WSL 的命令參考以取得 WSL 命令清單、 比較 WSL 1 和 WSL 2 ,以取得用於工作案例的指引,或設定 WSL 開發環境的最佳做法 ,以取得使用 WSL 設定良好開發工作流程的一般指引。
使用 WSL 執行多個 Linux 發行版的方式
WSL 支援執行多個您想要安裝的不同 Linux 發行版。 這包括從 Microsoft 商店 選擇散佈版、匯入自訂散佈版,或 建置您自己的自訂散佈版。
安裝之後,有數種方式可執行Linux發行版:
- 從 Windows 終端機(建議使用) 使用 Windows 終端機支援您想要安裝的許多命令行,並可讓您在多個索引卷標或視窗窗格中開啟它們,並在多個 Linux 散發套件或其他命令行之間快速切換(PowerShell、命令提示字元、Azure CLI 等)。 您可以使用獨特的色彩配置、字型樣式、大小、背景影像和自定義鍵盤快捷方式,完全自定義終端機。 瞭解更多資訊。
- 您可以流覽 Windows [開始] 功能表並輸入已安裝發行版的名稱,直接開啟您的 Linux 發行版。 例如:「Ubuntu」。 這會在自己的控制台視窗中開啟Ubuntu。
- 您可以從 PowerShell 輸入已安裝發行版的名稱。 例如:
ubuntu - 在 PowerShell 中,您可以輸入
wsl.exe,在當前的命令行內開啟預設的 Linux 發行版。 - 從 PowerShell 中,您可以輸入:
wsl [command],在目前的命令行內使用預設 Linux 發行版,而不輸入新的發行版。 以[command]WSL 命令取代,例如:wsl -l -v列出已安裝的發行版本,或wsl pwd查看目前目錄路徑在 WSL 中掛載的位置。 從 PowerShell,此命令Get-Date會提供 Windows 檔案系統的日期,並提供wsl dateLinux 檔案系統的日期。
您選取的方法應該取決於您正在做什麼。 如果您已在 PowerShell 視窗中開啟 WSL 命令行並想要結束,請輸入下列命令: exit。
想要嘗試最新的 WSL 預覽功能嗎?
加入 Windows 測試人員計劃,以嘗試 WSL 的最新功能或更新。 加入 Windows 測試人員之後,您可以選擇想要從 Windows 設定選單內接收預覽組建的通道,以自動接收與該組建相關聯的任何 WSL 更新或預覽功能。 您可以選擇:
- Canary 頻道:
- 適合高度技術使用者。
- 在開發週期早期預覽最新的平台變更。
- 這些版本可能不穩定,且在發佈時幾乎沒有文件。
- 開發版頻道:
- 適合愛好者。
- 在我們醞釀新想法和開發前瞻功能的過程中,存取最新的 Windows 11 預覽版。
- 會有一些粗糙的邊緣和低穩定性。
- Beta 通道:
- 非常適合早期採用者。
- 在穩定的環境中預覽和提供 Windows 11 發行前版本功能的意見反應。
- 發行預覽通道:
- 若您想要預覽即將推出的修正及特定重要功能,並有機會在正式向全球推出之前存取下一個 Windows 版本,這會是理想的選擇。
- 此通道也建議用於商業使用者。
如果您不想將 Windows 安裝切換至預覽通道,您仍然可以發出 命令來測試 WSL 的最新預覽:
wsl.exe --update --pre-release
如需詳細資訊,請參閱 GitHub 上的 WSL 版本頁面。
後續步驟
接下來,讓我們探索 WSL 的基本命令。
離線安裝
若要離線安裝 WSL,您需要執行下列步驟:
- 從 GitHub 發行頁面下載並安裝最新的 WSL MSI 套件
- 以系統管理員許可權開啟 PowerShell 視窗,然後執行
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart以啟用虛擬機平台選用元件。 您可能需要重新啟動計算機,才能生效。 - 透過 .wsl 檔案安裝散發套件。 您可以在所選發行版 的DistributionInfo.json 找到下載這些檔案的 URL。