Windows Server 2003 启动过程分析
2016-10-16 21:42
387 查看
摘要:本文针对Windows Build Version 5.2及之前版本 (包括发型版Windows NT,2000,XP 和 2003,2003 SP1, 2003 SP2)启动过程简单分析,高版本的
Windows 系统 BIOS 引导模式其实也没太大差别,后续针对差异部分在做分析。
BIOS:执行开机自检,主要是检测主板、内存条、显卡、硬盘等硬件设备是否正常;
BIOS:自检通过后,将从BIOS指定的启动设备中加载MBR信息,MBR信息物理位置存放在启动硬盘设备的第一个扇区;
MBR:包含少量用于读取硬盘分区表的代码,默认分区表中标识的第一个活动分区为系统卷;
MBR:从系统卷中加载 BOOT SECTOR(系统卷的第一个扇区);
![](https://img-blog.csdn.net/20161016213817960?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
BOOT SECTOR:读取系统根目录(系统环境变量%WINDIR%),加载LTLDR;
LTLDR:读取BOOT.INI,通过BOOT.INI的内容决定启动设备(如果BOOT.INIT文件中有多个启动徐项目,会呈现启动项列表供用户选择);
LTLDR:加载并执行NTDETECT.COM,执行BIOS硬件检测;
LTLDR:加载NTOSKRNL.EXE,HAL.DLL,BOOTVID.DLL,(如果是Build 5.1及以上,还会加载KDCOM.DLL);
LTLDR:加载系统注册表文件(文件位置为:%WINDIR%/SYSTEM32/CONFIG/SYSTEM,对应注册表的HKEY_LOCAL_MACHINE\System);
LTLDR:加载注册表 HKEY_LOCAL_MACHINE\System 中标志为"boot"的的驱动,然后返回控制权给NTOSKRNL.EXE;
![](https://img-blog.csdn.net/20161016213948853?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
NTOSKRNL.EXE:加载系统启动图形界面,初始化内核子系统(Kernel SubSystem);
NTOSKRNL.EXE:启动"boot-start"驱动,然后加载并启动"system-start"驱动;
NTOSKRNL.EXE:创建Windows 会话管理器进程(SMSS.EXE);
SMSS.EXE:运行标志为 BootExecute 的程序(如AUTOCHK,检测文件系统是否损坏)
SMSS.EXE:执行上一次系统运行过程中标记为延迟处理的操作,如延迟文件删除、重命名操作(一般发生在系统打补丁重启后,或者用户删除一个正在被系统使用的文件);
SMSS.EXE:初始化页文件(pagefile.sys)以及剩余的注册表项(在这个操作完成之前,由于系统卷上的页文件还没有准备好,bugchecks不会造成内存转储,因此,在此过程之前的BSOD没有对应的MEMORY.DMP文件生成);
SMSS.EXE:启动 Win32 子系统的 Kernel-Mode 部分(WIN32K.SYS);
SMSS.EXE:启动 Win32 子系统的 User-Mode 部分(CSRSS.SYS);
SMSS.EXE:运行 WINLOGON.EXE;
WINLOGON.EXE:运行本地安全认证程序(LSASS.EXE);
WINLOGON.EXE:加载图形用户识别和认证 DLL(默认为 MSGINA.DLL);
WINLOGON.EXE:显示用户登录界面;
WINLOGON.EXE:启动服务控制器(SERVICES.EXE);
SERVICES.EXE:启动所有标识为"automatic"的服务;
![](https://img-blog.csdn.net/20161016214043370?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
备注:
Windows所谓的系统卷(System Volume)是引导程序所在的卷,包含MBR,BOOT SECTOR,NTLDR,NTDETECT.COM 和 BOOT.INI;
所谓的启动卷(Boot Volume)是包含 Windows 目录的的卷,可以是一个逻辑分区;
一般情况下,安装系统的时候系统卷和启动卷都是同一个卷。
参考文档:
《Microsoft Windows Internals 4th Edition》
Windows 系统 BIOS 引导模式其实也没太大差别,后续针对差异部分在做分析。
BIOS:执行开机自检,主要是检测主板、内存条、显卡、硬盘等硬件设备是否正常;
BIOS:自检通过后,将从BIOS指定的启动设备中加载MBR信息,MBR信息物理位置存放在启动硬盘设备的第一个扇区;
MBR:包含少量用于读取硬盘分区表的代码,默认分区表中标识的第一个活动分区为系统卷;
MBR:从系统卷中加载 BOOT SECTOR(系统卷的第一个扇区);
BOOT SECTOR:读取系统根目录(系统环境变量%WINDIR%),加载LTLDR;
LTLDR:读取BOOT.INI,通过BOOT.INI的内容决定启动设备(如果BOOT.INIT文件中有多个启动徐项目,会呈现启动项列表供用户选择);
LTLDR:加载并执行NTDETECT.COM,执行BIOS硬件检测;
LTLDR:加载NTOSKRNL.EXE,HAL.DLL,BOOTVID.DLL,(如果是Build 5.1及以上,还会加载KDCOM.DLL);
LTLDR:加载系统注册表文件(文件位置为:%WINDIR%/SYSTEM32/CONFIG/SYSTEM,对应注册表的HKEY_LOCAL_MACHINE\System);
LTLDR:加载注册表 HKEY_LOCAL_MACHINE\System 中标志为"boot"的的驱动,然后返回控制权给NTOSKRNL.EXE;
NTOSKRNL.EXE:加载系统启动图形界面,初始化内核子系统(Kernel SubSystem);
NTOSKRNL.EXE:启动"boot-start"驱动,然后加载并启动"system-start"驱动;
NTOSKRNL.EXE:创建Windows 会话管理器进程(SMSS.EXE);
SMSS.EXE:运行标志为 BootExecute 的程序(如AUTOCHK,检测文件系统是否损坏)
SMSS.EXE:执行上一次系统运行过程中标记为延迟处理的操作,如延迟文件删除、重命名操作(一般发生在系统打补丁重启后,或者用户删除一个正在被系统使用的文件);
SMSS.EXE:初始化页文件(pagefile.sys)以及剩余的注册表项(在这个操作完成之前,由于系统卷上的页文件还没有准备好,bugchecks不会造成内存转储,因此,在此过程之前的BSOD没有对应的MEMORY.DMP文件生成);
SMSS.EXE:启动 Win32 子系统的 Kernel-Mode 部分(WIN32K.SYS);
SMSS.EXE:启动 Win32 子系统的 User-Mode 部分(CSRSS.SYS);
SMSS.EXE:运行 WINLOGON.EXE;
WINLOGON.EXE:运行本地安全认证程序(LSASS.EXE);
WINLOGON.EXE:加载图形用户识别和认证 DLL(默认为 MSGINA.DLL);
WINLOGON.EXE:显示用户登录界面;
WINLOGON.EXE:启动服务控制器(SERVICES.EXE);
SERVICES.EXE:启动所有标识为"automatic"的服务;
备注:
Windows所谓的系统卷(System Volume)是引导程序所在的卷,包含MBR,BOOT SECTOR,NTLDR,NTDETECT.COM 和 BOOT.INI;
所谓的启动卷(Boot Volume)是包含 Windows 目录的的卷,可以是一个逻辑分区;
一般情况下,安装系统的时候系统卷和启动卷都是同一个卷。
参考文档:
《Microsoft Windows Internals 4th Edition》
相关文章推荐
- Windows Server 2003 启动过程详解及常见错误分析
- Windows XP \Windows 2003启动过程的学习及故障分析处理(四)
- Windows XP \Windows 2003启动过程的学习及故障分析处理(六D)
- Windows XP \Windows 2003启动过程的学习及故障分析处理(五)
- Windows XP \Windows 2003启动过程的学习及故障分析处理(六B)
- Windows XP \Windows 2003启动过程的学习及故障分析处理(二)
- Windows XP \Windows 2003启动过程的学习及故障分析处理(六c) 推荐
- Windows XP \Windows 2003启动过程的学习及故障分析处理(八)终极篇
- Windows XP \Windows 2003启动过程的学习及故障分析处理(七)
- Windows XP \Windows 2003启动过程的学习及故障分析处理(六A)
- Windows XP \Windows 2003启动过程的学习及故障分析处理(三)
- Windows XP \Windows 2003启动过程的学习及故障分析处理(一)
- uClinux 启动过程详细分析
- uClinux 启动过程详细分析(二)
- 用Bochs学习Minix(2)-启动过程分析
- Windows server 2003 上使用VS2005启动IIS调试失败(转)
- AT91系列微处理器启动过程的分析与实现
- Windows 2003标准版光盘启动安装过程详细图解
- uClinux 启动过程详细分析(一)
- uClinux 启动过程详细分析