- WSL2 將真正的 Linux 發行版整合到 Windows 中,具有完整的核心和完整的系統呼叫支援。
- 使用 wsl --install 可以簡化安裝過程,它會啟用元件、安裝核心並預設配置 Ubuntu。
- WSL2、Windows Terminal 和 VS Code 的組合可以創造一個幾乎與生產環境完全相同的開發環境。
- WSL2 大幅改進了 Docker、資料庫和 Linux 工具的使用,同時保持了 Windows 桌面的便利性。
如果你在 Windows 系統下編程,但部署到 Linux 伺服器上,你可能不只一次遇到環境差異、生產環境下無法正常運作的函式庫,或是 Docker 運作不穩定等問題。 WSL 的創建正是為了避免這些噩夢,而且… 世界超級聯賽2 微軟終於說到重點了: 一個接近原生 Linux 的系統,整合到 Windows 系統中。 而且無需搭建龐大的虛擬機器。
這已成為數千名開發者的首選方案,因為它允許你在 Windows 10 或 11 中打開 Ubuntu、Debian 或 Kali 終端,運行命令、Docker、資料庫或命令列工具,就像在 Linux 伺服器上一樣,但又無需放棄 Windows 應用程式和遊戲。讓我們來看看它的工作原理、安裝方法、與 WSL1 的區別,以及如何在日常工作中充分利用它。
什麼是 WSL?它為何能改變 Windows 開發人員的生活?
WSL 是的首字母縮寫 Linux的Windows子系統此子系統可讓您在 Windows 系統中執行 GNU/Linux 發行版,而無需傳統的虛擬機器或雙重啟動。您可以安裝 Ubuntu、Debian、Kali、openSUSE、Arch(使用 appx 檔案)或其他發行版,並直接從 Windows 桌面使用它們的控制台工具。
與 WSL1 不同, 世界超級聯賽2 它使用真正的 Linux 內核 它運行在由 Windows(Hyper-V 和虛擬機器平台)管理的輕量級虛擬機器中,並完全支援 ELF64 系統呼叫。 WSL1 是一個系統轉換層,在某些任務上速度很快,但在相容性方面存在嚴重限制,尤其是在與 Docker 等工具的兼容性方面。
對於 Web 開發人員、後端開發人員、DevOps 開發人員或資料專家來說,這意味著您可以 在與生產環境幾乎完全相同的環境中工作 (大多數情況下是 Linux),使用相同的庫、資料庫管理器、佇列、訊息伺服器等等,而無需放棄 Windows。 「在我機器上運作正常」這種老生常談已成為過去,因為您可以在 Windows 上進行開發,然後部署到完全不同的 Linux 發行版上。
WSL2 並非功能齊全的 Linux 圖形桌面環境。 與 GNOME 或 KDE 虛擬機器類似,WSL2 的主要介面是終端。不過,現在你也可以在 WSL2 上運行 Linux 圖形介面應用程序,甚至可以利用 GPU 加速來處理機器學習或高級圖形等工作負載。如果你需要遠端存取應用程序,可以進行相應的配置。 Windows 上的 Chrome 遠端桌面.
Windows 與 Linux:經典的開發環境問題
Windows 仍然是桌上型電腦上安裝量最大的作業系統。雖然大多數生產應用程式部署都是在 Linux 上完成的,但這種雙重性一直給在 Windows 上工作但在 Linux 伺服器上維護或部署應用程式的開發人員造成了衝突。
macOS 用戶歷來遇到的摩擦較少。 因為 macOS 擁有類似 Unix 的基礎架構,許多工具的使用方式也與 Linux 類似。這正是多年前眾多開發者遷移到 Mac 的原因之一:他們需要一個好用的終端機和更接近生產環境的介面。
重大轉折點出現在… 碼頭工人容器技術已成為開發和部署的必備工具,但在 Windows 系統上,由於相容層效率低下,容器的效能和使用者體驗都相當糟糕。 WSL2 解決了其中許多問題,提供了一個 Docker 運作更加流暢的環境。
WSL1 與 WSL2:差異以及為何您應該使用版本 2
WSL 主要有兩個版本: WSL1 和 WSL2雖然兩者都允許你在 Windows 上運行 Linux,但它們的架構已經發生了很大的變化,這在效能和相容性方面是很明顯的。
- WSL1 轉換 Linux 系統調用 它與 Windows 核心整合。這帶來了極快的啟動速度和良好的文件集成,但與某些應用程式的兼容性有限,尤其是一些需要真正 Linux 核心的應用程序,例如某些資料庫引擎或以全速運行的 Docker。
- WSL2 使用具有完整 Linux 核心的輕量級虛擬機器。由 Windows 管理。它提供與系統呼叫的完全相容性,提高了檔案系統效能(尤其是在 Linux 檔案系統本身上),並啟用了 WSL2 上的原生 Docker 和直接核心存取等高級功能。
- 兩個版本有一些共同的特點它的優勢包括與 Windows 系統整合、啟動速度快、相容於 VMware 或 VirtualBox 等虛擬化工具(最新版本)以及支援多種 Linux 發行版。然而,只有 WSL2 擁有完整的 Linux 核心和全面的系統呼叫支援。
上述所有的, 目前建議的方案是使用 WSL2。除非你有非常具體的理由繼續使用 WSL1。例如,Docker Desktop 的設計初衷就是與 WSL2 集成,而且許多現代指南和工具都已將此版本視為標準。

