电脑开机过程简介

上传人:小** 文档编号:43138184 上传时间:2021-11-30 格式:DOC 页数:20 大小:325.50KB
收藏 版权申诉 举报 下载
电脑开机过程简介_第1页
第1页 / 共20页
电脑开机过程简介_第2页
第2页 / 共20页
电脑开机过程简介_第3页
第3页 / 共20页
资源描述:

《电脑开机过程简介》由会员分享,可在线阅读,更多相关《电脑开机过程简介(20页珍藏版)》请在装配图网上搜索。

1、打开电源启动机器几乎是电脑爱好者每天必做的事情,面对屏幕上出现的一幅幅启动画面,我们一点儿也不会感到陌生,但是,计算机在显示这些启动画面时都做了些什么工作呢? 相信有的朋友还不是很清楚,本文就来介绍一下从打开电源到出现Windows 9x的蓝天白云时,计算机到底都干了些什么事情。首先让我们来了解一些基本概念。第一个是大家非常熟悉的BIOS (基本输入输出系统),BIOS是直接与硬件打交道的底层代码,它为操作系统提供了控制硬件设备的基本功能。BIOS包括有系统 BIOS (即常说的主板 BIOS )、显卡BIOS和其它设备(例如 IDE 控制器、SCSI卡或网卡等)的BIOS,其中系统BIOS是

2、本文要讨论的主角,因为计算机的 启动过程正是在它的控制下进行的。BIOS 一般被存放在 ROM(只读存储芯片)之中,即使在关机或掉电以后,这些代码也不会消失。第二个基本概念是内存的地址,我们的机器中一般安装有 32MB、64MB或128MB内存,这些内存的每一个字节都被赋予了一个地址,以便CPU访问内存。32MB的地址范围用十六进制数表示就是 0仆FFFFFH,其中0FFFFFH的低端1MB内存非常特殊,因 为最初的8086处理器能够访问的内存最大只有1MB ,这1MB的低端640KB被称为基本内存,而A0000HBFFFFH要保留给显示卡的显存使用,C0000HFFFFFH则被保留给 BIO

3、S使用,其中系统 BIOS 一般占用了最后的64KB或更多一点的空间,显卡BIOS 一般在C0000H C7FFFH 处,IDE 控制器的 BIOS 在 C8000H CBFFFH 处。好了,下面我们就来仔细看看计算机的启动过程吧。#1第一步当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电压还不太稳定, 主板上的控制芯片组会向CPU发出并保持一个 RESET (重置)信号,让 CPU内部自动恢复到初始状态,但 CPU在此刻不会马上执行指令。当芯片组检测到电源已经开始稳定供电 了(当然从不稳定到稳定的过程只是一瞬间的事情),它便撤去 RESET信号(如果是手工按下计算机面板上的 Re

4、set按钮来重启机器,那么松开该按钮时芯片组就会撤去RESET信号),CPU马上就从地址FFFF0H处开始执行指令,从前面的介绍可知,这个地址实际上在 系统BIOS的地址范围内,无论是Award BIOS还是AMI BIOS ,放在这里的只是一条跳转 指令,跳到系统 BIOS中真正的启动代码处。#1第二步:系统BIOS的启动代码首先要做的事情就是进行POST (Power On SelfTest,加电后自检),POST的主要任务是检测系统中一些关键设备是否存在和能否正 常工作,例如内存和显卡等设备。由于POST是最早进行的检测过程,此时显卡还没有初始 化,如果系统BIOS在进行POST的过程中

5、发现了一些致命错误,例如没有找到内存或者内 存有问题(此时只会检查640K常规内存),那么系统BIOS就会直接控制喇叭发声来报告错 误,声音的长短和次数代表了错误的类型。在正常情况下,POST过程进行得非常快,我们几乎无法感觉到它的存在,POST结束之后就会调用其它代码来进行更完整的硬件检测。#1第三步:接下来系统BIOS将查找显卡的BIOS ,前面说过,存放显卡BIOS的ROM芯片的起 始地址通常设在 C0000H处,系统BIOS在这个地方找到显卡 BIOS之后就调用它的初始化 代码,由显卡BIOS来初始化显卡,此时多数显卡都会在屏幕上显示出一些初始化信息,介 绍生产厂商、图形芯片类型等内容

6、,不过这个画面几乎是一闪而过。系统BIOS接着会查找其它设备的BIOS程序,找到之后同样要调用这些BIOS内部的初始化代码来初始化相关的设备。查找完所有其它设备的 BIOS之后,系统BIOS将显示出它自己的启动画面,其中包 括有系统BIOS的类型、序列号和版本号等内容。#1第四步:#1第五步:接着系统BIOS将检测和显示 CPU的类型和工作频率,然后开始测试所有的RAM,并同时在屏幕上显示内存测试的进度,我们可以在CMOS设置中自行决定使用简单耗时少或者详细耗时多的测试方式。#1第六步:内存测试通过之后,系统 BIOS将开始检测系统中安装的一些标准硬件设备,包括硬盘、CD ROM、串口、并口、

