故障排除 WSL1 Ubuntu - 20.04 - 无法启动并出现错误 4294967295

故障排除 WSL1 Ubuntu - 20.04 - 无法启动并出现错误 4294967295

我在 Windows 11 Pro(版本 21H2 - 体验:Windows Feature Experience Pack 1000.22000.527.0)上使用 WSL1。几个月来它一直运行良好,但最近我无法启动它。

通常,我会在 Windows 或 VS Code 中启动终端,本质上两者中都会发生相同的事情。1-4 分钟后没有提示,我收到一个错误:

Ubuntu-20.02 terminated with exit code 4294967295

有时它只是简单地说:

"Server execution failed"

或者

The I/O operation has been aborted because of either a thread exit or an application request.

[process exited with code 4294967295]

如果我检查 Windows Powershell,它表明 WSL 已停止:

PS C:\Users\cutups> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-20.04    Stopped         1

我最近确实做了一些 Windows 更新,它似乎与这些更新相关。

Update for Microsoft Windows KB5010414
Update for Microsoft Windows KB5010474
Update for Microsoft Windows KB5009469
Security Update for Microsoft Windows KB5010386

但我将它们回滚后问题仍未解决。同一时间我做的唯一更改是卸载已过期的 MacAfee Antivirus 试用版。

有小费吗?

故障排除信息和步骤:

  • 确认我没有通过代理服务器或 VPN 运行
  • 重启机器-无影响
  • 从 Powershell 以管理员身份运行netsh winsock reset,然后重新启动。第一次尝试就成功了。由于其他原因不得不重新启动计算机后,WSL 无法再次启动。我尝试了同样的方法,但没有成功。所以不幸的是,这不是一个可重现的修复方法。在额外重新启动后,我能够重新启动 WSL,但它立即输出An error occurred mounting one of your file systems. Please run 'dmesg' for more details.

答案1

这个 Github 问题了解一些故障排除想法。请注意,那里列出的问题是 WSL2,但其中一位 WSL 开发人员也将一些 WSL1 问题链接到了该问题,因此根本原因可能是相同的。报告的一些解决方案:

  • 正如 Ramhound 在评论中提到的,netsh winsock reset以管理员身份重新启动是一种常见的解决方法,但并不适合所有人。 那个建议目前有 122 个赞成票(竖起大拇指),但有 24 个反对票。在我看来,这更有可能是 WSL2 修复,而不是影响 WSL1 的修复,但值得一试。

  • 一些报告称只需禁用/重新启用 WSL(约 25 个有效,40 多个无效)。线程中的步骤适用于 WSL2(因为它们包含 VMP),但请尝试(也可以从 Admin PowerShell 中尝试):

    DISM /online /disable-feature /featurename:Microsoft-Windows-Subsystem-Linux /norestart
    

    重启

    DISM /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /norestart
    
  • 奇怪的是,有7+ 份报告称wsl在管理员提示符下尝试了该命令。如果是这样,可能指向普通用户的某种权限问题。

    至少一个用户以管理员身份运行 WSL 的行为也使其开始为普通用户工作。

如果我遇到任何有希望的事情,我会添加更多。

相关内容