我正在运行当前的 Dev Windows 11 版本(版本 24H2 OS Build 26100.1)。自从我从 23H2 升级到 24H2 以来,我一直无法让 WSL 工作。当我运行“wsl.exe”时,我收到以下消息:
Windows Subsystem for Linux must be updated to the latest version to proceed. You can update by running 'wsl.exe --update'.
For more information please visit https://aka.ms/wslinstall
Press any key to install Windows Subsystem for Linux.
Press CTRL-C or close this window to cancel.
This prompt will time out in 60 seconds.
当我运行“wsl.exe --install”或“wsl.exe --update”时,我得到以下信息:
Downloading: Windows Subsystem for Linux 2.1.5
Installing: Windows Subsystem for Linux 2.1.5
Catastrophic failure
我尝试过卸载发行版 (Ubuntu),从 Windows 功能屏幕(从控制面板中的程序和功能)卸载 WSL,确保在设置 > 系统 > 存储 > 高级存储设置 > 新内容保存位置中将“新应用程序将保存到”设置为 C: 驱动器(“\Windows”所在的位置)... 并在几次尝试期间在每个步骤之间重新启动,但没有任何变化。我的系统上的其他一切都运行良好,只有 WSL 才开始出现这种情况,而且只有在我升级到 24H2 时才出现这种情况。我无法获得有关“灾难性故障”的更多信息(“--verbose”没有任何附加信息)。我甚至尝试过手动安装 Linux 内核,它告诉我我已经安装了更新版本的 WSL。我基本上尝试了我能找到的任何 Google 结果所建议的所有方法,但都不起作用。
更新:
在控制面板下的程序和功能中取消选中“适用于 Linux 的 Windows 子系统”并重新启动后。
接下来,我将安装在“D:\WndowsApps”中的所有 WindowsApps 移回“C:\Program Files\WindowsApps”,并在“设置”中的“应用程序”>“已安装的应用程序”下为每个应用程序选择“移动”选项。
然后,我就可以获取名称中包含“Linux”或“Ubuntui”的所有目录(及其内容)的所有权(将所有权更改为“管理员”,然后使用我的帐户进行“完全控制”)。
然后我删除了它们。
之后,“D:\WindowsApps”下没有安装任何东西,所以我将其所有权更改为管理员,然后将其完全删除。
完成所有这些后我重新启动了。
然后我运行 Windows 更新并重新启动。
然后,我尝试重新安装 WSL,但失败并显示相同的“灾难性故障”消息。
当我随后检查 D: 驱动器时,Windows 已重新创建“D:\WindowsApps”,并尝试将其安装在那里,而不是“新内容保存位置”指向的 C: 驱动器。某个地方设置了某些内容(我猜是在注册表中),告诉 Windows 尝试将其安装在 D: 驱动器上,根据各种 Google 搜索结果,这总是会失败,因为 WSL 必须安装在与 C:\Windows 相同的驱动器上。
有人知道我需要在注册表中更新什么才能让 Windows 在 C: 驱动器上安装 WSL?