整理 | 祝涛
出品 | CSDN(ID:CSDNnews)
微软官方今天宣布,Windows Subsystem for Linux (简称WSL) 作为应用程序在微软商店中普遍提供给 Windows 11 PC。
WSL 预览版登陆微软商店将给用户带来巨大的便利:用户可以更快地获得最新的 WSL 更新和功能,而不需要升级 Windows 操作系统。这一变化将这些二进制文件从 Windows 镜像的一部分转移到从应用商店安装程序的一部分。这使得 WSL 与 Windows 版本脱钩,用户可以通过微软商店进行更新。
微软在Windows 10 一周年更新中引入了名叫 Windows Subsystem for Linux(WSL) 的 Linux 兼容层,这是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu、Debian等映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。2020 年的Windows 10 build 2004升级到了 WSL2。
尽管如此,在 Windows 上使用 Linux 面临两大障碍:安装 WSL 没有本应该做到的那么容易,安装 Linux 图形应用也不轻松。Windows 11 解决了这两大问题,比之前有了巨大的进步。
一旦目前的预览版功能最终确定下来,包括 GUI 应用支持、GPU 计算和 Linux 文件系统驱动器安装等,你不需要更新整个 Windows 操作系统,也不需要加入 Windows Insider 预览版,只需要从微软商店更新 WSL 应用即可。
安装和使用方法
微软在其官网发布博文,分享了在微软商店安装和使用 WSL的方法。
首先要确保你拥有这些先决条件:
- 正在使用 Windows 11 版本或更高版本。(Windows Build 22000 或更高)
- 启用虚拟机平台的可选组件。
- 你可以通过在PowerShell提示符下运行:
dism.exe/online/enable-feature/featurename:VirtualMachinePlatform/all
来完成。 - 点击这个链接进入 WSL 商店页面,点击“安装”来安装WSL,然后你可以安装一个选择的Linux发行版来开始使用它。
常见问题
微软官方还对一些常见问题进行了解答。
Q:如果已经安装了WSL,还可以从微软商店安装WSL吗?
A:可以,如果用户已经安装了windows版本的WSL,同样也可以从微软商店安装WSL预览。它们可以同时安装在用户的设备上,并且用户仍然可以访问所有完全相同的WSL发行版。微软商店提供的WSL版本总是优先的,所以当它安装在设备上时,用户将优先体验这个版本的WSL。
Q:还可以使用WSL 1发行版吗?
A:可以,用户也可以使用WSL 1发行版,但是需要启用WSL可选组件。
Q:如何从微软商店卸载WSL并返回到Windows版本?
A:如果用户已经从微软商店安装了WSL,并且想要返回到Windows版本,可以遵循以下步骤:
- 在开始菜单中搜索“WSL”,右键单击应用程序并单击“卸载”,卸载商店版本。
- 确保WSL可选组件已打开。
- 完成这些步骤后,您将回到使用windows版本的WSL。
Q:WSL在Windows 11中还有什么新功能?
A:随着Windows 11的发布,微软想再次强调一些现在普遍可用的WSL新特性:
- WSLg(支持WSL的GUI应用程序)现已捆绑为WSL应用程序的一部分。
- Linux二进制文件现在可以通过Windows GPU用于人工智能和机器学习开发场景等。
- 可以将Linux文件系统格式化的硬盘装入WSL。
- 安装微软提供的WSL预览版,以便从Microsoft Store获得更快的更新。
其他发布说明
下面是微软商店 WSL 发布的其他说明:
- WSLg 现在作为 WSL 应用程序的一部分被捆绑在一起。
- 更新 Microsoft.WSLg 到 1.0.29 版本。
- 为 WSLg 切换到 msrdc.exe。
- 为 ARM64 启用 virtio 以启用 WSLg 共享内存。
- 允许 WSLG 使用的环境变量被 WSLENV 覆盖。
- 新的 wsl.exe -mount 功能。
- 增加 mount --vhd,使挂载 VHD 文件更容易。
- 为 wsl.exe --mount 实现文件系统检测。如果在使用 wsl.exe -mount时没有指定–type,这一改变实现了文件系统类型检测。
- 为 wsl.exe --mount 增加 -name 功能。这项修改增加对通过 WSL 挂载磁盘时可选择命名挂载点的支持。
- 更新 Linux 内核到 5.10.60.1。
- 启用额外的 USB 内核配置选项,以便通过 USB 与 Arduino 进行交互。
- 更新到上游稳定内核版本 5.10.60。
- 启用 virtio-pmem,支持 PCI BAR 相关地址。
- 在 Hyper-V 下启用 ARM64 的 vPCI 支持。
- 启用 io_uring 支持。
- 启用 USB over IP 支持。
- 启用 x86_64 的准虚拟化自旋锁支持。
- 刷新 dxgkrnl 驱动程序,以获得错误 Bug 修复和代码清理。
- 启用对 NFSv4.1 的 NFS 客户端支持,改进 9p 或 fstab 挂载失败时的错误信息。
- 修复 ARM64 上的 \wsl$\ 和 \wsl.localhost\ 问题。
- 切换到 mkfs.ext4 而不是预先格式化的 ext4 VHD。
- 切换到使用 mkswap 和 swapon 而不是自定义交换文件逻辑。
- 添加逻辑,动态更新 NAT 网络的 MTU。
- 修复/etc/wsl.conf generateResolvConf 不能按预期工作的问题。
- 增加了进度指示器辅助功能,用于在转换过程中显示带有动画圆点的请等待信息,向用户显示 WSL 仍在运行。
- 切换 wslhost.exe 为 win32 应用程序。
- 切换 wsl.exe --install 不需要-distribution 参数,但保留了对它的支持,以避免破坏现有的脚本。
- 添加 wsl.exe --version 命令
- 在 wsl.exe --status 和 wsl.exe --version 中增加了 Windows 版本。
- 清理 wsl.exe 的无效参数处理,使语法错误更容易自我诊断。
- 如果应用程序是通过 tile 启动的,在关闭控制台窗口前提示用户进行输入。
- 为 wslg.exe 添加错误信息对话框。
- 简化不支持的命令行参数的打印。
- 如果用户在已经安装了 WSL 的情况下运行 wsl.exe -install,则打印一个更好的错误信息。
- 为不存在自定义内核和不支持自定义内核(ARM64)添加特殊的错误代码。
- 更新 wsl.exe --update,以便与已解除的软件包一起工作–这将启动商店页面。
- 改进了 localhost relay 稳定性和性能。
- 额外的性能和稳定性改进。
参考链接:
- https://devblogs.microsoft.com/commandline/a-preview-of-wsl-in-the-microsoft-store-is-now-available/#how-to-install-and-use-wsl-in-the-microsoft-store
- https://docs.microsoft.com/zh-cn/windows/wsl/store-release-notes