如何永久解决WSL2中「登录失败:未授予用户请求的登录类型」问题
根源解决WSL2+Docker开机启动的登录权限错误
方案一:调整vmcompute服务的启动与恢复策略
- 按下Win+R,输入
services.msc打开服务管理器 - 找到
vmcompute服务,右键选择「属性」 - 切换到「登录」选项卡,确认选中「本地系统账户」,并勾选「允许服务与桌面交互」
- 切换到「恢复」选项卡,将第一次、第二次、后续失败的恢复操作均设置为「重启服务」,重启间隔设为1分钟
方案二:创建开机自动执行的任务计划(无需每日手动操作)
- 按下Win+R,输入
taskschd.msc打开任务计划程序 - 点击「创建任务」,命名为「WSL2 Docker 初始化」,勾选「使用最高权限运行」
- 触发器:新建触发器,选择「启动时」,设置延迟30秒执行(避免开机服务冲突)
- 操作:新建操作,选择「启动程序」,程序/脚本填
powershell.exe,添加参数:-Command "Get-Service vmcompute | Restart-Service; wsl --shutdown; wsl" - 条件:取消勾选「只有在计算机使用交流电源时才启动此任务」,确保全场景生效
- 保存任务,开机后将自动完成服务重启与WSL初始化
方案三:配置本地安全策略的登录权限(需一次管理员权限配置)
- 按下Win+R,输入
secpol.msc打开本地安全策略 - 展开「本地策略」>「用户权限分配」
- 找到「允许本地登录」和「允许通过远程桌面服务登录」,将你的用户账户添加至列表
- 找到「作为服务登录」,确认
NT Virtual Machine\Virtual Machine账户在列表中(vmcompute服务默认使用该账户)
以上方案均为一次性配置,完成后无需每日重复申请管理员权限重启服务。
内容的提问来源于stack exchange,提问作者wero026
相关产品推荐
相关产品推荐

