三、加载内核阶段
Ntldr获取从ntdetect.com发来的信息后,将这些信息组织成为内部结构形式,然后由ntldr 启动ntoskrnl.exe程序,并将这些信息和boot.ini文件中的信息,以及注册表中的硬件和软件信息传递给ntoskrnl.exe 程序——Windows XP内核。
1、将内核(ntoskrnl.exe)和硬件抽象层(hal.dll)载入到内存
在加载内核阶段,ntldr加载称为内核的ntokrnl.exe,但是没有将它初始化。接着ntldr加载硬件抽象层(HAL,hal.dll)。 2、加载控制集信息
在这一过程中,ntldr从注册表中HKEY_LOCAL_MACHINE\SYSTEM的位置读取select键来决定哪一个控制集(Control Set)信息将被加载,并确定在启动过程中要加载的设备驱动。控制集中包含设备的驱动程序以及需要加载的服务。
3、加载设备驱动程序和服务
在这一步中,系统会在BIOS的帮助下开始加载设备驱动程序,以及服务。
设备驱动程序,NTLDR将加载HKEY_LOCAL_MACHINE\system\service\...下start键值为0的最底层设备驱动。
当作为Control Set的镜像的Current Control Set被加载时,NTLDR将把控制权传递给Windows XP内核NTOSKRNL.EXE。
至内核加载阶段结束,接下来是初始化内核阶段。
四、初始化内核阶段
在初始化内核阶段开始的时候,彩色的Windows XP的logo以及进度条显示在屏幕中央,在这个阶段,系统完成了启动的4项任务:
1、内核使用在硬件检测时收集到的数据来创建了HKEY_LOCAL_MACHINE\HARDWARE键。
2、内核通过引用HKEY_LOCAL_MACHINE\system\Current的默认值复制Control Set来创建了Clone Control Set。Clone Control Set配置是计算机数据的备份,不包括启动中的改变,也不会被修改。
3、系统完成初始化以及加载设备驱动程序
内核初始化那些在加载内核阶段被加载的底层驱动程序,然后内核扫描HKEY_LOCAL_MACHINE\system\CurrentControlSet\service\...下start键值为1的设备驱动程序。这些设备驱动程序在加载的时候便完成初始化,如果有错误发生,内核使用ErrorControl键值来决定如何处理。
start键值为3时,错误标志为危机/关键,系统初次遇到错误会以LastKnownGood Control Set重新启动,如果使用LastKnownGood Control Set启动仍然产生错误,系统报告启动失败,错误信息将被显示,系统停止启动;
值为2时错误情况为严重,系统启动失败并且以LastKnownGood Control Set重新启动,如果系统启动已经在使用LastKnownGood值,它会忽略错误并且继续启动;
当值是1的时候错误为普通,系统会产生一个错误信息,但是仍然会忽略这个错误并且继续启动;当值是0的时候忽略,系统不会显示任何错误信息而继续运行 。
4、启动会话管理器Session Manager
内核会启动会话管理器(Session Manager),这是一个名为smss.exe 的程序,其作用表现如下:
(1)创建系统环境变量
(2)创建虚拟内存页面文件
(3)启动了Windows XP高级子系统以及服务
(4)启动了控制所有输入、输出设备以及访问显示器屏幕Win32子系统
初始化内核完毕。
五、用户登录阶段
A 在这一过程中,Windows 子系统会启动winlogon.exe,这是一个系统服务,用于提供对Windows 用户的登录和注销的支持。Winlogon.exe 可以完成如下一些工作:
1、启动服务子系统(services.exe),也称服务控制管理器(Service Control Manager, SCM)。
2、启动本地安全授权(Local Security Authority , LSA)过程(lsass.exe),同时Windows XP Professional欢迎屏幕或者登陆对话框显示,这时候,系统还可能在后台继续初始化刚才没有完成的驱动程序。
3、在开始登录提示的时候,对Crtl+Alt+Del组合键进行分析处理。
4、调用一个图形化的识别和认证组件提示输入有效的用户名或密码,收集用户的帐号和密码,然后将这些信息安全地传送给LSA以进行认证处理。如果用户提供的信息是正确的,能够通过认证,就允许用户对系统进行访问。这时用户成功登录操作系统。
要注意的是,如果您的计算机中,只有Administrator这一个用户,那么在欢迎屏幕中就会显示Administrator 用户项。如果您的计算机中不仅有Administrator用户,还有别的可以交互登录的用户,那么欢迎屏幕中就只显示出Administrator之外的用户,而不显示Administrator用户。
如果用户希望以Administrator用户登录,该怎么办呢?实际很简单,直接在欢迎屏幕中按下两次Crtl+Alt+Del组合键,即可打开标准的登录窗口,可以再输入Administrator 的用户名和密码,以便用最高管理员的身份登录。
B Service Controller最后执行以及扫描HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servives来检查是否还有服务需要加载,Service Controller查找start键值为2或更高的服务,服务按照start的值以及DependOnGroup和DepandOnService的值来加载。
即插即用设备的检测过程
对即插即用设备的检测,实际上是和登录过程异步进行的。由系统固件、硬件、设备驱动和系统特性决定了Windows XP如何对新设备进行检测和枚举。当即插即用组件正常工作后,Windows XP会对新设备进行检测,为它们分配系统资源,并在尽量不要用户提供选择的情况下,为新设备安装一个合适版本的驱动程序。
启动完成
只有用户成功登陆到计算机后,Windows XP的启动才被认为是完成,在成功登陆后,系统拷贝Clone Control Set到LastKnownGood Control Set,完成这一步骤后,系统才意味着已经成功引导了。
阅读全文类别:Bios 查看评论