6

我很想知道用户登录期间 Windows 启动的顺序。有人知道吗?基本上,我的应用程序被 GPO 调用的登录脚本调用。在调用第 3 方 EXE 时,它无法启动。

然后,通过反复试验,我发现 HKCU...\RunOnce 键在登录脚本之后执行。同样的结果,正在调用 EXE,但无法启动。

什么工作:更新登录脚本在用户的启动文件夹中创建一个快捷方式。现在EXE按预期启动。

我知道 AutoRuns 可以告诉我所有可以放置启动项的位置,有人知道整个执行顺序吗?我能够发现 Run 和 RunOnce 键被异步调用。我可以继续测试 AutoRuns 声明的每个启动项,但这可能需要几天时间。

我最感兴趣的是 Windows 2003 Server 登录启动流程,但我怀疑它与当今使用的其他 Windows 风格非常相似。

4

1 回答 1

11

资料来源:了解启动过程 - Windows 7 教程

Windows 7 的正常启动顺序是:

  1. 开机自检 (POST) 阶段
  2. 初始启动阶段
  3. Windows 启动管理器阶段
  4. Windows 引导加载程序阶段
  5. 内核加载阶段
  6. 登录阶段

启动可以采用的不同路径的高级概述

内核加载阶段 Windows 引导加载程序负责将 Windows 内核 ( Ntoskrnl.exe) 和 HAL 加载到内存中。内核和 HAL 一起初始化了一组称为 Windows 执行程序的软件功能。Windows 执行程序处理存储在注册表中的配置信息 HKLM\SYSTEM\CurrentControlSet并启动服务和驱动程序。以下部分提供了有关内核加载阶段的更多详细信息。

登录阶段

Windows 子系统启动Winlogon.exe,这是一个系统服务,使您能够登录和注销。Winlogon.exe然后执行以下操作:

  • 启动服务子系统 ( Services.exe),也称为 SCM。SCM 初始化注册表项 Start 在注册表子项中指定为 Autoload 的服务 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Servicename
  • 启动本地安全机构 (LSA) 进程 ( Lsass.exe)。
  • 在开始登录提示符处解析Ctrl+ Alt+Delete组合键(如果计算机是 AD DS 域的一部分)。

登录用户界面 (LogonUI) 功能和凭据提供程序(可以是标准凭据提供程序或第三方凭据提供程序)收集用户名和密码(或其他凭据)并将此信息安全地传递给 LSA 进行身份验证。如果用户提供了有效的凭据,则使用默认的 Kerberos V 5 身份验证协议或 Windows NT LAN Manager (NTLM) 授予访问权限。

Winlogon 初始化安全和身份验证功能,而 PnP 初始化自动加载服务和驱动程序。LastKnownGood 用户登录后,注册表项(位于 中)引用的控制集将使用子项HKLM\SYSTEM\Select中的内容进行更新 CurrentControlSet。默认情况下,Winlogon 会启动 Userinit.exe并启动 Windows 资源管理器外壳。然后 Userinit 可能会启动其他进程,包括:

  • 组策略设置生效应用于用户和计算机的组策略设置生效。
  • 启动程序运行当未被组策略设置覆盖时,Windows 将启动登录脚本、启动程序和以下注册表子项和文件系统文件夹中引用的服务:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Runonce
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\Run
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
    SystemDrive\Documents and Settings\All Users\Start Menu\Programs\Startup
    SystemDrive\Documents and Settings\username\Start Menu\Programs\Startup
    

安装 Windows 后,可能会将多个应用程序配置为默认启动,包括 Windows Defender。计算机制造商或 IT 部门可能会配置其他启动应用程序。

在用户成功登录到计算机之前,Windows 启动不会完成。如果在登录阶段启动失败,则说明配置为自动启动的服务或应用程序存在问题。

如果您想了解更多信息,请查看源链接。

于 2012-12-03T15:58:01.470 回答