Ubuntu 错误 0x8000000d 请求了非法状态更改

Ubuntu 错误 0x8000000d 请求了非法状态更改

所以问题是当我打开“Ubuntu”和“Windows Subsystem for Linux”时出现错误:“Ubuntu”

WslRegisterDistribution failed with error: 0x8000000d
Error: 0x8000000d An illegal state change was requested.
Press any key to continue...

'Windows Subsystem for Linux'

Windows Subsystem for Linux has no installed distributions.

Use 'wsl.exe --list --online' to list available distributions
and 'wsl.exe --install <Distro>' to install.

Distributions can also be installed by visiting the Microsoft Store:
https://aka.ms/wslstore
Error code: Wsl/Service/CreateInstance/GetDefaultDistro/WSL_E_DEFAULT_DISTRO_NOT_FOUND
Press any key to continue...

答案1

这里抛出一个理论,基于评论在相关的 Github 线程中。

需要检查和尝试以下几件事:

  • 已知此错误在发行版“部分”安装后发生。从 PowerShell(以普通非管理员用户身份)尝试运行:

    wsl --version
    

    如果它返回 Ubuntu 发行版(并且您无法访问它),请运行:

    # WARNING: Destructive operation.  Only run to complete remove failed distribution.
    wsl --unregister <distroname>
    
  • 但是,如果wsl -l -v没有返回任何分布,请尝试从同一个 PowerShell 运行以下命令:

    Get-ChildItem HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss\ |
        ForEach-Object {
            (Get-ItemProperty $_.PSPATH) | Select-Object DistributionName,BasePath
        } | Format-List
    

    如果该命令返回的发行版未在 中显示wsl -l -v,那么您可能遇到了 Github 线程中提到的问题。在这种情况下,虽然我通常不喜欢推荐注册表黑客,但我认为最好的选择是:

    1. 跑步regedit
    2. 检查注册表中是否存在以下项HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\
    3. 导出这些密钥(作为保障)
    4. 从注册表中删除它们

当然,不能保证如果安装失败一次就不会再次失败,但让我们首先尝试解决手头的问题。

相关内容