此文译自 Windows XP Resource Kit Web Resource 中 Understanding the Startup Process 一章
为了诊断和修复启动故障,您需要理解启动过程中发生了什么。第一步隔离启动问题,判断问题是发生在Microsoft® Windows® XP Professional 启动之前还是之后。
启动失败的根本原因,包括相关因素,可能是来自多方面的, 比如用户错误,应用程序错误,硬件问题,病毒问题。如果问题过于严重,您可能需要重新安装 Windows XP Professional 或者从备份介质中恢复文件。
在基于x86的系统上,发生在启动故障 operating system loader (Ntldr) 可能意味着启动文件丢失或者被删除,或者硬盘主引导记录 (MBR)损坏, 或者分区表,或者引导扇区的损坏。如果问题发生在启动期间,那么系统可能存在不兼容的软件或者驱动,不兼容或者设置错误的硬件,或者系统文件损坏。
基于 Itanium 系统的计算机启动或者和 x86 系统类似。详见后面的章节 "Startup Phases for Itanium-based Systems"
基于 x86 系统的启动过程
Windows XP Professional 启动过程和 Microsoft® Windows NT® version 4.0 and Microsoft® Windows® 2000 类似,区别于 Microsoft® MS-DOS®, Microsoft® Windows® 95, Microsoft® Windows® 98, and Microsoft® Windows® Millennium Edition (Windows Me) 这些系统。
所有运行 Windows XP Professional 的系统都遵循如下启动顺序:
- 上电自检 (POST) 阶段
- 初始化启动阶段
- 启动装载阶段
- 检测、设置硬件阶段
- 系统核心装载阶段
- 登陆阶段
上述的启动过程适用于正常关机后的系统启动或者重新启动,从休眠或者待机状态恢复的情况例外,后者请参考后面的章节 "Resolving Power Management Problems on x86-based Systems"
为了 Windows XP Professional 能够引导,系统和启动分区必须包含表 28.1.中的文件。
表 28.1 基于x86 系统上 Windows XP Professional 的启动文件
文件名 | 文件所处位置 | 描述 | |
Ntldr | 系统分区根目录 | 操作系统装载器 | |
Boot.ini | 系统分区根目录 | 该文件指定 Windows XP Professional 的安装路径。对于多引导系统 Boot.ini 包含一个显示在启动菜单上的操作系统选择菜单。 | |
Bootsect.dos (仅适用于多引导系统) | 系统分区根目录 | Ntldr 将会装载此文件,以读取可能包含 MS-DOS, Windows 95, Windows 98, or Windows Me 等OS的Windows XP Professional 多引导系统设定。 Bootsect.dos 包含这些操作系统的引导扇区,文件属性为系统、隐藏。 | |
Ntdetect.com | 系统分区根目录 | 此文件将扫描硬件设置信息,并传递给 Ntldr | |
Ntbootdd.sys | 系统分区根目录 (SCSI 或者ATA 等固件本身禁用或者不支持 INT-13 中断扩展调用的设备需要此文件). | 该驱动程序用于访问不使用 BIOS,而连接到 SCSI 或者 ATA 的硬盘驱动器, The contents of this file depend on the startup controller used. | |
Ntoskrnl.exe | systemroot/System32 | Windows XP Professional操作系统的核心 (也被叫做 kernel) 。作为 kernel的一部分,运行在处理器特权模式下的代码,允许直接访问系统数据和硬件。 | |