> 技术文档 > 微软 WSL 开源:跨平台开发的新纪元

微软 WSL 开源:跨平台开发的新纪元

在科技不断发展的今天,开源已经成为推动技术进步的重要力量。2025 年 5 月 19 日,微软宣布了一个让开发者群体振奋的消息 ——Windows Subsystem for Linux(WSL)正式开源!这一举措不仅是对开发者社区热切期盼的有力回应,更标志着 WSL 迈入了一个全新的发展阶段,为 Windows 与 Linux 系统的深度融合开辟了广阔的前景。

WSL 开源:意义非凡的跨越

(一)开源的背景与价值

WSL 自 2016 年首次宣布并在 Windows 10 周年更新中推出以来,就一直备受瞩目。最初基于 pico 进程提供者 lxcore.sys 的 WSL 1,实现了 Windows 原生运行 ELF 可执行文件并在 Windows 内核中实现 Linux 系统调用,为 Windows 用户接触和使用 Linux 环境打开了一扇大门。

随着对原生 Linux 兼容性需求的增长,2019 年诞生了 WSL 2,它借助 Linux 内核本身来提供更优的兼容性。如今,经过多年的积累与打磨,WSL 的开源成为了水到渠成之事。

此次开源意味着 WSL 的核心代码在 GitHub 上的 Microsoft/WSL 仓库向全球开发者开放。开发者们不仅可以下载 WSL 并从源代码构建,还能直接参与 WSL 的开发,为其添加新功能、修复问题,推动 WSL 的持续进化。

(二)社区力量的推动

WSL 能够发展到今天这一步,离不开其背后强大的社区支持。多年来,无数开发者不遗余力地分享知识、投入大量时间帮助追踪漏洞、探索新功能的最佳实现方式并致力于改进 WSL。即便在没有源代码的情况下,社区依然贡献卓著。而如今的开源,将为社区赋能,激发更强大的创造力,让 WSL 在社区的积极参与下释放出更巨大的潜力。

深入剖析 WSL 架构与组件

(一)架构概览

WSL 由一系列分发组件构成,这些组件有的在 Windows 环境中运行,有的则在 WSL 2 虚拟机内部运作。其设计精巧,各组件协同工作,使得 Windows 与 Linux 系统能够无缝交互。

(二)关键组件详解

  • 命令行可执行文件 :这是用户与 WSL 交互的入口,包括 wsl.exe、wslconfig.exe 和 wslg.exe。通过这些文件,用户可以方便地启动、配置和管理 WSL 环境,执行各种 Linux 命令和操作。

  • WSL 服务(wslservice.exe) :承担着启动 WSL 虚拟机、初始化 Linux 发行版、挂载文件系统共享等诸多关键任务,是 WSL 系统得以正常运行的核心后台服务。

  • Linux 进程(init、gns、localhost 等) :在 Linux 环境中运行,为 WSL 提供了诸如启动初始化、网络管理、端口转发等一系列关键功能,让 WSL 能够在 Windows 上模拟出一个完整且功能强大的 Linux 系统运行环境。

  • 文件共享组件(plan9) :基于 plan9 协议实现的文件共享服务,使得 Linux 文件能够便捷地共享到 Windows 环境中。

目前,像 WSL 2 Linux 内核(microsoft/WSL2-Linux-Kernel)和 wslg(用于支持 Wayland 和 X 服务器相关场景的 microsoft/wslg)等部分组件早已开源。不过,像为 WSL 1 提供动力的内核侧驱动程序 Lxcore.sys 以及负责 “\\wsl.localhost” 文件系统重定向的 P9rdr.sys 和 p9np.dll 等仍属于 Windows 镜像的一部分,尚未开源。

WSL 的发展历程回顾

(一)从 WSL 1 到 WSL 2 的蜕变

  • WSL 1 时期 :2016 年面世的 WSL 1 基于 lxcore.sys,实现了 Windows 原生运行 ELF 可执行文件并在 Windows 内核中实施 Linux 系统调用,为 Windows 用户接触 Linux 生态提供了初步的通道,但兼容性存在一定局限。

  • WSL 2 诞生 :2019 年,为了追求更优的 Linux 兼容性,WSL 2 应运而生。它通过轻量级虚拟化技术,直接运行一个完整的 Linux 内核,大幅提升了对 Linux 系统特性和工具的兼容性。

(二)功能迭代与独立发展

  • 功能拓展 :随着时间推移,WSL 不断引入新功能,如 GPU 支持、图形化应用程序支持(借助 wslg)以及对 systemd 的支持等。

  • 独立于 Windows 发展 :2021 年,微软将 WSL 从 Windows 代码库中分离出来,形成了独立的 WSL 代码库。这一举措使得 WSL 能够脱离 Windows 的更新周期,以更快的速度进行迭代和发布。

(三)用户过渡与普及

Windows 11 24H2 版本开始引导用户从内置的旧版 WSL 向新的 WSL 包过渡。微软保留了 Windows 镜像中的 wsl.exe,以便用户能够便捷地按需下载最新版本的 WSL 包,降低用户过渡到新 WSL 的门槛,加速了新 WSL 在用户群体中的普及。

参与 WSL 开源项目:共建美好未来

对于广大开发者而言,WSL 开源无疑是一个绝佳的机会。你可以访问 microsoft/WSL 仓库,开启你的贡献之旅。你可以从阅读代码入手,熟悉 WSL 的各个模块和组件;也可以通过提交问题报告,指出你在使用过程中发现的 bug 或不足;更有甚者,你可以直接贡献代码,实现新功能、优化现有功能或修复已知问题,让你的智慧结晶融入到 WSL 这个项目中。

WSL 开源是微软在技术开放与协作领域迈出的关键一步。它将 WSL 置于全球开发者社区的聚光灯下,借助社区的力量,势必推动 WSL 在功能、性能和用户体验等多方面实现质的飞跃。对于 Windows 用户而言,一个更加成熟、完善且充满活力的 WSL 环境即将到来,它将进一步消除 Windows 与 Linux 系统之间的隔阂,为开发者创造更为自由、高效的跨平台开发环境,让我们共同期待 WSL 开源后带来的更多精彩变革!

科技脉搏,每日跳动。

与敖行客 Allthinker一起,创造属于开发者的多彩世界。

图片

- 智慧链接 思想协作 -