标题: Windows XP Professional计算机启动过程概述 [打印本页] 作者: suncon 时间: 2003-7-31 11:00 标题: Windows XP Professional计算机启动过程概述 Windows XP Professional计算机启动过程概述
概述
本文讲述了Microsoft Windows XP 在x86架构计算机上的启动过程,旨在使读者更加了解Windows XP专业版启动的基本知识。了解了这些知识以后,当启动发生问题时,可以更快地找到解决方案以避免可能发生的各方面的损失。但要注意的是,本文并没有涉及到故障处理以及任何关于故障的阐述,本文仅仅介绍Windows XP引导/启动过程。
目录
1. Windows XP启动阶段概览
2. 每个启动阶段的详细介绍
Windows XP启动阶段概览
从按下计算机开关启动计算机,到登入到桌面完成启动,一共经过了以下几个阶段:
1. 预引导(Pre-Boot)阶段;
2. 引导阶段;
3. 加载内核阶段;
4. 初始化内核阶段;
5. 登陆。
每个启动阶段的详细介绍
a) 预引导阶段
在按下计算机电源使计算机启动,并且在Windows XP专业版*作系统启动之前这段时间,我们称之为预引导(Pre-Boot)阶段,在这个阶段里,计算机首先运行Power On Self Test(POST),POST检测系统的总内存以及其他硬件设备的现状。如果计算机系统的BIOS(基础输入/输出系统)是即插即用的,那么计算机硬件设备将经过检验以及完成配置。计算机的基础输入/输出系统(BIOS)定位计算机的引导设备,然后MBR(Master Boot Record)被加载并运行。在预引导阶段,计算机要加载Windows XP的NTLDR文件。
b) 引导阶段
Windows XP Professional引导阶段包含4个小的阶段。
首先,计算机要经过初始引导加载器阶段(Initial Boot Loader),在这个阶段里,NTLDR将计算机微处理器从实模式转换为32位平面内存模式。在实模式中,系统为MS-DOS保留640kb内存,其余内存视为扩展内存,而在32位平面内存模式中,系统(Windows XP Professional)视所有内存为可用内存。接着,NTLDR启动内建的mini-file system drivers,通过这个步骤,使NTLDR可以识别每一个用NTFS或者FAT文件系统格式化的分区,以便发现以及加载Windows XP Professional,到这里,初始引导加载器阶段就结束了。
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=Microsoft Windows XP Professional /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINNT=Windows Windows 2000 Professional
其中,multi(0)表示磁盘控制器,disk(0)rdisk(0)表示磁盘,partition(x)表示分区。NTLDR就是从这里查找Windows XP Professional的系统文件的位置的。(*本文不会更详细地讲解boot.ini的组成结构,因为其与本主题关系不大,如果想了解,可以到一些专门的网站处查询相关信息。)如果在boot.ini中只有一个*作系统选项,或者把timeout值设为0,则系统不出现*作系统选择菜单,直接引导到那个唯一的系统或者默认的系统。在选择启动Windows XP Professional后,*作系统选择阶段结束,硬件检测阶段开始。
内核通过引用HKEY_LOCAL_MACHINE\system\Current的默认值复制Control Set来创建了Clone Control Set。Clone Control Set配置是计算机数据的备份,不包括启动中的改变,也不会被修改。
系统完成初始化以及加载设备驱动程序,内核初始化那些在加载内核阶段被加载的底层驱动程序,然后内核扫描HKEY_LOCAL_MACHINE\system\CurrentControlSet\service\...下start键值为1的设备驱动程序。这些设备驱动程序在加载的时候便完成初始化,如果有错误发生,内核使用ErrorControl键值来决定如何处理,值为3时,错误标志为危机/关键,系统初次遇到错误会以LastKnownGood Control Set重新启动,如果使用LastKnownGood Control Set启动仍然产生错误,系统报告启动失败,错误信息将被显示,系统停止启动;值为2时错误情况为严重,系统启动失败并且以LastKnownGood Control Set重新启动,如果系统启动已经在使用LastKnownGood值,它会忽略错误并且继续启动;当值是1的时候错误为普通,系统会产生一个错误信息,但是仍然会忽略这个错误并且继续启动;当值是0的时候忽略,系统不会显示任何错误信息而继续运行
Winlogon.exe启动Local Security Authority,同时Windows XP Professional欢迎屏幕或者登陆对话框显示,这时候,系统还可能在后台继续初始化刚才没有完成的驱动程序。
提示输入有效的用户名或密码。
Service Controller最后执行以及扫描HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servives来检查是否还有服务需要加载,Service Controller查找start键值为2或更高的服务,服务按照start的值以及DependOnGroup和DepandOnService的值来加载。
只有用户成功登陆到计算机后,Windows XP的启动才被认为是完成,在成功登陆后,系统拷贝Clone Control Set到LastKnownGood Control Set,完成这一步骤后,系统才意味着已经成功引导了。
结论
本文简单讲述了Windows XP Professional在32位计算机上的启动/引导过程,包括每个启动阶段,以及阶段中的详细步骤。虽然本文没有提及错误处理,但是通过让读者了解这些启动过程,当遇到错误时他们会变得更加从容以及更加容易找到错误的原因。
参考资料
[1] Microsoft Windows XP 专业版帮助;
[2] MCSE: Windows XP Professional Study Guide. Sybex Press.
[3] MCSE Training Kit Microsoft Windows XP Professional. Microsoft Press.