重新启动 Windows 计算机后,我在尝试打开 Ubuntu 18.04 WSL2 实例时收到此错误。
Logon failure: the user has not been granted the requested logon type at this computer.
Press any key to continue...
重启前一切正常。
重新启动 vmcompute 服务对我有用。从提升的 PowerShell(不过先关闭 WSL2!):
Get-Service vmcompute | Restart-Service
然后再次运行 WSL2。
如果您位于 Active Directory 上,则可能是由于您的组策略设置所致。使用管理员权限打开命令提示符并运行以下命令:
gpupdate /force
然后再次运行 WSL/Ubuntu。这对我有用。
当您在真实服务器上处理此问题时,Google 返回了许多复杂的解决方案,但对于个人 WSL2 使用,我和我的同事都发现 Windows 在重新启动时只是禁用了 Hyper-V。
重新打开它:
问题可能是您的 AD 域中有一个组策略修改了“作为服务登录”权限。
要求您的 IT 管理员将“NT VIRTUAL MACHINE\Virtual Machines”(众所周知的 SID S-1-5-83-0)添加到修改此权限的组策略中(在我的情况下,它是 默认域策略 修改了“登录为服务”)。
值得注意的是,IT 管理员必须从启用了 Hyper-V(或安装了 WSL2 组件)的计算机/服务器添加此特殊组。否则管理员将无法将特殊组添加到策略中。
更多信息在 GITHUB WSL 问题 或 我的博客文章。
我通过更新/重新加载我的策略设置解决了这个问题。为此,请在 Windows 终端中执行
gpupdate /force
。
如果您的用户连接到 AD,您还必须连接到您的组织网络,否则上述命令将失败。我想这给我带来了问题,因为我并不总是在那个网络中。
成功执行后,您应该被授予正确的登录类型。
这对我有用。我的 WSL 已启用,Hyper-V 也在 Windows 11 上启用。
C:\WINDOWS\system32>gpupdate /force 政策更新中...
计算机策略更新已成功完成。 用户策略更新已成功完成。
当您没有安装 Hyper-V 并且仍然出现登录失败时该怎么办:用户尚未被授予在此计算机上请求的登录类型。?
由于我没有安装 Hyper-V,因此无法重新启动 vmms。
重新启动服务:找不到任何服务名称为“vmms”的服务。 更新 刚刚发现就我而言我必须跑步
重启服务vmcompute
,然后它又可以工作了。
对我来说问题与OP场景不同,但谷歌把我带到这里......
我在关闭后尝试重新启动
wsl
后收到此消息:
> wsl --shutdown
> wsl -l -v
这表明我所有的
wsl
东西都按预期关闭了,但后来我尝试用以下命令重新启动它:
> wsl
并收到标题中的错误。 对我来说,即使我将 Docker Desktop 关闭,它仍然在运行。 我必须进入系统托盘,右键单击 Docker Desktop 图标并退出。 然后发出
wsl
命令重新启动它,没有错误。