首页 百科知识 主板启动顺序

主板启动顺序

时间:2022-10-16 百科知识 版权反馈
【摘要】:BIOS芯片对于主板的意义在于对主板全面的管理。系统完成POST自检以后,ROM BIOS就会按照系统CMOS设置中保存的驱动器启动顺序搜索软硬盘驱动器及CD-ROM、网络服务器等,有效地启动驱动器,接着读入操作系统引导记录,然后将系统控制权交给引导记录控制,并由引导记录来完成系统的顺序启动。前面提到过的BIOS在开机过程中进行的检测,是BIOS重要的功能之一,下面就来详细讲解一下BIOS在启动时的检测顺序。

3.1.2 主板BIOS启动顺序

1.BIOS的管理内容

BIOS芯片对于主板的意义在于对主板全面的管理。BIOS管理功能的强弱很大程度上也决定了一款主板的优劣。BIOS的主要管理功能包括以下几点:

(1)BIOS中断服务程序。BIOS中断服务程序实质上就是计算机系统中软件与硬件之间的一个可编程接口,主要用于程序软件功能与计算机硬件之间的接口,例如MS-DOS对于软驱、光驱、硬盘等设备,采用中断方式进行控制。

(2)计算机部件配置记录。它是放在一块可写的CMOS RAM芯片中的,主要保存着系统的基本情况、CPU参数、软硬盘驱动器等部件的信息。在BIOS ROM芯片中装有“系统设置程序”,重点用来设置CMOS RAM中的各项计算机参数。这个程序在开机时按某个键就可进入CMOS RAM设置状态,并会提供给用户一个良好的操作界面。

(3)POST(Power-On Self Test)加电自检。一部计算机接通电源后,系统首先利用CPU指令调用的BIOS程序对内部各个设备进行检查。一般完整的BIOS自检包括对CPU、640KB基本内存、1MB以上的扩展内存、ROM、主板、CMOS存储器、串并口、显卡、软硬盘系统及键盘进行初步测试,开机未显示以前,一般对需检测的内容检测3次以上。一旦在自检中发现问题,系统将给出提示信息或声音代码警告。

(4)BIOS系统设置程序。系统完成POST自检以后,ROM BIOS就会按照系统CMOS设置中保存的驱动器启动顺序搜索软硬盘驱动器及CD-ROM、网络服务器等,有效地启动驱动器,接着读入操作系统引导记录,然后将系统控制权交给引导记录控制,并由引导记录来完成系统的顺序启动。

2.主板BIOS启动顺序中的各部分功能

(1)自检及初始化

这部分负责启动计算机,具体有3个部分。

1)用于计算机刚接通电源时对硬件部分的检测,也叫做加电自检(POST),功能是检查计算机是否良好,例如内存有无故障等。

2)初始化,包括创建中断向量、设置寄存器、对一些外部设备进行初始化和检测等。其中很重要的部分是BIOS设置,主要是针对硬件的设置参数,当计算机启动时会读取这些参数,并和实际硬件设置进行比较,如果不符合,会影响系统的启动。

3)引导程序,功能是引导DOS或其他操作系统。BIOS先从软盘或硬盘的开始扇区读取引导记录,如果没有找到,则会在显示器上显示没有引导设备,如果找到引导记录会把计算机的控制权转给引导记录,由引导记录把操作系统装入计算机,在计算机启动成功后,BIOS的任务就完成了。

(2)程序服务处理和硬件中断处理

虽然是独立的两个部分,但它们在使用上是密切相关的。程序服务处理程序主要是为应用程序和操作系统服务,这些服务主要与输入/输出设备有关,例如读磁盘、文件输出到打印机等。为了完成这些操作,BIOS必须直接与计算机的I/O设备打交道,它通过端口发出命令,向各种外部设备传送数据以及从它们那儿接收数据,使程序能够脱离具体的硬件操作,而硬件中断处理则分别处理PC机硬件的需求,因此这两部分分别为软件和硬件服务,组合到一起,使计算机系统正常运行。

BIOS的服务功能是通过调用中断服务程序来实现的,这些服务分为很多组,每组有一个专门的中断。例如视频服务,中断号为10H;屏幕打印,中断号为05H;磁盘及串行口服务,中断号为14H等。每一组又根据具体功能细分为不同的服务号。应用程序需要使用哪些外设、进行什么操作只需要在程序中用相应的指令说明即可,无需直接控制。

3.BIOS启动顺序

前面提到过的BIOS在开机过程中进行的检测,是BIOS重要的功能之一,下面就来详细讲解一下BIOS在启动时的检测顺序。BIOS检测硬件的步骤如图3-3所示。

img52

图3-3 BIOS检测步骤