在 Windows 10 和 Windows 11 上安裝 WSL2 的要求
要使用 WSL2,您需要較新版本的 Windows 系統。一般來說,您必須滿足以下條件:
- Windows 10 版本 2004 或更高版本(內部版本 19041+) 使用簡化命令
wsl --install. - 具體來說,對於 WSL2 而言, Windows 10 版本 1903,內部版本 18362 或更高版本或 Windows 11。
- 64位架構WSL2 不適用於 32 位元 Windows 10。
另外, 您必須確保在 BIOS 中啟用虛擬化功能。 你的團隊。如果不是,你可能會遇到以下錯誤: 0x80370102這些訊息通常表示硬體虛擬化未啟動。進入 BIOS/UEFI,找到與 CPU 或「虛擬化技術」相關的選項,並啟用它。
使用指令 wsl –install 從頭開始安裝 WSL2
在最新版本的 Windows 10 和 Windows 11 中,安裝過程已大大簡化:只需一條命令並重新啟動即可。
1.以管理員身分開啟 PowerShell在“開始”功能表中搜尋“PowerShell”,右鍵單擊,然後選擇“以管理員身份執行”。如果出現使用者帳號控制 (UAC) 提示,請接受。
2. 運行完整的安裝命令:
命令: wsl --install
這條命令會處理多個內部步驟,您無需進行任何其他操作:
- 啟動必要的可選組件: Windows Linux子系統 y 虛擬機器平台.
- 下載並安裝 最新 Linux 內核 適用於 WSL。
- 提供配置 預設版本為 WSL2.
- 下載並安裝預設的 Linux 發行版(通常為 Ubuntu).
3. 當 Windows 提示您重新啟動電腦時,請重新啟動電腦。這是新啟用的功能正常運作的必要條件。
4. 在 Linux 發行版首次啟動時 (除非另有指定,否則預設是 Ubuntu 系統)會開啟一個控制台窗口,其中會顯示解壓縮後的檔案。首次啟動可能需要一些時間;後續啟動通常幾乎是瞬間完成。
在 WSL 中選擇並變更 Linux 發行版
- 預設情況下,該命令
wsl --install通常安裝Ubuntu 預設發行版為[此處應填入發行版名稱]。不過,您可以在安裝過程中或安裝後選擇不同的發行版。 - 若要查看線上可用的分發清單。開啟 PowerShell 並輸入:
- 列表:
wsl.exe --list --online - 從控制台安裝特定發行版,使用選項
-d請註明您的姓名: - 安裝發行版:
wsl.exe --install -d NombreDeLaDistro - 如果你想更改預設發行版 (只需運行即可打開的那個)
wsl您可以這樣做: - 預設:
wsl.exe --set-default NombreDeLaDistro - 如果您只想一次性發布某個特定的發行版 在不更改預設設定的情況下,使用:
- 準時發布:
wsl.exe --distribution NombreDeLaDistro
除了 Microsoft Store 發行之外, 可從 TAR 檔案匯入自訂發行版或安裝軟體套件。 .appx 在某些情況下例如 Arch Linux。您甚至可以建立自己的自訂 WSL 鏡像,以實現公司內部環境的標準化。

