引导完成后,系统会执行由以下注册表项的 ImagePath 值指定的引导验证程序:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BootVerificationProgram。
默认情况下,不设置此值。 系统只是在第一个用户登录后报告引导成功。 可以提供引导验证程序来检查系统是否有问题,并使用 NotifyBootConfigStatus 函数向 SCM 报告引导状态。
成功引导后,系统会将数据库克隆保存在上次已知正常 (LKG) 配置中。 如果对活动数据库的更改导致系统重新启动失败,那么系统可以还原数据库的此副本。 以下是此数据库的注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX\Services
其中,XXX 是保存在以下注册表值中的值:HKEY_LOCAL_MACHINE\System\Select\LastKnownGood。
如果具有 SERVICE_ERROR_CRITICAL 错误控制级别的自动启动服务无法启动,则 SCM 将使用 LKG 配置重新启动计算机。 如果 LKG 配置已在使用,则引导会失败。
可以通过使用 SERVICE_CONFIG_DELAYED_AUTO_START_INFO 调用 ChangeServiceConfig2 函数,将自动启动服务配置为延迟的自动启动服务。 此更改将在下一次系统引导后生效。 有关详细信息,请参阅 SERVICE_DELAYED_AUTO_START_INFO。