打开计算机的电源,系统将执行POST(上电自检)程序。完整的POST包括对CPU、系统主板、基本的640KB内存、1MB以上的扩展内存、系统ROM BIOS的测试;CMOS中系统配置的检验;初始化视频控制器,测试视频内存、检验视频信号和同步信号,对CRT接口进行测试,对键盘、软驱、硬盘及CD-ROM子系统作检查,对并行口(打印机)和串行口(RS232)进行检查。当自检完成后,系统会自动转入BIOS的下一步骤,即从A驱、C驱或CD-ROM以及网络服务器上寻找操作系统进行启动,然后将控制权交给操作系统。BIOS检测开始以前,计算机还要做的另外一件事情就是备份BIOS程序内容。Shadow RAM(影子内存)是一块被写保护的内存区域,位于640KB~1MB之间的UMA(上端内存)的一部分,用于存放BIOS的备份。当开机时,计算机把BIOS的信息拷贝到影子内存里,一直保存到关机为止。由于RAM的速度比ROM稍快,所以影子内存提高了系统性能。BIOS检测具体步骤有以下内容:

(1)系统BIOS的启动代码首先要做的事情就是进行POST(Power-On Self Test,加电后自检),POST的主要任务是检测系统中一些关键设备是否存在和能否正常工作,例如内存和显卡等设备。由于POST是最早进行的检测过程,此时显卡还没有初始化,如果系统BIOS在进行POST的过程中发现了一些致命错误,例如没有找到内存或者内存有问题,那么系统BIOS就会直接控制喇叭发声来报告错误,声音的长短和次数代表了错误的类型。在正常情况下,POST过程进行得非常快,我们几乎无法感觉到它的存在,POST结束之后就会调用其他代码来进行更完整的硬件检测。

(2)接下来系统BIOS将查找显卡的BIOS,存放显卡BIOS的ROM芯片的起始地址通常设在C0000H处,系统BIOS在这个地方找到显卡BIOS之后就调用它的初始化代码,由显卡BIOS来初始化显卡,此时多数显卡都会在屏幕上显示出一些初始化信息,介绍生产厂商、图形芯片类型等内容,不过这个画面几乎是一闪而过。系统BIOS接着会查找其他设备的BIOS程序,找到之后同样要调用这些BIOS内部的初始化代码来初始化相关的设备。

(3)查找完所有其他设备的BIOS之后,系统BIOS将显示出它自己的启动画面,其中包括系统BIOS的类型、序列号和版本号等内容。

(4)接着系统BIOS将检测和显示CPU的类型和工作频率,然后开始测试所有的RAM,并同时在屏幕上显示内存测试的进度,我们可以在CMOS设置中自行决定使用简单而耗时少或者详细而耗时多的测试方式。

(5)内存测试通过之后,系统BIOS将开始检测系统中安装的一些标准硬件设备,包括硬盘、CD-ROM、串口、并口、软驱等设备,另外绝大多数较新版本的系统BIOS在这一过程中还要自动检测和设置内存的定时参数、硬盘参数和访问模式等。

(6)标准设备检测完毕后,系统BIOS内部的支持即插即用的代码将开始检测和配置系统中安装的即插即用设备。每找到一个设备之后,系统BIOS都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断、DMA通道和I/O端口等资源。

(7)到这一步为止,所有硬件都已经检测配置完毕了,多数系统BIOS会重新清屏并在屏幕上方显示出一个表格,其中概略地列出了系统中安装的各种标准硬件设备,以及它们使用的资源和一些相关工作参数。

(8)接下来系统BIOS将更新ESCD(Extended System Configuration Data)扩展系统配置数据。ESCD是系统BIOS用来与操作系统交换硬件配置信息的一种手段,这些数据被存放在CMOS(一小块特殊的RAM,由主板上的电池来供电)之中。通常ESCD数据只在系统硬件配置发生改变后才会更新,所以不是每次启动机器时我们都能够看到“Update ESCD…Success”这样的信息,不过,某些主板的系统BIOS在保存ESCD数据时使用了与Windows 9x不相同的数据格式,于是Windows 9x在它自己的启动过程中会把ESCD数据修改成自己的格式,但在下一次启动机器时,即使硬件配置没有发生改变,系统BIOS也会把ESCD的数据格式改回来,如此循环,将会导致在每次启动机器时,系统BIOS都要更新一遍ESCD,这就是有些机器在每次启动时都会显示出相关信息的原因。

img53

图3-4 通过BIOS检测之后的计算机启动过程

(9)ESCD更新完毕后,系统BIOS的启动代码将进行它的最后一项工作,即根据用户指定的启动顺序从软盘、硬盘或光驱启动。以从C盘启动为例,系统BIOS将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的分区引导记录,而分区引导记录将负责读取并执行IO.SYS,它是DOS和Windows 9x最基本的系统文件。Windows 9x的IO.SYS首先要初始化一些重要的系统数据,然后就显示出我们熟悉的蓝天白云。在这幅画面之下,Windows将继续进行DOS部分和GUI(图形用户界面)部分的引导和初始化工作。图3-4为计算机BIOS检测后到进入操作系统之间,计算机需要进行的启动工作。

如果系统中安装有引导多种操作系统的工具软件,通常主引导记录将被替换成该软件的引导代码。这些代码将允许用户选择一种操作系统,然后读取并执行该操作系统的基本引导代码(DOS和Windows的基本引导代码就是分区引导记录)。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