我很少用Windows,以前用Linux写代码,后来换成macOS。不过Windows在工作中总是绕不开,比如用户需要Windows版本的应用,嵌入式开发需要,还有一些奇奇怪怪的需求。每次回到Windows平台,就有一种久违的陌生感。十年前,为了让自己在Windows下舒服点,我熬了几个通宵在Windows上实现Linux下的常用命令。最近我又回到Windows平台了,然后又开始霍霍Linux环境。[捂脸]
1 在Windows下运行Linux系统:WSL
微软通过对开源的 Windows Subsystem for Linux(WSL)进行最新更新,朝着 Linux 桌面的方向又迈进了一步。
在旧金山举行的微软 Build 2026 大会上,微软推出了 WSL 容器(WSL containers),作为 “Windows 上运行 Linux” 战略下一阶段的重要组成部分。微软将其定位为一项预览功能,并计划随着时间推移逐步向更广泛的 Windows 11 用户群体开放。与此前版本一样,WSL 仍然是一个免费的系统组件,可通过现有的 WSL 分发渠道独立于 Windows 本身进行更新,而不是作为单独的产品 SKU 提供。
不过,WSL 3 与其说是对前代版本的彻底革新,不如说是一次架构层面的转向。WSL 1 依靠系统调用转换运行 Linux 二进制程序;WSL 2 转向采用轻量级托管虚拟机(VM),运行真正的 Linux 内核。WSL 3 保留了用户熟悉的 wsl Shell 使用体验。此外,你还可以在 WSL 3 运行 Linux 容器。
WSL 3 最重要的变化在于 Linux 进程与底层硬件之间的通信方式,核心目标是尽可能减少 Linux 用户空间与 Windows 设备之间的中间层。
性能提升
微软承诺,WSL 3 将实现“无需付出性能代价即可使用 GPU 和 NPU”。在 WSL 2 中,微软已经加入了 GPU 支持并改进了图形集成,但这些功能仍然通过虚拟机运行。因此,上下文切换和转换开销不可避免,当用户需要使用 GPU 和 NPU 时,仍然会遭遇性能下降。对许多开发者工作流来说,这种方案已经足够,但对 AI 工作负载而言,即使电脑配备了专用 NPU,性能仍然受到严重限制。
WSL 3 通过引入一种新的半虚拟化(paravirtualized)方案提升性能。半虚拟化既保留了虚拟机环境,又允许直接访问原生硬件。根据微软的说法:“这意味着 Linux 容器现在可以直接运行在 Windows 上,无需额外配置。” 在我看来,这是一个相当不错的方案。
WSL 3 重新设计了执行路径,通过将加速器更直接引入 Linux 环境来降低系统开销。因此,在 WSL 中运行的 AI 框架(如 PyTorch 或 TensorFlow)将获得与原生 Linux 主机更加接近的性能表现。微软将这一策略描述为:除了直接裸机运行 Linux 之外,WSL 3 是在 Windows PC 上运行基于 Linux 的 AI 工作负载最快的方式。
具体来说,在 Copilot+ PC 以及采用以下架构的计算机上,你将看到明显的性能提升:Qualcomm Snapdragon X Elite、Intel Meteor Lake 和 Lunar Lake。AMD 芯片的支持则不会在首发阶段提供。
从用户角度看,新设计依然表现得“只是 WSL 而已”。系统仍通过 wsl 命令启动,并继续与 Windows 深度集成;但在底层,新架构彻底改变了设备和加速器向 Linux 呈现的方式。
这一方案与微软更广泛的 AI PC 战略高度契合。围绕 GPU 和 NPU 构建的 Windows 硬件如今能够高速运行本地 AI 工作负载。微软希望 WSL 3 成为一座桥梁,让 Linux 为核心的 AI 技术栈能够充分利用硬件资源,无需迫使开发者离开 Windows。
当然,如果你真正追求最佳的 AI 开发体验,直接运行 Linux 发行版仍然是更好的选择。然而,如果你受限于 Windows——许多程序员确实如此,往往是因为企业过时的技术政策——WSL 3 将会是一个不错的替代方案。
与 WSL 2 一样,WSL 3 也允许用户自由选择 Linux 虚拟机发行版。目前可选项包括 Ubuntu、Debian、OpenSUSE、Kali、Alpine 等。WSL 本身已于 2025 年中实现开源,不过部分内核组件和文件系统仍然属于专有软件。
参与体验
预计微软最终会将 WSL 3 集成到标准 WSL 发行版中。届时,在新 Windows 电脑上默认执行的 “wsl” 体验就是 WSL 3。我预计这一变化将在今年秋季发布的 Windows 11 26H2 中到来。
今天已经可以从 GitHub 下载 WSL 2,但 WSL 3 尚未在那里提供。要体验最新的 WSL 功能,需要加入 Windows Insider Program,并使用预览频道。幸运的是,如今的 Insider 计划已经比过去容易使用得多。一旦你加入包含 WSL 3 预览版的频道(截至 2026 年 6 月 13 日,该版本尚未开放),WSL 更新将通过操作系统构建版本以及 WSL Store/MSI 安装包一同推送。
具体参与方式如下:
- 加入 Windows Insider Program,并在 Windows 11 设备上选择 Dev 或 Beta 频道。
- 确保使用的是 Build 2026 大会之后发布的 Insider 版本(据报道这些版本包含 WSL 3)。
- 安装 WSL(如果尚未安装)。随后以管理员身份打开 PowerShell,执行
wsl --install,并在提示时重启系统。 - 等待 Windows 下载最新的 WSL 软件包和内核;在 Insider 版本中,一旦可用,这将包含 WSL 3 预览版。
- 此后,通过
wsl --version和 wsl --list --verbose命令,你可以查看 WSL 版本以及发行版状态。新的架构仍然运行在相同的 Linux Bash Shell 之下。
如果你不想把整个操作系统切换到预览频道(这完全可以理解),微软还提供了通过独立安装包和预发布标志获取最新 WSL 测试版本的方法:
- 如有需要,以管理员身份打开 PowerShell,执行
wsl --install并重启系统。 - 以管理员身份运行
wsl --update --pre-release,将 WSL 更新到最新预发布版本。 - 还可以选择直接从 Microsoft/WSL GitHub Releases 页面下载最新的 WSL MSI 安装包,以确保使用的是最新软件包。
因此,如果你希望从事 AI 编程工作,而你的公司又不允许使用原生 Linux 桌面,或者你本身就是 Windows 的坚定拥护者,我认为 WSL 3 值得一试。另一种选择则是同时安装 Windows 和 Linux,采用双系统启动。
关键结论是:微软正在加倍投入 WSL,并将其视为 Windows 开发生态中的核心组成部分,而不再只是一个小众工具。WSL 3 对性能的关注以及与硬件加速器更紧密的集成表明:如果你正在构建或运行基于 Linux 的 AI、容器化或开发工作负载,微软希望你能够舒适地在 Windows 上完成这些工作,这正是 WSL 3 所瞄准的目标用户群体。
2 在终端运行Linux命令:Coreutils
Windows 版 Coreutils是由微软维护的一套 UNIX 命令行工具集,可在 Windows 上原生运行。这些工具与 Linux、macOS 和 WSL 中使用的命令和管道机制保持一致。它以单一的多调用(multi-call)二进制程序形式发布,并通过标准名称提供各项工具(如 cat.exe、grep.exe、find.exe等),让开发者能够在 Windows 上直接使用其他平台早已熟悉的工具编写脚本、实现自动化任务以及处理文本。
该项目的目标是消除开发者在 Linux、macOS、WSL、容器环境和 Windows 之间切换的障碍。相同的命令、参数和管道用法能够保持一致,因此现有脚本和使用习惯无需额外转换即可直接沿用。每个命令支持标准的 --help参数,用于查看完整的语法说明和可用选项。
安装
用以下命令安装
winget install Microsoft.Coreutils
或从以下链接下载
https://github.com/microsoft/coreutils/releases
工作原理
这些工具基于 Rust语言实现,构建于 uutils/coreutils项目之上。该项目是 GNU Coreutils的跨平台重实现版本,目前已被许多现代 Linux 发行版采用。
微软维护了一个面向 Windows 的版本,将 coreutils、findutils(包括 find和 xargs)以及兼容 GNU 的 grep打包为一个统一的软件包。此外,该版本还集成移植了 DOS 原版的 sort和 find命令,因此依赖 “/参数” 语法的现有 CMD 脚本仍可继续运行,同时也能与 UNIX 风格的命令版本并存使用。
3 命令行文本编辑器:Vim
没有Vim的终端是不完整的。Linux有,macOS有,Windows也跟上来了。
安装
如果终端找不到vim,可能是环境变量没设置好,把vim路径加到PATH,比如我的路径是
C:\Program Files\Vim\vim92
还想要什么心仪的命令?用winget搜搜吧。既然命中注定摆脱不了Windows,还是想想如何让自己过得好点。
参考
https://www.zdnet.com/article/windows-subsystem-for-linux-3-for-developers-sticking-with-microsoft/
https://learn.microsoft.com/en-us/windows/core-utils/overview
https://winget.run/pkg/vim/vim
https://learn.microsoft.com/en-us/windows/package-manager/