在 WSL 中設定您的 Linux 使用者名稱和密碼
首次開啟安裝了 WSL 的 Linux 發行版時系統將提示您建立 UNIX 使用者名稱和密碼。此帳戶將成為該發行版的預設使用者。
請注意以下關於該用戶的重要資訊:
- 它與您的 Windows 使用者帳戶無關。您可以(而且建議)使用不同的名稱。
- 輸入密碼時,螢幕上不會顯示任何內容。 (不含星號)。這被稱為“盲注”,在Linux系統中完全正常。
- 該用戶被視為該發行版的管理員 並且可以使用
sudo以提升的權限執行命令。 - 每個發行版都有自己的一組使用者。 以及密碼;如果您新增新的發行版,則必須重新建立帳戶。
如果你想 更改密碼 接下來,打開發行版並運行: 更改密碼: passwd
如果您忘記了發行版的使用者密碼 但如果您在 Windows 系統中仍擁有管理員權限,則可以依照下列步驟重新取得控制權:
- 以管理員身分開啟命令提示字元或 PowerShell。 並以 root 使用者身分登入預設發行版:
wsl -u root
針對特定發行版:
wsl -d NombreDistro -u root - 在根終端機中, 跑:
passwd nombre_usuario並設定新密碼。 - 退出 WSL 同
exit然後使用恢復的用戶帳戶正常登入。
在 Windows 上啟動和使用 Linux 發行版的方法
一旦你安裝了多個發行版您可以根據當時最方便的方式,選擇不同的開啟方式。
- Windows 終端機(建議)。 Windows Terminal 是微軟的現代化終端模擬器。每次在 WSL 中安裝新的 Linux 發行版時,Windows Terminal 中都會出現一個新的設定文件,您可以對其進行自訂(圖示、配色方案、啟動命令等)。它是同時使用多個命令列最便捷的方式。
- 從開始菜單。 您可以輸入發行版的名稱(例如「Ubuntu」、「Debian」、「Kali Linux」…)。點擊後,它將直接在單獨的控制台視窗中開啟該發行版。
- 透過 PowerShell 或 CMD。 您可以直接輸入發行版的名稱(例如,
ubuntu或使用通用命令:
wsl進入預設發行版,或者
wsl -d NombreDistro輸入一個特定的值。 - 從 Windows 系統執行特定的 Linux 命令。 使用語法:
wsl
例如:wsl ls -la,wsl pwd,wsl date等等。這樣就可以在同一個管線中混合使用 Windows 和 Linux 指令。

Windows Terminal:WSL2 的完美搭檔
為了充分利用 WSL2,值得安裝它。 Windows終端 從微軟商店下載。它比傳統的命令提示字元甚至預設的 PowerShell 視窗都更方便強大。
Windows 終端允許 為每個發行版建立設定文件定義預設開啟的終端(PowerShell、CMD、Ubuntu 等),使用標籤頁、分割畫面面板、不同的顏色主題、自訂字體、背景圖像和進階鍵盤快速鍵。
對於許多Windows開發者來說Windows Terminal + WSL2 的組合能夠最接近原生 Linux 系統或具有高級終端的 macOS 的工作體驗,而無需離開您常用的 Windows 環境。
建置開發環境:VS Code、Visual Studio、Git 與資料庫
WSL2啟動並運作後,下一步合乎邏輯的步驟是: 整合你最喜歡的編輯器或整合開發環境 在這種環境下,微軟投入了大量精力,讓 Visual Studio Code 和 Visual Studio 能夠與 WSL 完美相容。
VS代碼
理想情況下,你應該安裝 遠端開發包此擴充功能可讓您像開啟本機專案一樣開啟位於 WSL 中的資料夾,但實際上是在發行版內執行 VS Code 伺服器。只需輸入:
code .
在 WSL 終端機中,在你的專案資料夾中,VS Code 將開啟該「遠端」路徑及其整個生態系統:擴充、偵錯、整合終端機等,但實際上是在 Linux 上運行。
視覺工作室
它允許您將 WSL 配置為使用 CMake 的 C++ 專案的目標環境。您可以在 Windows、WSL 或遠端電腦上進行編譯和偵錯,並可直接在 IDE 中切換目標環境。
關於版本控制,在 WSL 中使用 Git 非常簡單,只需使用發行版的套件管理器安裝即可(例如, sudo apt install git (在 Ubuntu 系統上)配置憑證、排除檔案、行尾符等。您也可以使用 Windows 憑證管理員來整合身份驗證。
在 WSL 中設定資料庫 在 WSL2 上執行 MySQL、PostgreSQL、MongoDB、Redis、SQL Server、SQLite 等服務與在任何 Linux 伺服器上執行這些服務非常相似。您可以在發行版中啟動這些服務,也可以在 WSL2 上使用 Docker 容器,然後根據需要從 Windows 或 WSL 本身連接您的應用程式。
管理外部磁碟機、圖形使用者介面和發行版備份
WSL2 也允許 掛載外部磁碟或 USB 驅動器 直接在 Linux 環境中操作。有關使用以下命令掛載磁碟的具體文件請參閱相關文件。 wsl --mount這樣,在使用其他單位的數據時,你就擁有了很大的彈性。
如果你想 運行 Linux 圖形應用程式 由於微軟對圖形使用者介面 (GUI) 應用程式的支持,現在可以在 WSL2 中使用 GUI。這意味著您可以開啟圖形編輯器、設計工具或輕量級桌面環境,而無需啟動傳統的虛擬機器。
要做到 將備份或整個發行版遷移到另一台計算機WSL包含兩個非常有用的指令:
- 匯出發行版:
wsl --export NombreDistro backup-wsl.tar
這將產生一個包含其整個檔案系統的 TAR 檔案。 - 導入發行版:
wsl --import NombreDistro C:\ruta\destino backup-wsl.tar --version 2
這會將該發行版及其所有內容恢復到另一個路徑,如果您願意,也可以確保它使用 WSL2。
這種匯出/匯入機制對於複製開發環境、與同事共用或在進行重大變更之前維護安全備份非常方便。
WSL2 已成為主要的開發環境。 對於許多不想放棄在 Windows 系統上玩遊戲、使用特定軟體或改變工作流程,但又需要一個真正的 Linux 環境進行程式設計的 Windows 用戶來說,嘗試 WSL2 可能會徹底改變你的工作方式。
專門研究技術和互聯網問題的編輯,在不同數位媒體領域擁有十多年的經驗。我曾在電子商務、通訊、線上行銷和廣告公司擔任編輯和內容創作者。我還在經濟、金融和其他領域的網站上撰寫過文章。我的工作也是我的熱情所在。現在,透過我的文章 Tecnobits,我嘗試探索科技世界每天為我們提供的所有新聞和新機會,以改善我們的生活。
