这是一个众所周知的错误,但常见的解决方案似乎不起作用,而且我还看到了一些我认为是新的东西,我将完成每个故障排除步骤,因为我希望其中一些步骤能够帮助识别这个问题无论是对于知道如何解决问题的人还是对于有相同问题的其他人。
当我尝试使用 WSL 打开 Debian 应用程序并尝试wsl
在 Powershell 中运行命令时,出现此错误:The file cannot be accessed by the system.
。就我而言,几天前,WSL 和 Debian 通过命令行安装在我的系统上(由于不相关的问题,我重新安装了它们)。
常见的解决方案之一是在 Windows 窗口中查找 WSL 应用程序条目Installed Apps
,我在那里看不到 WSL 条目,但我看到了一个@{MicrosotCorporationll.WindowsSubsystemForLinux_2.1.5.0_x64_8wekyb3d8bbwe?ms-resource://MicrosoftCorporationll.WindowsSubsystemForLinux/Resources/AppName}
(此应用程序列出的存储使用量为 0 字节)。
总结一下我迄今为止找到的可能的解决方案:
- 尝试使用Windows 设置
repair
中的选项Installed Apps
,我尝试对上面提到的应用程序和 Debian 应用程序执行此操作,修复达到 100% 完成,但不起作用 dism
尝试从提升的终端(DISM.exe /Online /Cleanup-image /Scanhealth
+ )使用DISM.exe /Online /Cleanup-image /Restorehealth
,命令成功运行但不起作用C:\Program Files\WindowsApps
尝试从窗口更改文件夹的权限Properties/Security
,我不太确定在这里要更改什么,但我看到了一些看起来有趣的东西(如下所列)
从该文件夹的属性中,WindowsApps
我看到我的用户的主体似乎已损坏,当我双击它时,我会看到一个显示以下错误的窗口:This access control entry is corrupt. Delete it and create a new one.
这仅适用于“普通”用户主体,不适用于同一用户的管理条目。事实上,我随后尝试使用管理员权限启动 WSL,并且可以毫无问题地登录 Debian。
由于这似乎是一个文件损坏问题,我启动了它sfc scannow
,发现了一个损坏错误并C:\WINDOWS\System32\drivers\bthmodem.sys
解决了它,但我仍然在文件夹设置中看到错误消息WindowsApps
,并且在没有提升权限的情况下仍然无法使用 WSL,所以我猜这与此问题无关。
如何修复我的 wsl 安装和/或解决非特权用户主体的安全设置问题?
我从这个答案中得到了提示,并且能够通过从发布页面下载 msi 可执行文件来重新安装 WSL,请注意,这也意味着重新安装发行版。
作为参考,我查看了事件查看器并发现了此错误:
程序包 MicrosoftCorporationII.WindowsSubsystemForLinux_2.1.5.0_neutral_~ 8wekyb3d8bbwe 的 AppX 部署操作失败,错误为 0x80073CF1。此失败的具体错误文本为:无法安装捆绑包 C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_2.1.5.0_neutral ~_8wekyb3d8bbwe\AppxMetadata\AppxBundleManifest.xml,因为它没有适合 x64 体系结构的应用程序包。