BOOT.INI 用于在系统启动过程中创建系统选择菜单,每个系统项在文件中都有对应的条目与之对应,记录了该系统的启动分区。BOOT.INI 文件一般为位于根目录,具有系统属性和隐藏属性。 BOOTSECT.DOS
一个选项配置文件,在部署了多操作系统的环境中,如果选择引导的是 Windows Server 2003, Windows NT 之外的操作系统,这个文件会被加载。BOOTSECT.DOS 文件位于根目录下,具有系统属性和隐藏属性。 NTDETECT.COM
用于检测操作系统已经安装的硬件设备,并且将这些硬件设备的信息添加到注册表。NTDETECT.COM 文件位于系统分区的根目录下,具有系统属性、隐藏属性和只读属性。 NTOSKRNL.EXE
用于加载 Windows Server 2003 操作系统,NTOSKRNL.EXE 文件位于 %windir%/system32。 阶段 3: Kernel Load Sequence
当 Boot Sequence 的阶段完成后,NTDETECT.COM 搜集的所有信息都传递给了 NTOSKRNL.EXE,Kernel Load Sequence 可以分下以下步骤:
(1)NTOSKRNL.EXE 加载并初始化;
(2)初始化执行子系统,启动类型为 System-Start 的设备驱动程序;
备注:这里说的执行子系统,是指 Process And Thread Manager、Virtual Memory Manager、I/O Manager、Object Manager、Runtime Libraries 以及其他需要工作在内核态的服务。
(3)为运行原生应用程序准备系统环境;
备注:这里说的原生应用程序,需要解释一下,Windows 操作系统提供两种类型的 API,一种是我们通常所说的 Windows API,所有的 Windows 程序都需要依赖 Windows API,另一种是 Native API,一些 Windows 组件如内核驱动程序 和 系统进程(如csrss.exe)依赖 Native API 。
(4)运行 SMSS.EXE
关于此阶段中一些重要的启动文件说明:
NTOSKRNL.EXE 在这一阶段的作用非常关键,它主要用于完成以下功能:
(1)加载 HAL.DLL (Hardware Abstraction Layer,是一个 Kernel-Mode 库),用于提供低级别的硬件交互接口,Windows 组件和第三方的设备驱动程序依赖 HAL 与底层硬件设备通信;
(2)加载操作系统Control Set,Control Set 用于控制系统配置信息(如列出需要被加载的设备驱动程序);
(3)加载低级别的设备驱动程序(如磁盘驱动程序 disk.sys);
可能出现的问题及解决方法:
现象:
原因:硬件设备驱动程序不匹配,或者安装了有 BUG 的安全、加密、过滤、第三方磁盘管理软件、存储管理软件;
解决方法:知道是做了什么变更后出现的就比较好解决,回退操作,也可以借组于系统的 “最后一次正确配置”的高级选项; 阶段 4: Kernel Initialization Sequence
Kernel Initialization Sequence 主要创建 HKEY_LOCAL_MACHINE\HARDWARE 注册表项,运行高优先级的子系统和服务,可以分下以下步骤:
(1)一旦 Kernel 成功加载后,会创建 HKEY_LOCAL_MACHINE\HARDWARE 注册表项,这个注册表项用于指定系统启动时的硬件设备的配置信息;
(2)初始化随 Kernel 加载的设备驱动程序;
(3)运行高优先级的子系统和服务;
备注:高优先级的子系统包括并不仅限于 POSIX Subsystem,OS/2 Subsystem。
可能出现的问题解决方法:知道是做了什么变更后出现的就比较好解决,回退操作,也可以借组于系统的 “最后一次正确配置”的高级选项; 阶段 5: Logon Sequence
smss.exe(Session Manager System)是 Logon Sequence 中的一个非常关键的角色,可以分下以下步骤:
(1)创建系统环境变量;
(2)启动 Win32 Subsystem 的 Kernel-Mode 部分(win32k.sys)和 User-Mode 部分(csrss.exe);
(3)启动在注册表项 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems 中列出的子系统;
(4)smss.exe 运行 winlogon.exe(Windows Logon Manager);
备注:附上对 winlogon.exe 程序功能的说明: winlogon.exe is a system service that enables logging on and off of users. It is also responsible for loading user profile.
It invokes GINA( Graphical Identification and Authentication) which displays login prompt. The GINA accepts the user login credentials and passes it back to Winlogon.
Winlogon then Starts Lsass.exe (the Local Security Authority) and passes login credentials to LSA. LSA determine which user account databases is to be used for authentication eg: Local SAM or Active Directory in case you are in a windows domain. (5)用户权限验证通过后, smss.exe 运行 Service.exe(Services Subsystem,SCM);
(6)Service.exe 遍历 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services,启动类型为“自动运行”的服务。
可能出现的问题及解决方法: (1)登陆失败 现象:
原因:用户权限信息验证不通过;
解决方法:尝试找回权限信息,注意是否是域控导致,终极解决方案就是利用 PE 进入系统后用工具重置密码; (2)服务启动失败
现象:
原因:原因太多,不一一枚举,cmd 输入 eventvwr.msc 打开 System Log 查看具体详情;
解决方法:根据 System Log 记录对症下药; 阶段 6: Plug and Play Device Detection
Plug And Play Device Detection 是一个系统自动检测新增 PnP 设备并为 PnP 设备自动查找驱动程序尝试使之能够正常功能的过程,可以分下以下步骤:
(1)检测启动过程中新增的设备,自动为设备分配系统资源;
(2)如果设备是 PnP 并且可以从对应的 Driver.cab 文件中找到对应的驱动程序,则提取驱动程序并自动安装;
可能出现的问题及解决方法:
PnP 设备无法正常工作
现象:
原因:驱动程序不匹配;
解决方法:找到匹配的驱动程序并安装;