计算机加电自检过程Word下载.docx
- 文档编号:19124780
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:12
- 大小:452.61KB
计算机加电自检过程Word下载.docx
《计算机加电自检过程Word下载.docx》由会员分享,可在线阅读,更多相关《计算机加电自检过程Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
系统BIOS接着会查找其它设备的BIOS程序,找到之后同样要调用这些BIOS内部的初始化代码来初始化相关的设备。
第四步:
查找完所有其它设备的BIOS之后,系统BIOS将显示出它自己的启动画面,其中包括有系统BIOS的类型、序列号和版本号等内容。
第五步:
接着系统BIOS将检测和显示CPU的类型和工作频率,然后开始测试所有的RAM,并同时在屏幕上显示内存测试的进度,我们可以在CMOS设置中自行决定使用简单耗时少或者详细耗时多的测试方式。
第六步:
内存测试通过之后,系统BIOS将开始检测系统中安装的一些标准硬件设备,包括硬盘、CD-ROM、串口、并口、软驱等设备,另外绝大多数较新版本的系统BIOS在这一过程中还要自动检测和设置内存的定时参数、硬盘参数和访问模式等。
第七步:
标准设备检测完毕后,系统BIOS内部的支持即插即用的代码将开始检测和配置系统中安装的即插即用设备,每找到一个设备之后,系统BIOS都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断、DMA通道和I/O端口等资源。
第八步:
到这一步为止,所有硬件都已经检测配置完毕了,多数系统BIOS会重新清屏并在屏幕上方显示出一个表格,其中概略地列出了系统中安装的各种标准硬件设备,以及它们使用的资源和一些相关工作参数。
第九步:
接下来系统BIOS将更新ESCD(ExtendedSystemConfigurationData,扩展系统配置数据)。
ESCD是系统BIOS用来与操作系统交换硬件配置信息的一种手段,这些数据被存放在CMOS(一小块特殊的RAM,由主板上的电池来供电)之中。
通常ESCD数据只在系统硬件配置发生改变后才会更新,所以不是每次启动机器时我们都能够看到"
UpdateESCD...Success"
这样的信息,不过,某些主板的系统BIOS在保存ESCD数据时使用了与Windows9x不相同的数据格式,于是Windows9x在它自己的启动过程中会把ESCD数据修改成自己的格式,但在下一次启动机器时,即使硬件配置没有发生改变,系统BIOS也会把ESCD的数据格式改回来,如此循环,将会导致在每次启动机器时,系统BIOS都要更新一遍ESCD,这就是为什么有些机器在每次启动时都会显示出相关信息的原因。
第十步:
ESCD更新完毕后,系统BIOS的启动代码将进行它的最后一项工作,即根据用户指定的启动顺序从软盘、硬盘或光驱启动。
以从C盘启动为例,系统BIOS将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的分区引导记录,而分区引导记录将负责读取并执行IO.SYS,这是DOS和Windows9x最基本的系统文件。
Windows9x的IO.SYS首先要初始化一些重要的系统数据,然后就显示出我们熟悉的蓝天白云,在这幅画面之下,Windows将继续进行DOS部分和GUI(图形用户界面)部分的引导和初始化工作。
如果系统之中安装有引导多种操作系统的工具软件,通常主引导记录将被替换成该软件的引导代码,这些代码将允许用户选择一种操作系统,然后读取并执行该操作系统的基本引导代码(DOS和Windows的基本引导代码就是分区引导记录)。
上面介绍的便是计算机在打开电源开关(或按Reset键)进行冷启动时所要完成的各种初始化工作,如果我们在DOS下按Ctrl+Alt+Del组合键(或从Windows中选择重新启动计算机)来进行热启动,那么POST过程将被跳过去,直接从第三步开始,另外第五步的检测CPU和内存测试也不会再进行。
我们可以看到,无论是冷启动还是热启动,系统BIOS都一次又一次地重复进行着这些我们平时并不太注意的事情,然而正是这些单调的硬件检测步骤为我们能够正常使用电脑提供了基础
========================
我们每天使用计算机必须要经过的一个步骤就是启动了,但是,你是否知道计算机到底是怎样启动的呢?
或许,你会认为这并不重要,是的,对于我们一般人而言,它确实不重要,事实上,我们更关心它启动得有多快,但是,这却实在是一个很“基本”的问题,每天都在用计算机,却不知道它是怎样启动的,似乎总感觉有些别扭(当然了,多数人都不知道的话也就没什么好别扭的了)。
下面就为大家介绍一下我们使用的计算机到底是怎样启动起来的,由于这个问题比较大,我将它分为了两部分来介绍,这样可能比较好接受一些。
这次只介绍前半部分(即和操作系统无关的部分)。
另外,为方便大家理解,我特意制作了相关的流程图,建议大家对照着看。
如果你愿意了解一下,希望你能通过下面的介绍弄懂这个问题,如果你没什么兴趣,也没关系,毕竟,它是个比较边缘的东西,不太了解也行。
像大多数介绍此知识的文章一样,这里还是需要先介绍一下两个基本而重要的概念。
BIOS:
即“BasicInput/OutputSystem”(基本输入输出系统),它是一组被“固化”在计算机主板上的一块ROM中直接关联硬件的程序,保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序,其主要功能是为计算机提供最底层的、最直接的硬件设置和控制,它包括系统BIOS(主板BIOS).其它设备BIOS(例如IDE控制器BIOS、显卡BIOS等)其中系统BIOS占据了主导地位.计算机启动过程中各个BIOS的启动都是在它的控制下进行的.
内存地址:
我曾在虚拟内存的介绍中提到过它,我们知道,内存空间的最基本单位是位,8位视为一个字节,即我们常用的单位B,内存中的每一个字节都占有一个地址(地址是为了让CPU识别这些空间,是按照16进制表示的),而最早的8086处理器只能识别1MB(2的20次方B)的空间,这1MB内存中低端(即最后面)的640KB就被称为基本内存,而剩下的内存(所有的)则是扩展内存。
这640KB的空间分别由显存和各BIOS所得。
现在正式开始介绍计算机的启动过程(从打开电源到操作系统启动之前)
1、当电源开关按下时,电源开始向主板和其他设备供电,此时电压并不稳定,于是,当主板认为电压并没有达到CMOS中记录的CPU的主频所要求的电压时,就会向CPU发出RESET信号(即复位,不让CPU进一步运行),不过仅一瞬间不稳定的电压就能达到符合要求的稳定值,此时复位信号撤销,CPU马上从基本内存的BIOS段读取一条跳转指令,跳转到BIOS的真正启动代码处,如此,系统BIOS启动,此后的过程都由系统BIOS控制。
2、系统BIOS启动后会进行加电自检POST(PowerOnSelfRest)。
不过这个过程进行得很快,它主要是检测关键设备(如电源、CPU芯片、BIOS芯片、基本内存等电路是否存在以及供电情况是否良好。
如果自检出现了问题,系统喇叭会发出警报声(根据警报声的长短和次数可以知道到底出现了什么问题)。
3、如果自检通过,系统BIOS会查找显卡BIOS,找到后会调用显卡BIOS的初始化代码,此时显示器就开始显示了(这就是为什么自检失败只能靠发声进行提醒了)。
显卡BIOS会在屏幕上显示显卡的相关信息(不过现在的笔记本似乎并不显示这个)。
4、显卡检测成功后会进行其他设备的测试,通过后系统BIOS重新执行自己的代码,并显示自己的启动画面,将自己的相关信息显示在屏幕上,而后会进行内存测试(这些在现在的计算机上也看不到了),仅仅是短暂出现系统BIOS设置页面,此时就可以对系统BIOS进行需要的设置了,完成后会重新启动。
5、此后BIOS会检测系统的标准硬件(如硬盘、软驱(虽然现在很多计算机已没有软驱了)、串行和并行接口等),检测完成后会接着检测即插即用设备,如果有的话就为该设备分配中断、DMA通道和I/O端口等资源,到了这里,所有的设备都已经检测完成了,老机会进行一次清屏并显示一个系统配置表,如果和上次启动相比出现了硬件变动,BIOS还会更新ESCD,即“ExtendedSystemConfigurationData”(扩展系统配置数据),它是系统BIOS用来与操作系统交换硬件配置信息的数据,这些数据被存放在CMOS中。
现在的机器则不再显示这些了。
6、当上面的所有步骤都顺利进行以后,BIOS将执行最后一项任务:
按照用户指定的启动顺序进行启动(即我们经常需要用到的设置系统从哪里启动,一般默认是硬盘,如果需要安装系统,还会设置为光驱或USB设备),注意,这里是指的启动顺序,如果设置为从光驱启动,而光驱中又没有光盘的话,系统还是会接着从硬盘启动的。
至此,操作系统启动之前的所有启动步骤都完成了,如果从硬盘启动的话,接着就是操作系统的启动过程了,关于这一部分,不同的系统也是存在差别的,我们谨以xp和vista为例,由于内容较多,就下一次再介绍吧。
下面是上面的启动过程的流程图,对照此图理解上面的内容可能会更方便些:
操作系统启动之前的计算机启动过程我已经在《计算机启动过程图文详解
(一)----计算机初始化启动过程》一文中详细介绍过,今天就介绍一下初始化启动后的操作系统的启动过程。
我们只介绍Windows系统的启动,由于vista和windows7操作系统的启动采用了全新的方式,所以这里需要对xp和Vista(Windows7与之基本相同)分别介绍。
为了不至于导致大家看不明白,我只介绍一个大概的过程。
xp系统的启动
当系统BIOS完成初始化后,会将控制权交给主引导纪录(即MBR:
MasterBootRecord),MBR会检查硬盘分区表,找到硬盘上的引导分区,然后将引导分区上的操作系统引导扇区调入内存,并执行其NTDLR文件。
NTDLR会将微处理器从实模式(此模式下计算机认为内存为64KB,其他未扩展内存)转换为32位的平面内存模式(此模式下认为CPU可识别的所有内存均是可用内存)。
然后,NTDLR启动mini-filesystemdrivers以便它能够识别所有采用NTFS和FAT(FAT32)文件系统的硬盘分区。
此后NTLDR会读取boot.ini文件,以决定应该启动哪一个系统,如果boot.ini中仅显示了一个系统或者将timeout(系统选择页面停留时间)参数设为0的话,这个系统选择页面就不会出现而是直接启动默认的系统。
而如果boot.ini中含有多个启动引导项,当选择了不同的系统后计算机接下来的启动流程就会产生区别,如果选择的不是xp,NTLDR会读取bootsect.dos来启动相应系统,如果选择了xp的话,就会接着转入硬件检测阶段。
在这个阶段,会收集计算机的硬件信息列表并将其返回到NTLDR中,以便以后将这些信息写入注册表(具体而言是HKEY_LOCAL_MACHINE下的hardware)中。
然后会进行硬件配置选择,如果计算机含多个硬件配置,会出现配置选择页面,如果仅有一个的话,系统直接进入默认配置。
此后开始加载xp内核,NTLDR首先加载ntoskrnl.exe(即xp系统内核),不过此时并未初始化内核,而是紧接着加载了硬件抽象层(即HAL,一个hal.dll文件),然后加载底层设备驱动程序和需要的服务。
完成这些后才开始初始化内核,此时我们就能看到xp的LOGO和启动进度条了,在进度条运动的过程中,内核使用刚才收集到的意见配置信息创建HKEY_LOCAL_MACHINE的hardware键。
然后创建计算机数据备份,初始化并加载设备驱动程序,SessionManager启动xp的高级子系统及其服务并有win32子系统启动Winlogon进程。
Winlogon.exe会启动LocalSecurityAuthority,此时会显示xp的欢迎屏幕或者登陆确认框(如果设置了多账户或密码的话)。
这个时候,系统还在继续初始化刚才没有完成的驱动程序。
欢迎屏幕结束或者用户正确登陆后,ServiceController最后还需要检查是否还有服务需要加载并进行加载。
此后xp桌面出现,系统启动完成。
Vista(Windows7)的启动
Vista和Windows7的启动过程就简单多了(其实是将启动步骤进行了简化),它采用了全新的启动方式。
具体如下:
MBR得到控制权后,同样会读取引导扇区,以便启动Windows启动管理器的bootmgr.exe程序,
Windows启动管理器的bootmgr.exe被执行时就会读取BootConfigurationDatastore(其中包含了所有计算机操作系统配置信息)中的信息,然后据此生成启动菜单,当然,如果只安装了一个系统,启动引导选择页不会出现,而如果安装并选择了其他系统,系统就会转而加载相应系统的启动文件。
启动Vista时,同样会加载ntoskrnl.exe系统内核和硬件抽象层hal.dll,从而加载需要的驱动程序和服务。
内核初始化完成后,会继续加载会话管理器smss.exe(注意,正常情况下这个文件存在于Windows/system32文件夹下,如果不是,很可能就是病毒)。
此后,Windows启动应用程序wininit.exe(正常情况下它也存在于Windows/system32文件夹下,如果不是,很可能是病毒)会启动,它负责启动services.exe(服务控制管理器)、lsass.exe(本地安全授权)和lsm.exe(本地会话管理器),一旦wininit启动失败,计算机将会蓝屏死机。
当这些进程都顺利启动之后,就可以登录系统了。
至此,Vista(Windows7)启动完成。
另外,补充一点小知识:
我们知道,在Vista或Windows7系统下安装xp后,开机时就会直接启动xp,并不出现系统启动的选择页,这是因为安装xp时,它会重写MBR而将Vista或Windows7的引导记录覆盖掉,而在xp下安装Vista或Windows7后就不存在这个问题了,这是因为虽然Vista和Windows7虽然也会覆盖引导记录,但是它也会将原有的引导程序保存,引导权虽然同样被Vista或Windows7抢夺,但由于它们支持跳转到以前的引导程序上,所以可以直接显示多系统页面。
最后,由于时间关系,我没有专门制作流程图,就附上找到的一张系统启动流程图吧。
此图比较简单,并没有列出全部的启动流程,但附带了计算机初始化启动的过程,比较全面了。
如图:
对于电脑用户来说,打开电源启动电脑几乎是每天必做的事情,但计算机在显示这些启动画面的时候在做什么呢?
大多数用户都未必清楚了。
下面就向大家介绍一下从打开电源到出现Windows9X的蓝天白云,计算机到底干了些什么工作。
电脑的启动过程中有一个非常完善的硬件自检机制。
对于采用AwardBIOS的电脑来说,它在上电自检那短暂的几秒钟里,就可以完成100多个检测步骤。
下面我们就来仔细看看计算机的启动过程。
第一步:
当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电压还不稳定,主板控制芯片组会向CPU发出并保持一个RESET(重置)信号,让CPU初始化。
当电源开始稳定供电后(当然从不稳定到稳定的过程也只是短暂的瞬间),芯片组便撤去RESET信号(如果是手动按下计算机面板上的Reset按钮来重启机器,那么松开该按钮时芯片组就会撤去RESET信号),CPU马上就从地址FFFF0H处开始执行指令,这个地址在系统BIOS的地址范围内,无论是AwardBIOS还是AMIBIOS,放在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。
第二步:
系统BIOS的启动代码首先要做的事情就是进行POST(PowerOnSelfTest,加电自检),POST的主要任务是检测系统中的一些关键设备是否存在和能否正常工作,如内存和显卡等。
由于POST的检测过程在显示卡初始化之前,因此如果在POST自检的过程中发现了一些致命错误,如没有找到内存或者内存有问题时(POST过程只检查640K常规内存),是无法在屏幕上显示出来的,这时系统PIOS可通过喇叭发声来报告错误情况,声音的长短和次数代表了错误的类型。
在正常情况下,POST过程进行得非常快,我们几乎无法感觉到这个过程。
第三步:
接下来系统BISO将查找显示卡的BIOS,存放显示卡BIOS的ROM芯片的起始地址通常在C0000H处,系统BIOS找到显卡BIOS之后调用它的初始化代码,由显卡BIOS来完成显示卡的初始化。
大多数显示卡在这个过程通常会在屏幕上显示出一些显示卡的信息,如生产厂商、图形芯片类型、显存容量等内容,这就是我们开机看到的第一个画面,不过这个画面几乎是一闪而过的,也有的显卡BIOS使用了延时功能,以便用户可以看清显示的信息。
接着系统BIOS会查找其它设备的BIOS程序,找到之后同样要调用这些BIOS内部的初始化代码来初始化这些设备。
第四步:
查找完所有其它设备的BIOS之后,系统BIOS将显示它自己的启动画面,其中包括有系统BIOS的类型、序列号和版本号等内容。
同时屏幕底端左下角会出现主板信息代码,包含BIOS的日期、主板芯片组型号、主板的识别编码及厂商代码等。
第五步:
接着系统BIOS将检测CPU的类型和工作频率,并将检测结果显示在屏幕上,这就是我们开机看到的CPU类型和主频。
接下来系统BIOS开始测试主机所有的内存容量,并同时在屏幕上显示内存测试的数值,就是大家所熟悉的屏幕上半部份那个飞速翻滚的内存计数器。
这个过程我们可以在BIOS设置中选择耗时少的"
快速检测"
或者耗时多的"
全面检测"
方式。
第六步:
内存测试通过之后,系统BIOS将开始检测系统中安装的一些标准硬件设备,这些设备包括:
硬盘、CD-ROM、软驱、串行接口和并行接口等连接的设备,另外绝大多数新版本的系统BIOS在这一过程中还要自动检测和设置内存的定时参数、硬盘参数和访问模式等。
第七步:
第八步:
到这一步为止,所有硬件都已经检测配置完毕了,系统BIOS会重新清屏并在屏幕上方显示出一个系统配置列表,其中概略地列出了系统中安装的各种标准硬件设备,以及它们使用的资源和一些相关工作参数。
第九步:
按下来系统BIOS将更新ESCD(ExtendedSystemConfigurationData,扩展系统配置数据)。
ESCD是系统BIOS用来与操作系统交换硬件配置信息的数据,这些数据被存放在CMOS(一小块特殊的RAM,由主板上的电池来供电)之中。
通常ESCD数据只在系统硬件配置发生改变后才会进行更新,所以不是每次启动机器时我们都能够看到"
UpdateESCD...Success"
这样的信息,不过,某些主板的系统BIOS在保存ESCD数据时使用了与Windows9x不相同的数据格式,于是Windows9x在它自己的启动过程中会把ESCD数据转换成自己的格式,但在下一次启动机器时,即使硬件配置没有发生改变,系统BIOS又会把ESCD的数据格式改回来,如此循环,将会导致在每次启动机器时,系统BIOS都要更新一遍ESCD,这就是为什么有的计算机在每次启动时都会显示"
信息的原因。
第十步:
ESCD数据更新完毕后,系统BIOS的启动代码将进行它的最后一项工作,即根据用户指定的启动顺序从软盘、硬盘或光驱启动。
以从C盘启动为例,系统BIOS将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的分区引导记录,而分区引导记录将负责读取并执行IO.SYS,这是DOS和Windows9x最基本的系统文件。
Windows9x的IO.SYS首先要初始化一些重要的系统数据,然后就显示出我们熟悉的蓝天白云,在这幅画面之下,Windows将继续进行DOS部分和GUI(图形用户界面)部分的引导和初始化工作。
如果系统这中安装有引导多种操件系统的工具软件,通常主引导记录将被替换成该软件的引导代码,这些代码将允许用户选择一种操作系统,然后读取并执行该操作系统的基本引导代码(DOS和Windows的基本引导代码就是分区引导记录)。
上面介绍的便是计算机在打开电源开关(或按Reset键)进行冷启动时所要完成的各种初始化工作,如果我们在DOS下按Ctrl+Alt+Del组合键(或从Windows中选择重新计算机)来进行热启动,那么POST过程将被跳过去,直接从第三步开始,另外第五步的检测CPU和内存测试也不会再进行。
无论是冷启动还是热启动,系统BIOS都会重复上面的硬件检测和引导过程,正是这个不起眼的过程保证了我们可以正常的启动和使用计算机
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 自检 过程
![提示](https://static.bdocx.com/images/bang_tan.gif)