7)Ntldr加载合适的内核和HAL映像文件(缺省为Ntoskrnl.exe和HAL.dll),读入SYSTEM注册表hive文件(hive文件是一种包含注册表子树的文件)以确定该加载哪些引导驱动程序,加载引导驱动程序,为Ntoskrnl.exe的执行准备CPU寄存器。
Ntoskrnl.exe文件在WINXP系统中存储了WIN XP的启动LOGO画面,在WIN
2K中即使没有此文件也不影响系统的正常启动。我在做试验中,把该文件删除后,系统仍然能够正常启动,只有Kaspersky
Anti-Virus在启动时出现错误,没有加载成功。
8)之后,Ntldr调用Ntoskrnl.exe并由它开始初始化执行程序子系统并引导系统-启动(system-start)设备驱动程序,在一系列的初始化工作完成后Ntoskrnl.exe为系统本机应用程序作准备并运行smss.exe。如果SMSS文件丢失或损毁,系统在完成硬件的检测和虚拟驱动的加载后,就会出现如下图所示蓝屏现象。
9)Smss的主要任务是:初始化注册表,创建系统环境变量,加载Win32子系统(Win32k.sys)的内核模式部分,启动子系统进程Csrss,启动登陆进程Winlogon。
如果CSRSS.EXE文件丢失,则当滚动条走到头时直接黑屏重启;如果WINLOGON.EXE文件丢失或损毁时,故障类似于CSRSS文件丢失,只不过是当蓝色背景出现的计算机马上重启。
10)然后Winlogon开始执行其启动步骤,如创建初始的窗口和桌面对象等,并加载设备驱动程序和本机安全验证子系统(Lsass)进程(Winnt\system32\Lsass.exe)。
11)接着创建服务控制管理器(SCM)进程(Winnt\System32\Services.exe),它加载所有的标记为自动启动(auto-start)的服务程序。如果SERVICE.EXE文件丢失,系统则长时间停滞在登录窗口处,无法继续。
11)当一切加载成功且用户在控制台成功登陆后,SCM则认为系统引导成功,便放弃注册表中已知最近正确配置(HKLM\SYSTEM\select\LastKnownGood),而改由\CurrentControlSet替代;如果用户在引导的时候选择高级菜单中的已知最近正确模式(LastKnownGood)或者加载时驱动程序返回一个严重的或者关键的错误,系统会以LastKnownGood的值作为CurrentControlSet
的值。如果SVCHOST.EXE文件丢失或损毁,系统仍然能够正常加载并登录成功,只是登录时间稍微长一些,并且当我们操作电脑时,经常出现错误提示。
最后显示登录界面,完成系统启动过程,这时我们就看到了熟悉的桌面。至此,Windows 2000的引导过程结束。
(责任编辑:刘伟) |