最近,微软宣布开源适用于Linux的Windows子系统——WSL。WSL(Windows Subsystem for Linux)是微软在2016年发布的一项重磅功能,可在Windows操作系统上运行Linux环境,而无需单独的虚拟机或双引导。此外,还能快速安装各种Linux版本软件。
目前WSL系统已经支持包括DeepSeek在内的一些热门大模型。
WSL最早在2016年的微软BUILD大会上宣布,并首次随Windows10周年更新版推出。当时,WSL基于一个pico进程提供程序lxcore.sys,能使Windows能够原生运行ELF可执行文件,并在Windows内核中实现Linux系统调用。
在Build 2025”大会的开幕式上,微软首席执行官Satya Nadella重磅介绍了WSL开源的消息。他表示,尽管最初WSL与Windows镜像紧密耦合,但经过多次改进,现在已变得更加独立。因此,决定重新开放最初的请求,WSL完全开源。
为了实现开源,微软对WSL进行了多年的重构工作,使其从Windows核心中解耦,成为一个独立的应用程序。这一转变不仅满足了开发者社区长期以来的请求,也使得WSL能够更快地响应社区的功能需求和改进建议。在最新的Windows 11 24H2更新中,WSL已完全作为独立包发布,而不再是操作系统内置组件的一部分。
WSL介绍:
1、wsl.exe
wsl.exe是WSL的核心命令行工具,用于启动和管理Linux发行版,执行Linux命令,以及在Windows和Linux系统之间进行切换。
2、wslconfig.exe
wslconfig.exe用于配置WSL的全局设置,例如,管理已安装的Linux发行版、设置默认发行版等。此外,wslg.exe主要用于支持图形界面应用程序的运行,帮助WSL在Windows环境下更好地显示Linux图形界面。
3、WSL服务
WSL服务是WSL的架构中的一个核心组件,具体的服务程序是wslservice.exe。它在后台运行,负责初始化WSL2的虚拟机环境,为运行Linux发行版提供基础支持。它还管理用户安装的各个Linux发行版的启动过程,确保它们能够在WSL环境中正常运行。
此外,WSL服务还负责实现Windows文件系统与Linux文件系统之间的挂载和共享,方便用户在两个系统之间访问和操作文件。在Linux环境中运行的二进制文件为WSL提供了核心功能支持;gns用于网络相关功能的实现,例如配置网络接口、管理网络连接等,确保Linux系统在WSL环境中能够正常访问网络。localhost则用于端口转发功能,允许Linux系统中的应用程序通过特定端口与Windows系统进行通信,或者与外部网络进行交互。这些守护进程在Linux发行版启动时自动运行,为用户提供透明的网络和系统管理功能。
WSL还提供了一种机制,允许用户在Windows和Linux系统之间无缝共享文件,这是通过WSL的plan9服务器实现的。plan9是一个文件系统协议的实现,允许Linux系统访问Windows文件系统中的文件,反之亦然。用户可以在Linux环境中直接访问Windows的文件夹和文件,也可以在Windows环境中访问Linux文件系统中的内容。这种文件共享机制极大地提高了用户在跨平台开发和使用场景中的便利性,使得用户无需在两个系统之间手动复制文件,从而提高了工作效率。