适用于 Linux 的 Windows 子系统 (wsl) - 获取默认版本

适用于 Linux 的 Windows 子系统 (wsl) - 获取默认版本

WSL 允许你设置运行使用的默认版本wsl --set-default-version x(其中x设置了默认版本)。

是否有选项可以查看当前的默认版本? wsl --get-default-version无法识别。

答案1

WSL 默认版本存储在注册表项中。

密钥存储 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss在名为 的条目中DefaultVersion。值可以是 1 或 2。

要读取 PowerShell 中的值,可以使用以下命令:

Get-ItemPropertyValue `
      -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss `
      -Name DefaultVersion

答案2

运行“wsl --status”命令检查

$ wsl --status

Default Version: 2

Windows Subsystem for Linux was last updated on 2023-10-20
WSL automatic updates are on.

Kernel version: 5.10.102.1

答案3

WSL 允许您通过运行 wsl --set-default-version x 来设置使用的默认版本(其中 x 是要设置默认值的版本)。

此命令wsl --set-default-version 2仅在您已安装时存在Windows 10 version 2004。如果您安装了任何其他受支持的版本,则无法更改默认版本,因为它不支持多个版本。

是否有任何选项可以查看当前的默认版本?wsl --get-default-version 无法识别。

您正在尝试运行不存在的命令。相反,您应该运行,wsl --list --verbose

您可以通过打开 PowerShell 命令行并输入命令(仅适用于 Windows Build 19041 或更高版本)来检查分配给已安装的每个 Linux 发行版的 WSL 版本:wsl --list --verbose

来源:将发行版本设置为 WSL 1 或 WSL 2

答案4

截至今天,命令中还没有任何标志wsl可以显示哪个是默认版本。

@Rahmound 的回答可以帮助您了解版本。此外,确实,v1 是默认版本,除非您更改它。但无论如何,这既不能回答手头的问题,不幸的是,它对自动化方法也没有帮助,仅举一个例子。

相关内容