本文提供了导致启动速度缓慢且服务无法启动的问题的解决方法。
原始 KB 数: 2004121
现象
可能会出现以下症状:
- Windows Server 在应用计算机设置或应用安全策略时启动后挂起。
- 服务器完成启动后,尝试登录的用户可能会在应用用户设置时挂起。
- 你可能会注意到,设置为 “自动”的启动类型的 服务可能不会启动。
设置为“自动”的某些服务可能会启动而不出现问题 - 例如:
- Dcom 进程启动器
- 远程过程调用
- 事件日志
- 组策略客户端
- 即插即用
- DHCP 客户端
- DNS 客户端的运行情况
- 任务计划程序
- 基本筛选引擎
- 工作站服务
- Netlogon
设置为“自动”的其他服务可能会失败 , 例如:
- 打印后台处理程序
- 终端服务
- 服务器服务
- 远程注册表
- WMI
- 分布式事务处理协调器
- 与应用程序相关的任何服务
尝试使用启动类型的“自动”手动启动服务可能会导致错误 1053,指示“服务未及时响应启动或控制请求”。
原因
症状部分中描述的问题是由于服务控制管理器 (SCM) 数据库的锁而发生的。 由于锁定,任何服务都无法访问 SCM 数据库来初始化其服务启动请求。 若要验证 Windows 计算机是否受本文中讨论的问题的影响,请从命令提示符运行以下命令 sc querylock 。
以下输出将指示 SCM 数据库已锁定:
QueryServiceLockstatus - Success IsLocked:True LockOwner:.\NT 服务控制管理器 LockDuration:1090(获取后秒) 除了服务控制管理器中的信息之外,事件日志中没有其他信息,指示服务启动请求已超时。根本原因是服务控制管理器与HTTP.SYS之间的死锁。
解决方法
若要解决此问题,可以修改HTTP.SYS的行为,以依赖于第一次启动的另一个服务。 为此,请执行下列步骤:
- 打开“注册表编辑器”。
- 导航到
HKLM\SYSTEM\CurrentControlSet\Services\HTTP并创建以下多字符串值:DependOnService。 - 双击新的 DependOnService 条目。
- 在“值数据”字段中键入 CRYPTSVC ,然后单击“ 确定”。
- 重新启动服务器。
注意
在对系统进行任何更改之前,请确保先备份注册表/受影响的密钥。
详细信息
从 Windows Server 2008 开始,Windows 不会等待所有自动服务启动加载Explorer.exe。 服务可能设置为“延迟自动启动”以提高启动性能。