《XP系统启动原理》由会员分享,可在线阅读,更多相关《XP系统启动原理(11页珍藏版)》请在金锄头文库上搜索。
1、为了诊断和修复启动故障,您需要理解启动过程中发生了什么。第一步隔离启动问题,判断问题是发生在Microsoft® Windows® XP Professional 启动之前还是之后。启动失败的根本原因,包括相关因素,可能是来自多方面的, 比如用户错误,应用程序错误,硬件问题,病毒问题。如果问题过于严重,您可能需要重新安装 Windows XP Professional 或者从备份介质中恢复文件。在基于x86的系统上,发生在启动故障 operating system loader (Ntldr) 可能意味着启动文件丢失或者被删除,或者硬盘主引导记录 (MBR)损坏, 或者分区表,
2、或者引导扇区的损坏。如果问题发生在启动期间,那么系统可能存在不兼容的软件或者驱动,不兼容或者设置错误的硬件,或者系统文件损坏。基于 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&re
3、g;, Microsoft® Windows® 95, Microsoft® Windows® 98, and Microsoft® Windows® Millennium Edition (Windows Me) 这些系统。所有运行 Windows XP Professional 的系统都遵循如下启动顺序:上电自检 (POST) 阶段初始化启动阶段启动装载阶段检测、设置硬件阶段系统核心装载阶段登陆阶段上述的启动过程适用于正常关机后的系统启动或者重新启动,从休眠或者待机状态恢复的情况例外,后者请参考后面的章节 “Resolving Power M
4、anagement 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 (仅适用于多引导系统) 系统分区根目录
5、Ntldr 将会装载此文件,以读取可能包含 MS-DOS, Windows 95, Windows 98, or Windows Me 等OS的Windows XP Professional 多引导系统设定。 Bootsect.dos 包含这些操作系统的引导扇区,文件属性为系统、隐藏。N 系统分区根目录 此文件将扫描硬件设置信息,并传递给 NtldrNtbootdd.sys 系统分区根目录 (SCSI 或者ATA 等固件本身禁用或者不支持 INT-13 中断扩展调用的设备需要此文件). 该驱动程序用于访问不使用 BIOS,而连接到 SCSI 或者 ATA 的硬盘驱动器, The content
6、s of this file depend on the startup controller used.Ntoskrnl.exe systemrootSystem32 Windows XP Professional操作系统的核心 (也被叫做 kernel) 。作为 kernel的一部分,运行在处理器特权模式下的代码,允许直接访问系统数据和硬件。 在安装Windows XP Professional 操作系统期间,如果是单处理器系统,setup程序从操作系统光盘上复制 Ntoskrnl.exe 文件,如果是多处理器系统,Setup 从安装光盘上复制 Ntoskrnlmp.exe 并将它重命名为
7、Ntoskrnl.exe.Hal.dll systemrootSystem32 硬件抽象层动态(HAL)链接库文件。HAL abstracts 从操作系统提取底层硬件信息,并给相同类型的设备,提供公用编程接口。 Microsoft® Windows® XP Professional 操作系统光盘包含若干 Hal 文件,Setup 将适合您系统硬件设置的文件复制到您的计算机,并重命名为 Hal.dll.System registry file systemrootSystem32ConfigSystem 此注册表文件包含创建HKEY_LOCAL_MACHINESYSTEM 注册表
8、键值所需要的数据。该键值包含了操作系统启动设备和系统服务所需要的信息。Device drivers systemrootSystem32Drivers 一些硬件设备的驱动程序文件,比如键盘、鼠标、显卡。注:Windows NT 4.0, Windows 2000, and Windows XP Professional 定义 “系统“ 和 “启动“ 分区有别于启动操作系统。系统卷包含启动Windows XP Professional所必须的文件,比如 Windows loader (Ntldr)。启动卷 Windows XP Professional 操作系统文件和文件夹比如 systemro
9、ot 和 systemrootSystem32。在基于 x86 系统的计算机上,启动卷和系统卷可以但不一定是同一个卷。在表 28.1中,systemroot是众多环境变量之一,用于将象文件和文件路径这样的字符串关联到变量,以便 Windows XP Professional应用程序和服务使用。例如,通过使用环境变量,脚本不同修改就可以运行在不同环境设置的计算机上。您可以通过在命令行执行 set 命令查看环境变量列表。关于环境变量,请参考Windows XP Professional中关于 “To add or change the values of environment variables
10、“ 的描述;关于系统文件的信息,详见 “System Files Reference“上电自检当您打开计算机的时候,中央处理器单元 (CPU) 开始执行存放在基本输入输出系统 (BIOS)中的指令。 BIOS, 一种固件,包含一些代码,处理器依靠这些代码启动计算机,与外围标准设备通讯,形成一个最小环境,从而得以加载其他复杂代码,它与计算机所安装的操作系统无关。 计算机启动过程的第一步就是上电自检 (POST),POST 负责完成如下系统和检测功能:执行硬件初始化检测,比如测试当前内存总数校验启动操作系统所必须的设备,比如硬盘从位于主板上的CMOS中检索系统设置即便当您停机后, CMOS 存储器
11、中也会保持一些信息,例如存储在CMOS存储器中的硬件设置包含启动设置和即插即用信息。当主板上电自检(POST)完成后,那些拥有自己固件的附加板卡 (比如显卡和硬盘控制器) 开始执行自我检测。设定这些系统和外围设备固件参数,请参考相关厂商提供的系统文档。初始化启动阶段在上电自检( POST)阶段后,存储在CMOS存储器中的那些设定,比如启动设定,指明了可以引导操作系统的设备。比如,如果启动设定指定软盘作为启动的首选设备,而将硬盘作为次要设备(有些固件中显示为 “A, C“),那么启动时将可能发生如下情形:软驱中插有软盘BIOS将搜索设定为启动软盘的软驱,如果存在,将会把0面0道1扇区(软盘的启动
12、扇区)加载到内存。如果软盘不能启动,将会提示如下错误:Non-system disk or disk errorReplace and press any key when ready计算机将会一直显示上面的信息,直到您插入一张启动软盘或者驱出软盘重新启动计算机。软驱中没有软盘如果您重新启动计算机后没有插入软盘,计算机将会装载位于主引导记录 (MBR)所在区域的指令。MBR 位于启动硬盘的第一个扇区,包含一些指令(称为启动代码)和一个标示主分区和扩展分区的表(称为分区表)。 BIOS 将 MBR 加载到内存,并将控制权移交给 MBR中的代码。计算机然后搜索分区表,查找激活分区。激活分区的第一个
13、扇区包含启动代码,这些代码允许计算机进行如下操作:确定所使用的文件系统定位并启动操作系统装载文件, Ntldr.如果激活分区不存在或者启动扇区信息丢失、错误,系统将提示如下信息:Invalid partition tableError loading operating systemMissing operating systemBOOT: Couldnt find NTLDRNTLDR is missing如果激活分区定位成功,启动分区中的代码将会找到并开始启动 Ntldr ,随后 BIOS 完成使命,释放控制权关于磁盘和文件系统,MBR, 分区以及启动扇区的一些更为详细的信息,请查看 “F
14、ile Systems“ 和 “Troubleshooting Disks and File Systems“指定其他启动设备的启动顺序除此之外,一些计算机固件允许从其他设备引导操作系统,比如:CD-ROMs网卡可移动存储介质,比如 LS-120 驱动器或者 Iomega Zip 驱动器接驳在便携式计算机上的一些存储器在大多数的计算机上都允许您指定启动次序,比如“CDROM, A, C“. 当您指定 “CDROM, A, C“ 这样的启动顺序的时候,那么启动时就会是如下情况:计算机搜索 CD-ROM 作为启动介质。如果存在可以启动的 CD (光盘), 计算机将使用作为启动设备,否则计算机将按照
15、设定的启动次序寻找下一个启动设备。计算机搜索软盘作为启动介质。如果存在可以启动的软盘,计算机将使用软盘作为启动设备。否则将给出错误信息,并按照设定的启动次序寻找下一个启动设备。计算机使用硬盘作为启动设备。当 CD-ROM 驱动器和软盘驱动器都是空的时候,计算机将只会使用硬盘作为启动设备。不过,引导介质上的代码对硬盘进行传输控制的情况是个例外。比如,当您使用可引导的Windows XP Professional 操作系统光盘引导系统的时候,Setup 程序将会检测是否存在可用的硬盘以用于 Windows XP Professional 安装过程,如果检索到,那么系统将会提示如下字样 Press any key to boot from CD ,这将给您一个选择,如果不按任何键就会跳过 CD-ROM 启动。您不能使用一个不能启动的光盘引导系统,同时一张