7、软驱等设备,另外绝大多数较新版本的系统BIOS在这一过程中还要自动检测和设置内存的定时参数、硬盘参数和访问模式等。#1第七步:标准设备检测完毕后, 系统BIOS内部的支持即插即用的代码将开始检测和配置系统 中安装的即插即用设备,每找到一个设备之后,系统BIOS都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断、DMA通道和I/O端口等资源。#1第八步:到这一步为止,所有硬件都已经检测配置完毕了, 多数系统BIOS会重新清屏并在屏 幕上方显示出一个表格,其中概略地列出了系统中安装的各种标准硬件设备, 以及它们使用 的资源和一些相关工作参数。#1第九步:接下来系统 BIOS 将更新 E

8、SCD (Extended System ConfigurationData,扩展系统配置数据)。ESCD是系统BIOS用来与操作系统交换硬件配置信息的一种手段,这些数据 被存放在CMOS (一小块特殊的 RAM,由主板上的电池来供电)之中。通常 ESCD数据只 在系统硬件配置发生改变后才会更新,所以不是每次启动机器时我们都能够看到“ UpdateESCDSuccess这样的信息,不过,某些主板的系统BIOS在保存ESCD数据时使用了与Win dows9x不相同的数据格式,于是Windows 9x在它自己的启动过程中会把ESCD数据修改成自己的格式,但在下一次启动机器时,即使硬件配置没有发生改

9、变,系统BIOS也会把ESCD的数据格式改回来,如此循环,将会导致在每次启动机器时,系统BIOS都要更新一遍ESCD ,这就是为什么有些机器在每次启动时都会显示出相关信息的原因。#1第十步:ESCD更新完毕后,系统 BIOS的启动代码将进行它的最后一项工作,即根据用户指定的启动顺序从软盘、硬盘或光驱启动。 以从C盘启动为例,系统BIOS将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的分区引导记录, 而分区引导记录将负责读取并执行IO.SYS,这是DOS和Windows9x最基本的系统文件。Windows9x的IO.SYS首先要初始化一些重

10、要的系统数据,然后就显示出我们熟悉的蓝天白云,在这幅画面之下,Windows将继续进行 DOS部分和GUI (图形用户界面)部分的引导和初始化工作。如果系统之中安装有引导多种操作系统的工具软件,通常主引导记录将被替换成该软件的引导代码,这些代码将允许用户选择一种操作系统,然后读取并执行该操作系统的基本引导代码(DOS和Windows的基本引导代码就是分区引导记录) 。上面介绍的便是计算机在打开电源开关(或按Reset键)进行冷启动时所要完成的各种初始化工作,如果我们在DOS下按Ctrl + Alt + Del组合键(或从 Windows中选择重新启动计算机)来进行热启动,那么POST过程将被跳

11、过去,直接从第三步开始,另外第五步的检测CPU和内存测试也不会再进行。我们可以看到,无论是冷启动还是热启动,系统 BIOS都一次又一次地重复进行着这些我们平时并不太注意的事情,然而正是这些单调的硬 件检测步骤为我们能够正常使用电脑提供了基础。系统启动过程简介系统启动过程主要由一下几步组成(以硬盘启动为例):BIOS芯片是主板上一块长方型或正方型芯片,BIOS中主要存放:自诊断程序:通过读取 CMOS RAM中的内容识别硬件配置,并对其进行自检和初始化;CMOS设置程序:引导过程中,用特殊热键启动,进行设置后,存入CMOS RAM中;系统自举装载程序:在自检成功后将磁盘相对 0道0扇区上的引导程

12、序装入内存,让其运行以装入DOS系统;主要I/O设备的驱动程序和中断服务;1. 开机:-)2. BIOS 加电自检 (Power On Self Test - POST )内存地址为 Offff:OOOO3. 将硬盘第一个扇区(0头0道1扇区,也就是Boot Sector)读入内存地址 0000:7c00处.4. 检查(WORD) 0000:7dfe 是否等于 0xaa55,若不等于 则转去尝试其他启动介质,如果没有其他启动介质则显示No ROM BASIC 然后死机5. 跳转到0000:7c00处执行 MBR中的程序.6. MBR首先将自己复制到 0000:0600处,然后继续执行7. 在主

