
微软宣布,Windows Subsystem for Linux 2(WSL2)将在 Windows 10 v2004 中正式发布。WSL2 于去年加入Insider Program。正式发布后,WSL2 可以通过 Windows Update 自动更新。
如之前讨论,WSL2 相比 WSL 1 是架构的变化。WSL 1 需要在 Linux 系统调用和 Windows NT 内核之间有一个转换层,WSL 2 附带了轻量级的 VM,可以运行完整的 Linux 内核。这个 VM 直接运行在 Windows 管理程序层之上。这个内核包含完整的系统调用兼容性,支持在 Linux 上运行 Docker 和 FUSE 等应用程序。通过这个新实现,Linux 内核可以完全访问 Windows 文件系统。
新版本带来了很大的性能改进,特别是在需要访问文件系统的交互方面。据微软项目经理Craig Loewan的说,根据应用程序文件密集度的不同,这可能会带来 3 到 6 倍的性能提升。他还进一步提到,解压缩 tar 文件可以使性能提高 20 倍。
微软表示,在即将发布的新版 Windows 10 即 v2004 中,将简化 WSL2 的安装和更新过程。以前,Linux 内核是作为 Windows 操作系统版本的一部分。在这个即将发布的版本中,它们将被分离出来,内核可以通过 Windows Update 更新,这与目前安装第三方驱动程序的方式类似。
WSL 团队指出,目前,迁移到更新 Linux 内核的新方法还需要一些手工工作。在更新到构建 19041.153 之后,运行任何 WSL 命令(例如 wsl --set-version2)都会出现一条一次性消息,该消息指向安装新内核的下载页面。
安装后,发行版可以通过 Powershell 从版本 1 升级到版本 2。使用命令 wsl -l -v,可以列出所有发行版,要升级特定的发行版可以用 wsl --set-version2 命令。该命令也支持降级到版本 1。
Visual Studio Code的一个扩展,支持开发人员使用 VS Code 在 WSL 环境中进行开发。Visual Studio Code Remote - WSL扩展支持 VS Code UI 在 Windows 端运行,VS Code 服务器在 WSL VM 中运行。开发人员可以直接在 WSL 中运行命令,并将挂载的文件系统视为 Linux 文件系统,减少挂载问题或其他跨操作系统难题。

VS Code Remote 扩展架构
此外,这个扩展支持在 Linux 中直接运行和调试应用程序,包括使用断点。

通过 VS Code Remote 扩展实现在 Linux 中调试应用
WSL2 Linux 内核是由微软 WSL 团队创建和维护的。它是开源的,可以在GitHub上找到。团队会处理针对这个专用库提出的问题和 Bug。WSL 团队成员会通过Twitter解答一些基本问题。
原文链接:
Windows Subsystem for Linux 2 Moving into General Availability with Improved Update Process
评论