我很想知道用户login时Windows启动的顺序。 有人知道吗? 基本上,我的应用程序被GPO调用的login脚本调用。 当第三方EXE被调用时,它没有启动。
然后,通过试验和错误,我发现HKCU … \ RunOnce键在login脚本之后执行。 同样的结果,EXE被称为,但未能开始。
什么工作:更新login脚本在用户的启动文件夹中创build一个快捷方式。 现在EXE按预期启动。
我知道AutoRuns可以告诉我所有可以放置启动项目的位置,有没有人知道整个执行顺序? 我能够发现Run和RunOnce键被asynchronous调用。 我可以继续testing每个启动项目的AutoRuns状态,但这可能需要几天时间。
我最感兴趣的是Windows 2003 Serverlogin启动stream程,但我怀疑它与当今使用的其他Windows风格非常相似。
来源: 了解启动过程 – Windows 7教程
Windows 7的正常启动顺序是:
- 开机自检(POST)阶段
- 初始启动阶段
- Windows启动管理器阶段
- Windows引导加载程序阶段
- 内核加载阶段
- 登录阶段
内核加载阶段 Windows启动加载程序负责将Windows内核(
Ntoskrnl.exe
)和HAL加载到内存中。 内核和HAL一起初始化一组称为Windows执行程序的软件功能。 Windows执行程序处理存储在HKLM\SYSTEM\CurrentControlSet
的注册表中的配置信息,并启动服务和驱动程序。 以下部分提供了有关内核加载阶段的更多详细信息。登录阶段
Windows子系统启动
Winlogon.exe
,一个系统服务,使您可以登录和注销。Winlogon.exe
然后执行以下操作:
- 启动服务子系统(
Services.exe
),也称为SCM。 SCM初始化注册表项开始在注册表子项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Servicename
指定为Autoload的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Servicename
。- 启动本地安全机构(LSA)进程(
Lsass.exe
)。- 在“开始登录”提示下(如果计算机是AD DS域的一部分)解析Ctrl + Alt + Delete组合键。
登录用户界面(LogonUI)功能和凭据提供程序(可以是标准凭据提供程序或第三方凭据提供程序)收集用户名和密码(或其他凭据),并将此信息安全地传递给LSA进行身份验证。 如果用户提供有效凭据,则通过使用默认的Kerberos V 5身份验证协议或Windows NT LAN Manager(NTLM)授予访问权限。
Winlogon初始化安全和身份验证功能,而PnP初始化自动加载服务和驱动程序。 用户登录后,使用
CurrentControlSet
子项中的内容更新注册表项LastKnownGood
(位于HKLM\SYSTEM\Select
)中引用的控件集。 默认情况下,Winlogon会启动Userinit.exe
和Windows资源管理器shell。 然后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启动才完成。 如果在登录阶段启动失败,则配置为自动启动的服务或应用程序出现问题。
如果您想了解更多信息,请查看源代码链接。