13、分区表中搜索标志为活动的分区.如果发现没有活动分区或有不止一个活动分区,则转停止.8. 将活动分区的第一个扇区读入内存地址0000:7c00处.9. 检查(WORD) 0000:7dfe 是否等于 0xaa55,若不等于则 显示Missing Operating System 然后停止,或尝试软盘启动.10. 跳转到0000:7c00处继续执行特定系统的启动程序.11. 启动系统以上步骤中2,3,4,5步是由BIOS的引导程序完成.6,7,8,9,10步由MBR中的引导程序完成.一般多系统引导程序(如SmartFDISK, BootStar, PQBoot等)都是将标准主引导记录替换成自己的引

14、导程序,在运行系统启动程序之前让用户选择要启动的分区.而某些系统自带的多系统引导程序(如lilo, NT Loader等)则可以将自己的引导程序放在系统所处分区的第一个扇区中,在Linux中即为 SuperBlock (其实 SuperBlock是两个扇区).注:以上各步骤中使用的是标准MBR,其他多系统引导程序的引导过程与此不同./了解计算机系统启动过程此文译自 Windows XP Resource Kit Web Resource中 Understanding the Startup Process 早为了诊断和修复启动故障,您需要理解启动过程中发生了什么。第一步隔离启动问题,判断问题是

15、发生在 Microsoft? Win dows? XP Professio nal启动之前还是之后。比如用户错误,应用程序错启动失败的根本原因,包括相关因素,可能是来自多方面的,误,硬件问题,病毒问题。如果问题过于严重,您可能需要重新安装Windows XP Professional或者从备份介质中恢复文件。在基于x86的系统上,发生在启动故障operating system loader (Ntldr)可能意味着启动文件丢失或者被删除,或者硬盘主引导记录(MBR)损坏,或者分区表,或者引导扇区的损坏。如果问题发生在启动期间,那么系统可能存在不兼容的软件或者驱动,不兼容或者设置错误的硬件,或者

16、系统文件损坏。基于Itanium 系统的计算机启动或者和x86系统类似。详见后面的章节Startup Phases forIta niu m-based Systems基于x86系统的启动过程Win dows XP Professio nal 启动过程和 Microsoft? Win dows NT? version 4.0 and Microsoft?Windows? 2000 类似,区别于 Microsoft? MS-DOS?, Microsoft? Windows? 95, Microsoft?Win dows? 98, and Microsoft? Win dows? Mille nn

17、 ium Editio n (Win dows Me)这些系统。所有运行Windows XP Professional的系统都遵循如下启动顺序:上电自检(POST)阶段初始化启动阶段启动装载阶段检测、设置硬件阶段系统核心装载阶段登陆阶段上述的启动过程适用于正常关机后的系统启动或者重新启动,从休眠或者待机状态恢复的情况例外,后者请参考后面的章节ResoIving Power Management Problems on x86-basedSystems为了 Windows XP Professional能够引导,系统和启动分区必须包含表28.1.中的文件。表28.1 基于x86系统上 Windo

18、ws 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包含这些操作系统的引导

19、扇区,文件属性为系统、隐藏。N系统分区根目录此文件将扫描硬件设置信息,并传递给NtldrNtbootdd.sys系统分区根目录 (SCSI或者ATA等固件本身禁用或者不支持INT-13中断扩展调用的设备需要此文件 ).该驱动程序用于访问不使用BIOS,而连接到 SCSI或者ATA 的硬盘驱动器,The contents of this file depend on the startup controller used.Ntoskrnl.exe systemrootSystem32 Windows XP Professional 操作系统的核心(也被叫做 kernel)。作为kernel的一部

20、分,运行在处理器特权模式下的代码,允许直接访问系统数据和硬件。 在安装 Windows XP Professional操作系统期间,如果是单处理器系统,setup程序从操作系统光盘上复制Ntoskrnl.exe文件,如果是多处理器系统,Setup从安装光盘上复制 Ntoskrnlmp.exe 并将它重命名为 Ntoskrnl.exe.Hal.dll systemrootSystem32硬件抽象层动态(HAL)链接库文件。 HAL abstracts从操作系统提取底层硬件信息,并给相同类型的设备,提供公用编程接口。Microsoft? Win dows? XPProfessional操作系统光盘

21、包含若干Hal文件,Setup将适合您系统硬件设置的文件复制到您的计算机,并重命名为Hal.dll.System registry file systemrootSystem32ConfigSystem 此注册表文件包含创建 KEY_LOCAL_MACHINESYSTEM注册表键值所需要的数据。该键值包含了操作系统启动设备和系统服务所需要的信息。Device drivers systemrootSystem32Drivers 些硬件设备的驱动程序文件,比如键盘、鼠标、显卡。注:Windows NT 4.0, Windows 2000, and Windows XP Professional定义

22、”系统”和”启动”分区有别于启动操作系统。系统卷包含启动Windows XP Professional所必须的文件,比如Windows loader (Ntldr)。启动卷 Windows XP Professional操作系统文件和文件夹比如 systemroot和systemrootSystem32。在基于 x86系统的计算机上,启动卷和系统卷可以但 不一定是同一个卷。在表28.1中,systemroot是众多环境变量之一,用于将象文件和文件路径这样的字符串关 联到变量,以便 Windows XP Professional应用程序和服务使用。例如,通过使用环境变量, 脚本不同修改就可以运行

