WSL2“此用户无权登录此计算机。”

WSL2“此用户无权登录此计算机。”

我重启了电脑并安装了更新。现在我无法登录 WSL2 Ubuntu20.04 LTS 错误:

CORP+myUserName ~
$ wsl.exe
This user isn't allowed to sign in to this computer.

CORP+myUserName ~
$ wsl.exe -e bash --norc
This user isn't allowed to sign in to this computer.

CORP+myUserName ~
$ wsl.exe --user myUserName
This user isn't allowed to sign in to this computer.

如何让 WSL2 不再一直引发错误?

答案1

如果这是最近升级到 WSL2 的 WSL1 实例,则需要执行以下操作:

  1. 清除安全事件日志
    事件查看器⇢Windows 日志⇢安全
  2. 打开注册表编辑器(regedit
  3. 搜索HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\CrashOnAuditFail键并将其值设置为1
  4. 重启

从这里开始,WSL2 应该不会抱怨太多。

答案2

我没有给你一个明确的答案,但是有足够多的想法和事情可以尝试,以至于它们不适合在评论中发表:

  • 这个 Github 问题,至少在那种情况下,问题似乎与虚拟机平台(为运行 WSL2 而设计的 Hyper-V 子集)有关。

  • 要查看是否可以隔离它,请尝试安装发行版作为 WSL1 并查看它是否启动:

    首先,设置默认WSL 版本:

    wsl --set-default-version 1
    

    然后安装一个与您当前在 Microsoft Store 中安装的 Ubuntu 不同的 Ubuntu。例如,如果您当前安装了“Ubuntu”(无版本),则安装“Ubuntu 20.04”。反之亦然。

    如果配置阶段(设置用户名/密码)执行,则 WSL1 正在运行。然后我们就知道问题出在 WSL2 上。

  • 如果 WSL1 正在运行,请尝试禁用/重新启用 Windows 中的虚拟机平台功能。听起来所有权可能已经改变。也许是公司更新脚本?:

    • 禁用“虚拟机平台”在下面“打开或关闭 Windows 功能”
    • 重新启动 Windows
    • 再次启用VMP
    • 重启

    我希望这能解决问题,但如果不行......

  • 尝试对 Windows Subsystem for Linux 功能本身进行相同的操作,尤其是当 WSL1 不起作用时。

  • 卸载(在应用程序和功能)“Windows Subsystem for Linux 更新”(内核包),重启,然后重新安装它

  • 在 Windows 服务中,检查 *“Hyper-V 主机计算服务”——应将其设置为运行为“本地系统”(与大多数其他服务一样)。如果不是,那可能就是问题所在。

  • 检查事件查看器是否有任何其他提示

相关内容