适用于 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)、启动已安装的 Linux 发行版、挂载文件共享访问等的 WSL 服务:
wslservice.exe
Linux init 和守护进程,以及在 Linux 中运行的二进制文件用于提供 WSL 功能:
init
用于启动,gns
用于网络连接,localhost
用于端口转发等。使用 WSL 的计划 9 服务器实现将 Linux 文件共享到 Windows:
plan9
详细了解 WSL 开源文档站点中的每个组件: wsl.dev。
这些其他开源组件支持 WSL 源代码:
- microsoft/wslg:启用适用于 Linux 的 Windows 子系统以包括对 Wayland 和 X 服务器相关方案的支持:图形用户界面(GUI)通过 UI(而不仅仅是命令行)运行 Linux 应用。
- microsoft/WSL2-Linux-Kernel:Windows Subsystem for Linux 2(WSL2)中使用的 Linux 内核的源:WSL2 Linux 内核。
以下组件仍然是 Windows 映像的一部分,目前不开放源代码:
-
Lxcore.sys
:支持 WSL 1 的内核端驱动程序 -
P9rdr.sys
和p9np.dll
:运行\\wsl.localhost
文件系统重定向的组件(从 Windows 到 Linux)
有关开放源代码 WSL 背后的历史和社区的详细信息,请参阅来自 Microsoft 内部版本 2025 的博客公告: 适用于 Linux 的 Windows 子系统现在由皮埃尔·布莱(Pierre Boulay)开放源代码
请访问 GitHub 上的 WSL 存储库,参与贡献:[github.com/WSL]](https://github.com/microsoft/WSL/)。