23、在不同环境设置的计算机上。您可以通过在命令行执行set命令查看环境变量列表。关于环境变量,请参考Windows XP Professional 中关于To add or change the values ofen viro nmen t variables的描述;关于系统文件的信息,详见System Files Refere nee上电自检当您打开计算机的时候,中央处理器单元(CPU)开始执行存放在基本输入输出系统(BIOS)中的指令。BIOS, 一种固件,包含一些代码,处理器依靠这些代码启动计算机,与外围标准设备通讯,形成一个最小环境,从而得以加载其他复杂代码,它与计算机所安装的操作系统无

24、关。计算机启动过程的第一步就是上电自检(POST),POST负责完成如下系统和检测功能:执行硬件初始化检测,比如测试当前内存总数 校验启动操作系统所必须的设备,比如硬盘 从位于主板上的 CMOS中检索系统设置 即便当您停机后,CMOS存储器中也会保持一些信息,例如存储在CMOS存储器中的硬件设置包含启动设置和即插即用信息。当主板上电自检(POST)完成后,那些拥有自己固件的附加板卡(比如显卡和硬盘控制器)开始执行自我检测。设定这些系统和外围设备固件参数,请参考相关厂商提供的系统文档。初始化启动阶段在上电自检(POST)阶段后,存储在 CMOS存储器中的那些设定,比如启动设定,指明 了可以引导操

25、作系统的设备。 比如,如果启动设定指定软盘作为启动的首选设备,而将硬盘作为次要设备(有些固件中显示为 A, C),那么启动时将可能发生如下情形:软驱中插有软盘BIOS将搜索设定为启动软盘的软驱,如果存在,将会把0面0道1扇区(软盘的启动扇区)加载到内存。如果软盘不能启动,将会提示如下错误:Non-system disk or disk errorReplace and press any key whe n ready计算机将会一直显示上面的信息,直到您插入一张启动软盘或者驱出软盘重新启动计算机。软驱中没有软盘如果您重新启动计算机后没有插入软盘,计算机将会装载位于主引导记录(MBR)所在区域的

26、指令。MBR位于启动硬盘的第一个扇区,包含一些指令(称为启动代码)和一个标示主分区和扩展分区的表(称为分区表)。BIOS将MBR加载到内存,并将控制权移交给MBR中的代码。计算机然后搜索分区表,查找激活分区。激活分区的第一个扇区包含启动代码,这些代码允许计算机进行如下操作:确定所使用的文件系统定位并启动操作系统装载文件,Ntldr.如果激活分区不存在或者启动扇区信息丢失、错误,系统将提示如下信息:In valid partiti on tableError loadi ng operati ng systemMiss ing operati ng systemBOOT: Could nt fi

27、nd NTLDRNTLDR is missi ng如果激活分区定位成功,启动分区中的代码将会找到并开始启动Ntldr,随后BIOS完成使命,释放控制权关于磁盘和文件系统,MBR,分区以及启动扇区的一些更为详细的信息,请查看FileSystems禾口 Troubleshooting Disks and File Systems指定其他启动设备的启动顺序除此之外,一些计算机固件允许从其他设备引导操作系统,比如:CD-ROMs网卡可移动存储介质,比如LS-120驱动器或者Iomega Zip驱动器接驳在便携式计算机上的一些存储器在大多数的计算机上都允许您指定启动次序,比如CDROM, A, C.当您

28、指定CDROM, A,C这样的启动顺序的时候,那么启动时就会是如下情况:计算机搜索 CD-ROM 作为启动介质。如果存在可以启动的CD (光盘),计算机将使用作为启动设备,否则计算机将按照设定的启动次序寻找下一个启动设备。计算机搜索软盘作为启动介质。如果存在可以启动的软盘,计算机将使用软盘作为启动设备。否则将给出错误信息,并按照设定的启动次序寻找下一个启动设备。计算机使用硬盘作为启动设备。当CD-ROM驱动器和软盘驱动器都是空的时候,计算机将只会使用硬盘作为启动设备。不过,引导介质上的代码对硬盘进行传输控制的情况是个例外。比如,当您使用可引导的Windows XP Professional操作

29、系统光盘引导系统的时候,Setup程序将会检测是否存在可用的硬盘以用于 Windows XP Professional安装过程,如果检索到,那么系统将会提示如下字 样Press any key to boot from CD ,这将给您一个选择,如果不按任何键就会跳过CD-ROM启动。您不能使用一个不能启动的光盘引导系统,同时一张无法启动的光盘将可能增加系统启动时间,如果不打算从光盘引导系统,请在启动前将光盘从CD-ROM 驱动器中取出。关于启动顺序的选项,请参考您的系统文档。启动装载阶段Ntldr从启动分区装载启动文件,然后进行如下步骤:设置x86系统处理器进入 32位内存保护模式运行基于x

