微软官方今天宣布,Windows Subsystem for Linux (简称WSL) 作为应用程序在微软商店中普遍提供给Windows11PC用户。
WSL预览版登陆微软商店将给用户带来巨大的便利:用户可以更快地获得最新的WSL更新和功能,无需升级Windows操作系统。这一变化将这些二进制文件从Windows镜像的一部分转移到从应用商店安装程序的一部分。这使得WSL与Windows版本脱钩,用户可以通过微软商店进行更新。
微软在Windows10一周年更新中引入了名叫Windows Subsystem for Linux(WSL) 的Linux兼容层,这是一个在Windows10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu、Debian等映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。2020年的Windows10build2004升级到了WSL2。
尽管如此,在Windows上使用Linux面临两大障碍:安装WSL没有本应该做到的那么容易,安装Linux图形应用也不轻松。Windows11解决了这两大问题,比之前有了巨大的进步。
一旦目前的预览版功能最终确定下来,包括GUI应用支持、GPU计算和Linux文件系统驱动器安装等,你不需要更新整个Windows操作系统,也不需要加入 Windows Insider预览版,只需要从微软商店更新WSL应用即可。
安装和使用方法
微软在其官网发布博文,分享了在微软商店安装和使用WSL的方法。
首先要确保你拥有这些先决条件:
正在使用Windows11版本或更高版本。(Windows Build22000或更高)
启用虚拟机平台的可选组件。
你可以通过在PowerShell提示符下运行:dism.exe/online/enable-feature/featurename:VirtualMachinePlatform/all 来完成。
点击链接【https://aka.ms/wslstorepage】进入WSL商店页面,点击“安装”来安装WSL,然后你可以安装一个选择的Linux发行版【https://aka.ms/wslstore】来开始使用它。
常见问题
微软官方还对一些常见问题进行了解答。
Q:如果已经安装了WSL,还可以从微软商店安装WSL吗?
A:可以,如果用户已经安装了windows版本的WSL,同样也可以从微软商店安装WSL预览。它们可以同时安装在用户的设备上,并且用户仍然可以访问所有完全相同的WSL发行版。微软商店提供的WSL版本总是优先的,所以当它安装在设备上时,用户将优先体验这个版本的WSL。
Q:还可以使用WSL1发行版吗?
A:可以,用户也可以使用WSL1发行版,但是需要启用WSL可选组件。
Q:如何从微软商店卸载WSL并返回到Windows版本?
A:如果用户已经从微软商店安装了WSL,并且想要返回到Windows版本,可以遵循以下步骤:
在开始菜单中搜索“WSL”,右键单击应用程序并单击“卸载”,卸载商店版本。
确保WSL可选组件已打开。
完成这些步骤后,您将回到使用windows版本的WSL。
Q:WSL在Windows11中还有什么新功能?
A:随着Windows11的发布,微软想再次强调一些现在普遍可用的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而不是预先格式化的ext4VHD。
切换到使用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,则打印一个更好的错误信息。
为不存在自定义内核和不支持自定义内核添加特殊的错误代码。
更新 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