適用於Linux的 Windows 子系統 (WSL) 現在是開放原始碼。
支援 WSL 的程式代碼可在 GitHub 上取得:microsoft/WSL 版本。
瞭解這是什麼意思、如何下載 WSL、從原始程式碼建置,以及 WSL 元件的概觀等等。
元件概觀
WSL 是由一組分發組件所組成。 有些是在 Windows 中執行,有些是在 WSL 2 虛擬機內執行。
WSL 的程式代碼可以分成下列主要區域:
命令列可執行檔案,這些可執行檔是與 WSL 互動的進入點:
wsl.exe、wslconfig.exe和wslg.exe。 這些是從C:\\Windows\System32\wsl.exe>CreateProcess()執行的進程。啟動 WSL 虛擬機器 (VM) 的 WSL 服務會啟動已安裝的 Linux 發行版、掛接檔案共用等等:
wslservice.exe。Linux init 和精靈進程、在 Linux 中執行的二進位檔,以提供 WSL 功能:
init用於啟動、gns用於網路、localhost用於埠轉送等。使用 WSL 的 Plan9 伺服器實現將 Linux 檔案共用至 Windows:
plan9。
在 WSL 開放原始碼文件網站深入瞭解每個元件: wsl.dev。
這些額外的開放原始碼元件支援 WSL 原始碼:
- microsoft/wslg:啟用適用於 Linux 的 Windows 子系統,以增加對 Wayland 和 X 服務相關案例的支援:使用圖形使用者介面(GUI)來執行具有 UI 的 Linux 應用程式,而不僅限於命令列。
- microsoft/WSL2-Linux-Kernel:Windows 子系統 Linux 2 (WSL2)中使用的 Linux 核心來源:WSL2 Linux 核心。
下列元件仍然是 Windows 映射的一部分,目前並未開放原始碼:
-
Lxcore.sys:支援 WSL 1 的核心端驅動程式 -
P9rdr.sys與p9np.dll:執行檔案系統重新導向的\\wsl.localhost元件(從 Windows 到 Linux)
如需開放原始碼 WSL 背後的歷史和社群的詳細資訊,請參閱來自 Microsoft Build 2025 的部落格公告: Windows 子系統 Linux 現在由皮埃爾·布萊開放原始碼
請造訪 GitHub 上的 WSL 存放庫以參與: microsoft/WSL。