30、86的计算机启动的时候运行在实模式,此在模式下,处理器禁止了一些功能,以便兼容于运行于8位和16位处理上的软件。随后Ntldr将处理器切换到 32位模式,这种模式下,允许访问大容量内存,并可以运行Win dows XP Professio nal启动文件系统Ntldr包含一些允许Windows XP Professional读写 NTFS 或者文件分配表(FAT16 orFAT32)文件系统所需要的程序代码。读取Boot.ini文件Ntldr分析Boot.ini文件以确定操作系统启动分区的位置。如果使用单系统启动设定,那么Ntldr将随后启动 N初始化硬件检测.如果存在多系统启动, 这可能包括

31、 Win dows XP Professio nal, Win dows 2000, Win dows NT 4.0, Windows 95, Windows 98, Windows Me, 或者 MS-DOS以及其他可能的操作系统, 您将会在 启动的时候看到一个操作系统的选择菜单。注:运行 Windows NT 4.0的计算机如果需要访问之前挂载在Windows 2000 or Windows XPProfessional下的NTFS卷,需要安装至少 Service Pack 4。关于 NTFS 互操作性信息,请 参考File Systems如果您选择 Win dows XP Profess

32、io nal, Win dows 2000, or Win dows NT 4.0, Ntldr将随后启动硬件检测阶段,如果没有就会引导启动扇区的其他系统。如果您选择Win dows 95, Win dows98, Windows Me, or MS-DOS, Ntldr将会扫描 Bootsect.dos 文件,读取其中所包含的MBR代码,并执行它。关于Boot. ini 的其他信息请参考Review ing and Correcti ng Boot.i ni Sett in gson x86-based Systems检测硬件和硬件配置文件进入此阶段,Ntldr启动N,后者将执行基础硬件扫描

33、。 随后Ntldr扫描Boot.ini 信息,以及保存在注册表中的硬件和软件信息,传送给Ntoskrnl.exe。 N检测硬件配置信息(比如便携计算机上接驳或未接驳设置 )和保存在 Advaneed Configuration and Power In terface (ACPI) 表中的信息。 ACPI 兼容固件允许 Win dows XP Professio nal 检测设 备电源管理功能和设备资源需求。关于 ACPI 请参考 检测、设置硬件阶段在读取 Boot.ini并完成其任务后, Ntldr启动 N。在 x86系统上 N 调用系统例行程序收集已经安装的硬件信息,并将收集的信息返回给

34、Ntldr,Ntldr将这些信息收集后存入内部数据库,然后启动Ntoskrnl.exe并将信息传递给它。N所收集的硬件设备的信息如下:信息固件信息,比如日期和时间总线和板卡类型显卡 键盘 通讯端口硬盘 软盘 输入设备(比如鼠标) 并行端口安装在 Industry Standard Architecture (ISA) 总线上的设备N在非ACPI兼容计算机的设备扫描中扮演了重要的角色。因为在这些类型的计 算机上,固件而不是操作系统决定了分配给设备的资源,对于使用ACPI固件的计算机,Windows XP Professional对硬件设备分配资源。在这个阶段,N 收集硬件信息,Windows X

35、P Professional为桌面计算机创建一个单独的默认硬件配置文件,而为便携计算机创建两个缺省的配置文件。对于便携计算机,操作系统基于当前计算机上硬件状态选择适当的配置文件。桌面型计算机.Profile 1便携式计算机.Docked ProfileUn docked Profile硬件配置文件对于便携式计算机是非常有用的,因为这些计算机的硬件状态通常都不是静态的,启动的时候,没有列表在特定的硬件配置文件中的设备驱动是不会被加载的。关于创建和使用硬件配置文件的信息,请参考Windows XP Professional帮助和支持中心,也可以参考知识库文档225810, How to Creat

36、e Hardware Profiles on Windows 2000 -BasedMobile Computers, 查找此文档,请查询 Web Resources 页面 http:/www.microsoft.eom/w in dows/reskits/webresources上的知识库链接,同时您也可以查看Managing Devices 和Supporting Mobile Users核心装载阶段Ntldr负责将Windows核心层(Ntoskrnl.exe)和硬件抽象层 (HAL)装载到内存。您的系统 所使用的Hal.dll文件是可以发生变化的。在安装期间,Windows XP Pr

