所以问题是当我打开“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 线程中提到的问题。在这种情况下,虽然我通常不喜欢推荐注册表黑客,但我认为最好的选择是:- 跑步
regedit
- 检查注册表中是否存在以下项
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\
- 导出这些密钥(作为保障)
- 从注册表中删除它们
- 跑步
当然,不能保证如果安装失败一次就不会再次失败,但让我们首先尝试解决手头的问题。