我如何找到我的 WSL“发布”号码(不是版本、不是构建、不是内核、不是 Linux 版本)?

我如何找到我的 WSL“发布”号码(不是版本、不是构建、不是内核、不是 Linux 版本)?

Windows 10 企业版 10.0.19044 内部版本 19044.2728

我正在尝试找到与此处列出的版本号相对应的“版本号”:

https://github.com/microsoft/WSL/releases

我正在运行 WSL 2,。Kernel version: 5.4.72但是在发布页面上,最新的“发布版本号”是1.1.3。如何在我的 WSL 版本中找到此版本号?

我问这个问题是因为github 问题,开发人员提到更新到预发布版本 1.1.0,在此之前,我想知道我的 WSL 相对于这个版本号的情况。

答案1

具有讽刺意味的是,确定 WSL 版本号(在这种情况下实际上与“发布”同义)的方式取决于版本。

较新的 WSL 版本通常作为应用程序包从 Microsoft Store 安装,并具有wsl -version评论中提到的命令。

从 PowerShell、CMD 或 WSL 内部wsl.exe --version

WSL version: 1.2.0.0
Kernel version: 5.15.90.1
WSLg version: 1.0.51
MSRDC version: 1.2.3770
Direct3D version: 1.608.2-61064218
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22621.1413

对我来说,这1.2.0.0对应于WSL 发布页面你上面链接了。我目前正在运行预发布版本。

如果wsl.exe --version仅返回帮助文本(很可能是因为你显示的是较旧的内核),则你正在运行较旧版本的 WSL。在作为应用程序包提供之前,WSL 捆绑在每个 Windows 版本中(现在仍然如此)。如果你在去年 11 月 1.0.0 推出之前安装了,那么你可能拥有较旧的、遗留的内置版本。WSL 本身实际上没有“版本号”,因为它始终只与它所包含的 Windows 版本相对应。请参阅较旧的WSL 发行说明页面的示例。

如果您正在运行较旧的内置版本,则可以直接从 Microsoft Store 安装 WSL 以更新到最新发布的版本(当前为 1.1.3)。

答案2

对于“系统”提供的 WSL,只有内部版本号才有意义。运行于pwsh

(get-item C:\windows\system32\wsl.exe).VersionInfo.FileVersion

你会得到类似这样的结果:

10.0.19041.2311 (WinBuild.160101.0800)

以上19041是一个版本,您可以在变更日志页面上通过此版本号查看功能列表:https://learn.microsoft.com/en-us/windows/wsl/release-notes

如何查看 WSL2 版本?

如果你从市场或 GitHub 安装程序安装 WSL,或者wsl --update --pre-release版本将被构建为wsl.exe

# strings '/cygdrive/c/Program Files/WindowsApps/MicrosoftCorporationII.WindowsSubsystemForLinux_2.0.4.0_x64__8wekyb3d8bbwe/wsl.exe'
...
10.0.25880.1000-230602-1350.main
1.608.2-61064218
1.2.4485
1.0.58
5.15.123.1-1
2.0.4.0
...

# wsl.exe --version
WSL version: 2.0.4.0
Kernel version: 5.15.123.1-1
WSLg version: 1.0.58
MSRDC version: 1.2.4485
Direct3D version: 1.608.2-61064218
DXCore version: 10.0.25880.1000-230602-1350.main
Windows version: 10.0.19045.3448

原版wsl.exe中没有上述数字,也不支持--version

bash# wsl --version
Invalid command line option: --version

相关内容