37、ofessional安装程序从若干HAL文件中选择一个复制到系统,(请参看表28.2关于这些文件的列表)并重名为 Hal.dll。在设备管理器中查看计算机描述在运行对话框,输入devmgmt.msc,点击确定。在设备管理器展开计算机察看您计算机的描述。通过比较设备管理器中的描述和下面表28.2中的描述,您可以确定从Windows XPProfessional操作系统光盘复制到您系统中的HAL文件Table 28.2关于不同 Hal.dll文件的描述设备管理器中计算机的描述复制的HAL文件ACPI 多处理器 PC Halmacpi.dllACPI 单处理器 PC Halaacpi.dllAdva

38、 need Con figurati on and Power In terface (ACPI) PC Halacpi.dllMPS 多处理器 PC Halmps.dllMPS 单处理器 PC Halapic.dll标准 PC Hal.dllCompaq SystemPro多处理器或者完全兼容Halsp.dll核心层kernel和硬件抽象层HAL初始化一组软件组件,他们统称为windows执行体。Windows执行体扫描储存在注册表control sets中的信息,并启动服务和驱动程序。关于 Windows executive services, 请查看 Common Stop Messag

39、es for Troubleshooting 控制集 Control SetsNtldr从HKEY_LOCAL_MACHINESYSTEM注册表子键中读取相关信息,该子健中的数据创建于System32Config System文件,故而Ntldr能够决定哪些设备驱动在系统启动时 装载。通常,注册表中存在几个 control sets,其后面的序号取决于系统设定多长时间变更 一次。提示:如非必要不要直接编辑注册表。注册表编辑器绕开了系统保护机制,您的修改有可能会破坏系统,严重者甚至需要重新安装Windows。如果你必须编辑注册表,请事先作备份,并详细阅读 Microsoft? Windows?

40、2000 Server Resource Kit 中关于 Registry Referenee 的章节 ndows/reskits/webresources.典型的注册表控制集control set子键如下: CurrentControlSet, 个注册在 SelectCurrent 项中,指向 ControlSetxxx 子键的指针 (xxx 代表一个 control set编号,比如 001)Clone, 份CurrentControlSet的拷贝,当您每次启动计算机的时候创建。(gnaw0725注:此处原文如此,有待考证)Select,包含如下键值:Default,指针指向系统指定用户下

41、次登陆所使用的控制集编号(比如00仁ControlSet001)。如果没有错误发生,或者并非由LastKnownGood启动项所设置,此 control set编号将为Default, Current和LastKnownGood 注册项所影响(假定当前用户可以成功登录)Current,指向此次用于启动系统的控制集 Failed,指向没有成功启动Windows XP Professional的控制集。当使用 LastKnownGood选项启动系统时,此项被更新(gnaw0725注:表示Windows XP在其中保存失败启动产生的数据的控件组。此控件组在用户第一次调用最近一次的正确配置”选项之前并

42、不实际存在。)LastKnownGood,指向上次用户会话所使用的控制集。当用户登录的时候,LastKnownGood控制集被前一次用户会话使用的设置信息所更新。除非您从 Windows Advaneed Options菜单中选择Last Known Good Configuration,Ntldr将使用 Default键值所标示的控制集。核心层使用 Ntldr提供的内部数据结构创建HKEY_LOCAL_MACHINEHARDW ARE子键,其中包含在系统启动阶段收集的硬件信息。这些数据包含信息包括各种硬件组件和分配给每个设备的系统资源。您可以通过查看在启动过程中显示的进度指示器来监控核心层加

43、载过程 关于 Last Known Good Configuration 的相关 信息,您可 以查阅 Tools for Troubleshoot ing Win dows XP Professio nal支持设备扩展。新的或者更新的驱动程序并不存在于 Windows XP Professional操作系统光盘上,而是由于硬件厂商提供。驱动程序是核心 模式组件 , 需Drivers are kern el-mode comp onents required by devices to fun ctio n within an operat ing system.服务是支持操作系统功能和应用程序

44、的组件。与用户应用程序相比,服务 可以运行在一个不同的上下文,通常不会提供用户可以设置的选项。服务,比如脱机打印Print Spooler,不需要用户登录即可运行,而且与登陆到系统的用户无关。Windows XPProfessio nal驱动程序和服务系统文件通常被存放在 systemrootSystem32 和 systemrootSystem32Drivers 目录下,以.exe, .sys, or .dll 等扩展名保存。驱动程序也是服务,因此在核心层初始化期间,Ntldr和Ntoskrnl.exe按照存储在 KEY_LOCAL_MACHINESYSTEMCurre ntCon trol

45、SetServicesservice name注册表子键中的数值来确定装载的驱动程序和服务次序。例如,Ntldr首先搜索Services子键中Start值为0的服务,比如硬盘控制器。当Ntldr启动Ntoskrnl.exe后,一个Ntoskrnl.exe组件搜索并启动驱动程序,比如网络协议,这些启动项Start值为1.Table 28.3,列出了 Start项的值(十进制)。Boot类型的驱动(Start值为0的项)文件系统驱动程序的Start值始终为0,因为启动 Windows XP Professional需要它们的支持。表28.3 服务名 Start项的赋值值Start类型关于Start

46、项赋值的描述0 Boot基于x86系统Ntldr或者Itanium IA64ldr上的固件调用模式指定装载的驱动,如果 没有错误发生,核心层Kernel将启动该驱动程序1 System 指定在系统核心层Kernel初始化期间被 Windows XP Professional boot drivers 所调用的驱动程序2 Auto load指定在系统启动时被会话管理器(Smss.exe)或者服务控制器(Services.exe)所加载的驱动程序或者服务。3 Load on dema nd指定一个通过用户、进程或者其他服务手动启动的驱动程序或者服务4 Disabled指定一个禁止(不启动)的驱动程

47、序或者服务。表28.4列出了 Type项的一些值(十进制)表28.4服务名 Type项的赋值值Type项赋值描述1指定一个核心设备驱动程序2指定一个文件系统驱动程序(也是一个核心设备驱动程序)4指定参数传递给设备驱动程序16指定一个遵循服务控制协议的服务,该服务可以独立运行在一个进程中,且可以为服务 控制器所启动32指定一个可以和其他服务共享进程的服务一些驱动程序和服务需要在启动之前确定之间的相互依赖关系。通过查看HKEY_LOCAL_MACHINESYSTEMCurre ntCo ntrolSetServicesservice name下DependOnGroup和DependOnServi

48、ce 项,您可以找到这个依存关系的列表。关于使用依 赖关系阻止或者延迟驱动程序或者服务启动的信息,请查看Temporarily Disabli ngServices。该服务子键也包含了影响驱动程序和服务如何加载的信息,表28.5中描述了其中的一部分。表28.5注册表其他 服务名 项项描述DependOnGroup此组中所描述的项目,至少有一个在当前服务装载前必须被加载。子键SYSTEMCurre ntCo ntrolSetCo ntrolServiceGroupOrder包含服务组装载次序DependOnService此列表中描述的服务,必须在当前服务之前加载。Description组件描述D

49、isplayName指定组件的显示名称ErrorControl控制一个驱动程序错误是需要系统使用LastKnownGood控制集还是提示一个错误停止信息。如果值为0x0(忽略,没有错误报告),不会显示警告信息,继续执行启动。如果值为0x1 (普通,报告错误),将错误记录到系统日志并提示警告信息,但继续启动过程。如果值为0x2 (严重),将事件记录到系统日志, 使用LastKnownGood设置,重新启动系统, 执行启动过程。如果值为0x3 (关键),将事件记录到系统日志,使用LastKnownGood设置,重新启动系统。如果当前启动已经使用LastKnownGood设定,则显示错误停止信息。G

50、roup指定驱动程序或者服务隶属的组。此项设定允许驱动程序或者服务同步启动(比入: 文件系统驱动程序)注册表子键HKEY_LOCAL_MACHINESYSTEMCurre ntCo ntrolSetC on trolServiceGroupOrder中 的List项指定了组项启动顺序。ImagePath如果存在ImagePath项,该项用于标示驱动程序或者服务的路径和文件名。您可以使用 Windows Explorer核实这些路径和文件名。ObjectName指定一个对象名。 如果 Type项指定一个 Windows XP Professional服务,那么 它就代表服务运行时用于登陆的帐户名

51、。Tag指定一个驱动程序在驱动程序组中的启动顺序。会话管理器当所有标志为 Boot和Startup数据类型的注册表子键执行完成后,kernel开始加载会话管理器Session Manager,由它(Smss.exe)执行后续重要的初始化工作,比如:创建系统环境变量启动 Windows子系统核心保护模式(通过 systemrootSystem32Win32k.sys 实现),这将Windows XP Professional从文本模式切换至图形模式。基于Windows的应用程序都运行在Windows子系统上,这个环境下允许应用程序访问操作系统功能函数,比如在屏幕上显示 信息。启动 Windows

52、子系统用户模式部分(通过systemrootSystem32Csrss.exe实现).启动登陆管理器(通过 systemrootSystem32Winlogon.exe 实现).创建辅助虚拟内存页文件为存放在下列子键中的文件列表,执行延迟的重命名操作。HKEY_LOCAL_MACHINESYSTEMCurre ntCo ntrolSetCo ntrolSessio nManagerPendingFileRenameOperations.比如:当您安装了一个新的驱动程序或者应用程序 后,系统可能会提示您重新启动,以便Windows XP Professional能够替换当前正在使用的文件。Win

53、dows子系统和基于它执行的应用程序是用户模式进程,它们不能直接访问硬件和设备 驱动。用户模式进程执行优先级低于核心进程,当操作系统需要更多内存的时候,它可以将被用户模式下进程使用的内存缓存到虚拟页面文件。关于用户模式和核心模式组件的信息, 请参考Common Stop Messages for Troubleshooting。会话管理器Session Manager将搜索注册表,以获得服务信息,注册表键值如下:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSessionManager 包含一个在服务装载之前运行的命令列表Autochk.exe

54、工具由 BootExecute项的值和存储在Memory Management子键中的虚拟内存(页面文件)设置所指定。 Autochk,是 Chkdsk工具的一个版本,如果操作系统检测到一个文件系统错误,需要在完成启动过程之前进行修复,那么就会在启动的时候运行它。关于Autochk和 Chkdsk, Troubleshooting Disks and FileSystems。HKEY_LOCAL_MACHINESYSTEMCurre ntCo ntrolSetCo ntrolSessio nMan agerSubsystems包含一个有效子系统的列表。比如Csrss.exe包含Windows子

55、系统中的一部分,用户模式。HKEY_LOCAL_MACHINESYSTEMCurre ntCo ntrolSetServicesservice name.服务控制管理器(Service Control Manager)初始化那些设置为启动自动加载的服务。登录阶段在此阶段 Windows子系统启动 Winlogon.exe,此模块为系统服务,以完成用户的登入或者 登出的动作。Winlogon.exe所完成的功能如下:启动服务子系统(Services.exe),也称为服务控制管理器(SCM).启动本地安全性授权进程Local Security Authority (LSA) (Lsass.exe)

56、.在出现开始登陆提示时,侦测CTRL+ALT+DEL 组合键。图形化识别和验证Graphical Identification and Authentication (GINA)组件获取用户名和密码,并将这些信息传送给LSA进行安全验证。如果用户提供有效验证,那么通过使用Kerberos V 5验证协议或者NTLM可以或者访问权限。关于安全组件的信息,比如LSA,Kerberos V5 协议或者 NTLM, Distributed Systems Guide of the Microsoft? Windows? 2000 Server Resource Kit.当服务控制管理器 Service

57、 Control Ma nager初始化自动装载服务项和驱动时,Win logo n开始初始化安全和认证组件,当用户登录后,系统进如下动作:更新控制集 Control sets。 控制集为 LastKnownGood注册项所影响,并随Clone项中的内容一同更新。Clone,是CurrentControlSet项的一份拷贝,当您每次启动计算机时被创建。 当用户登录的时候,LastKnownGood控制集被前一次用户会话使用的设置信息所更新。实施策略。组策略策略设定开始实施于用户和计算机帐户。关于组策略的相关信息,请查看Planning Deployments, Managing Desktop

58、s, 禾口 Authorization and Access Control ,以及 Windows 2000 Server Resource Kit中分布式系统指南中关于 Group Policy 的章节,同时您也可以参考其网站资源站点 ndows/reskits/webresources上关于 Change and Configuration ManagementDeployme nt Guide 的链接。运行启动程序。Win dows XP Professio nal启动登陆脚本,启动程序组,并且启动在如下注册表子键和启动目录所关联的服务项:HKEY_LOCAL_MACHINESOFTW

59、AREMicrosoftWi ndowsCurre ntVersio nRu nonceRunHKEY_LOCAL_MACHINESOFTWAREMicrosoftWi ndowsCurre ntVersio nRun HKEY_CURRENT_USERSoftwareMicrosoftWi ndows NTCurre ntVersio nWin dowsRun HKEY_CURRENT_USERSoftwareMicrosoftWi ndowsCurre ntVersio nRun HKEY_CURRENT_USERSoftwareMicrosoftWi ndowsCurre ntVersi

60、o nRu nOnce systemdriveDocume nts and Setti ngsAII UsersStart Men uProgramsStartup systemdriveDocume nts and Sett in gsusernameStart Men uProgramsStartup win dirProfiIesAII UsersStart Me nuProgramsStartup wi ndirProfilesusernameStart Men uProgramsStartupwindirProfiIes目录文件夹仅存在于从Windows NT 4.0升级的系统上。直

61、到用户成功登陆到计算机后,Windows XP Professional启动过程最终完成。即插即用检测即插即用检测不与登陆过程同步运作,它依赖于系统固件,硬件,设备驱动程序以及操作系统功能,从而能够检测和枚举新的设备。Win dowsXP Professional为使用ACPI固件的设备优化即插即用支持,并且允许增强功能,比如硬件 资源共享。当即插即用能够很好协调工作时,Windows XP Professional能够在最小用户参与的前提下,检测到新的设备,分配系统资源,安装或者请求驱动程序。ACPI特性对于移动用户是非常有用的,这些特性可以很好的支持待机、休眠、 冷热插拔等功能。关于即插即用检测和系统资源,请参考Ma nagi ng Devices and Supporti ng Mobile UsersBIOS即基本输入

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!