首页> 中国专利> 在个人计算机系统中从软盘加载基本输入/输出系统的设备和方法

在个人计算机系统中从软盘加载基本输入/输出系统的设备和方法

摘要

从软盘驱动器将BIOS加载到通常接有硬文件的个人计算机系统的设备和方法。该个人计算机系统包括系统处理器,随机存取主存储器,只读存储器和开关装置。开关装置产生指示BIOS从软盘还是从硬盘加载的方式的信号。在优先级方式中,BIOS立即从软盘加载。在恢复方式中,BIOS在测试硬盘子系统后从软盘加载。两种方式主引导记录都包括数据段和可执行代码段。数据段包括表示系统硬件和由主引导记录支持的系统配置的数据。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 1999-09-29

    专利权的终止未缴年费专利权终止

    专利权的终止未缴年费专利权终止

  • 1993-06-23

    授权

    授权

  • 1992-09-23

    审定

    审定

  • 1991-03-06

    公开

    公开

  • 1991-02-20

    实质审查请求已生效的专利申请

    实质审查请求已生效的专利申请

  • 1991-01-09

    实质审查请求已生效的专利申请

    实质审查请求已生效的专利申请

查看全部

说明书

本发明涉及个人计算机系统,特别涉及从软磁盘将BIOS加载到个人计算机系统的方法和设备。

通常的个人计算机系统和特指的IBM个人计算机在提供计算能力方面已经在今天现代社会的许多部门中获得了广泛的应用。通常可以将个人计算机系统定义为台式的、落地式的或便携式的微计算机。它由具有单个系统处理器的系统单元、显示监视器、键盘、一个或几个软盘驱动器、硬盘存储器及一个可任选的打印机所组成。这些系统的明显的特点之一是使用将这些部件电气连接在一起的母板或系统平板。这些系统的主要设计目的是给单用户提供独立的计算能力,而且对于个人或者对于小企业而言,购买这些系统的价格是不贵的。这样的个人计算机系统实例有IBM的个人计算机AT(PC  AT)和IBM的个人系统/2(PS/2)的25,30,50,60,70和80型。

这些系统可以分为两大系列。第一个系列,通常叫做系列Ⅰ型,使用的是总线结构,IBM  PC  AT和其它的“IBM兼容”机就是这种例证。而第二个系列,叫做系列Ⅱ型,使用的是IBM的微通道总线结构,IBM的PS/2的50型至80型就是这种例证。

从系列Ⅰ型的最早的个人计算机系统,如IBM  PC开始,人们已经认识到软件兼容性的极端重要性。为了达到这个目标,在硬件和软件之间建立了一个系统驻留代码(也叫做“微码”)的隔离层。该代码在用户的应用程序/操作系统之间提供了一个操作接口,这样减轻了用户对硬件设备特性的关注。为了使新的设备能加到系统中,同时又将应用程序和硬件的特性隔离开来,该代码最终发展成为基本的输入/输出系统(BIOS)。BIOS的重要性立即显示出来,因为它在将对设备的中间接口提供给设备驱动程序的同时,将设备驱动程序从依赖于专门设备硬件特性中解放出来。因为BIOS是系统的不可缺少的整体部分,并且它控制了系统处理器数据输入与输出的传送,所以BIOS是驻留在系统平板上的,并且是以只读存储器(ROM)方式发送给用户的。例如,在最初的IBM  PC机中,占据8k  ROM的BIOS是驻留在平板上的。

当提出个人计算机系列新的型号时,BIOS必须更新及扩充,使其能包括对新的硬件和I/O设备的支持。正如可以预料的那样,BIOS开始增加其存储器的大小。例如,当引入IBM  PC  AT时,BIOS增长到需要32k字节的ROM。

今天,随着新技术的发展,系列Ⅱ型个人计算机系统渐渐变得更复杂得多了,而且消费者可以更经常获得这些个人计算机系统。由于技术在急剧地变化,且新的输入/输出(I/O)设备不断增加到个人计算机系统中,因此在个人计算机系统的开发周期中,对BIOS的修改已经成为一个十分重要的问题。

例如,当引入具有微通道结构的IBM  PS/2时,已经开发了一个出众的、新的BIOS,通称为先进的BIOS,或ABIOS。然而,为了保持软件的兼容性,系列Ⅰ型的BIOS必须包括在系列Ⅱ型的BIOS中。于是系列Ⅰ型的BIOS称做为兼容BIOS或CBIOS。然而,正如前面关于IBM  PC  AT的解释那样,只有32K字节的ROM驻留在系统平板上。幸运的是系统可以扩展到96K字节ROM。可惜由于系统的局限,这96K字节的ROM是BIOS可以得到的最大容量。幸运的是即使加上ABIOS,ABIOS和CBIOS仍可以挤在96K  RoM区域中只有很小的百分比可以保留为扩充之用。如果将来I/O设备不断增加的话,CBIOS和ABIOS最后将用完ROM的空间。于是,新的I/O技术将不能容易地集成在CBIOS和ABIOS之中。

由于这些问题,再加上希望在开发周期中尽可能推迟对系列Ⅱ的BIOS作修改,将BIOS中的部分代码从ROM中卸载下来是很必要的。为了实现这个要求,BIOS中的部分代码要存贮在硬盘中,并且再从硬盘中加载附系统中。然而,非常显然,仅从硬盘来加载是具有某些局限性的。主要的是,如果硬盘变得不能工作的话,该系统就不能用了。另外,对系统的更新可能会导致BIOS和新系统配置之间的兼容性问题。因此,需要有一种从直接存取存贮器设备中加载BIOS的方法,而不是从硬盘中来加载BIOS。而且,非常希望能对软盘加载提供BIOS提供优先级方式和恢复方式的工作方式。在优先级方式中,BIOS是立即从软盘中加载的。在恢复方式中,只是当从硬盘中加载BIOS失败后,才从软盘中加载BIOS。

本发明是为了缓和上述问题而开发的。因此,作为本发明的目的之一,本发明具有从软盘驱动器存贮和加载部分BIOS的设备和方法。本发明的另一目的是提供从个人计算机系统的软盘驱动器中加载BIOS的设备和方法,而这种个人计算机系统通常是从硬盘驱动器中加载BIOS的。

本发明还有一个目的是提供确认在存贮于软盘上的BIOS与个人计算机系统的硬件配置之间的兼容性的设备和方法。

本发明的个人计算机系统包括处理器,随机存取存储器,只读存储器,软盘驱动器,开关装置,一般情况下包括硬盘驱动器。只读存储器中包含了BIOS的第一部分,在操作时,该部分使初始化系统並检测电连到系统处理器的开关装置的状态。如果开关装置处于优先级状态,则立即从软盘驱动器加载主引导记录(master  boot  record)(即优先级方式),而不需测试硬盘驱动器。如果开关装置处于恢复状态,则BIOS的第一部分试图从硬盘加载主引导记录。如果没有硬盘,或者硬盘不能操作,或者硬盘上的主引导记录无效的话,则BIOS的第一部分从软盘驱动器读入主引导记录(即恢复方式)。

不管是从硬盘加载还是从软盘加载,主引导记录包括数据段和可执行的代码段。数据段包括了表示系统硬件的数据和表示与主引导记录兼容的系统配置的数据。BIOS第一部分将控制传送给可执行的代码段,而可执行的代码段通过校验主引导记录的数据每个的数据与存储在代表系统处理器的只读存储器,系统平板以及I/O配置中的数据的一致性,来确认主引导记录与系统硬件的兼容性。

如果主引导记录与系统硬件兼容的话,则可执行的代码段确认系统配置並没有修改,並从硬盘驱动器或软盘驱动器将余下的BIOS部分加载到随机存取存储器中。然后可执行的代码段校验余下的BIOS部分的可靠性,並引导系统处理器开始执行现在在随机存取存储器中的余下的BIOS。在随机存取存储器中执行的BIOS则引导操作系统,并开始个人计算机系统的操作。不再是可寻址的並且已由BIOS的余下部分替代了的BIOS的第一部分被废弃了。

大体上可认为,从软盘介质上加载BIOS的设备和方法包括:信号产生装置,BIOS的第一部分,主引导记录,信号应答装置及BIOS的余下部分。信号产生装置,例如开关装置,产生表示软盘加载方式的信号。包括在BIOS的第一部分中的信号应答装置响应该信号,以决定BIOS是否要从软盘中加载。BIOS的第一部分初始化个人计算机系统,然后如有必要的话,起动软盘以便将主引导记录加载到随机存取存储器中。主引导记录包括由BIOS第一部分激活以实现将BIOS的余下部分加载到随机存取存储器中的可执行代码。

在下述结合附图的文字描述中解释了本发明的突出地位和其它特点。其中,

图1为个人计算机系统的剖面视图,说明了连到许多直接存取存储设备的系统平板;

图2为图1所示的个人计算机系统的系统框图;

图3为装在系统平板上的ROM  BIOS的存储器映象图;

图4为描述从直接存取存储器设备中加载BIOS映象的总的过程流程图;

图5为主引导记录的记录格式;

图6A为描述IBL程序操作的流程图;

图6B为说明从硬盘中加载主引导记录的步骤的流程图;

图6C为说明从软盘中加载BIOS映象的步骤的流程图;

图6D为较详细说明检查主引导记录与平板/处理器之间兼容性的流程图;以及

图7为执行主引导记录,从直接存取存储器设备中加载BIOS映象的详细流程图。

下面的详细描述是目前实现本发明的最好方式。本描述並不打算限定本发明,而只是为了说明本发明的总的原则,而权利要求书最好地定义了本发明的范围。

现在参考附图,特别是图1。图1是个人计算机系统10的剖面图。它有许多直接存取存储器设备(DASD)12-16,这些DASD通过许多I/O槽18连到系统板或平板24上。电源22以众所周知的方式向系统10提供电能。平板24包括一个系统处理器,它在操作系统的控制下进行输入处理和输出信息的操作。

在使用时,设计个人计算机系统的主要目的是为一小组用户或单个用户提供独立的计算能力,而且对于个人或小企业而言,其购买的价格也是不贵的。在操作时,系统处理器在操作系统,如IBM  OS/2操作系统或PC-DOS,的控制下运行。这种类型的操作系统包括DASD12-16和该操作系统之间的BIOS(以前已讨论並定义过)接口。BIOS的一部分按功能分成换块,存储在平板24的ROM上,下文将称作ROM-BIOS。BIOS在硬件和操作系统软件之间提供接口,使程序员或用户可以对他们的机器编程,而不需对特定的DASD具有深入的操作知识。例如,BIOS的软盘换块允许程序员对软盘驱动器编程而不需深入了解软盘驱动器的硬件。因此,不同的公司设计和制造的若干种软盘驱动均可以用在系统中。这不仅降低了系统10的成本,而且允许用户从若干种软盘驱动器中加以选择。

在将上述结构和本发明连系起来之前,对个人计算机系统10一般的操作综述是值得回顾的。参考图2,它给出个人计算机系统10的框图,说明平板24的部件、平板24和I/O槽18及个人计算机系统的其它硬件的连接。包括微处理器的系统处理器26位于平板24上,局部总线28将微处理器连到存储器控制器30,该控制器再连到随机存取存储器(RAM)32。任意合适的微处理器均可使用,一种适用的微处理是由英特尔(Intel)公司销售的80386。

尽管下面是具体参照图2的系统框图描述本发明的,但应理解为,本发明的设备和方法是按照可以在平板(母板)的其它硬件配置上而设想的。如系统处理器可以为Intel80286或80486微处理器。

处理器可以访问的是一个平板标织号(平板ID)。平板ID对于特定的平板是唯一的,並且它标识所使用的平板的类型。例如平板ID可以通过硬线连接,使用开关通过系统/处理器26的I/O端口将其读出。

局部总线28通过总线控制器34再连到平板24上的只读存储器(ROM)36。

附加的非易失性存储器(NVRAM)58通过连到总线控制器34的串行/並行端口的接口40连到微处理器26。该非易失性存储器可以是带有电池备份的CMOS电路,使无论何时系统中电源掉电时,仍能保持其上的信息。由于ROM通常是驻留在平板上的,所以存储在ROM中的型号和子型号分别用来标识系统处理器和系统平板I/O配置情况。这样,这些值将物理地标识处理器和平板I/O的配置。NVRAM用来存放系统配置数据。即NVRAM将包含描述系统目前配置的值。例如,NVRAM中具有描述硬盘或软盘的容量,显示器的类型,内存储器的容量,时间和日期等的信息。此外,每当执行专门的配置程序为“SET  Configuration”(“设置配置”)时,存储在ROM中的型号的子型号值总会复制到NVRAM中的。设置配置程序的目的就是将表示系统配置特点的值存储在NVRAM中。因此,对配置正确的系统而言,其NVRAM中的型号和子型号的值分别等于存储在ROM中的型号与子型号的值。如果这些值不相等的话,就表明系统的配置已被修改过。请参阅图6D,在那儿结合加载BIOS情况,将详细地解释了这个特点。

我们参考图2接着讨论。由I/O平板总线43将总线控制器进一步连到I/O插槽18,信号产生装置如开关29,串行/並行接口40和外设控制器42上。外设控制器42再连到键盘44,鼠标器46,诊断板47和软盘控制器64上。除了NVRAM58外,串行/並行接口再连到串行端口48和並行端口50,以便将信息输入/输出到打印机,硬拷贝设备等。正如在本技术领域众所周知的那样,局部总线28也可连到高速缓冲存储器控制器52和高速缓冲存储器68,协处理器54和DMA控制器56。

信号产生装置按照开关29的位置给处理器26提供各种信号。例如,为了实现系统中的软盘恢复方式,开关29位于在线33上产生信号的位置。同样,为了使系统处于软盘优先级方式,开关29应位于在线35上产生信号的位置上。不言而喻,为了实现在线33或线35上产生信号,开关29可用硬件跨接线来替换。此外,下面将解释,为了实现优先级方式和恢复方式的专门功能,线33和线35可以组合为一根信号线。也要注意,开关29可以位于在线33和线35上均不产生信号的位置。

系统处理器26除了与个人计算机系统10的其它部件接口外,还控制它的内部操作。例如,可以看到系统处理器26连到一个小计算机系统接口(SCSI)I/O卡60上,该卡又再连接到DASD,如硬盘驱动器62上。应当理解,按照本发明,除了SCSI硬盘驱动器/适配器以外其它磁盘驱动器/适配器也可以用作硬盘。除硬盘62以外,系统处理器26可以和控制软盘驱动器66的软盘控制器64相接口。关于术语方面,应该理解,术语“硬文件”描述的是硬盘驱动器62,而术语“软盘”描述的则是软盘驱动动器66。

在本发明以前,ROM36可能包括将操作系统和硬件外围设备接口的全部的BIOS代码。然而,按照本发明的一个方面而言,ROM36只适合存储BIOS的一部分。当系统处理器26执行这一部分时,就会从硬盘62或软盘66中输入BIOS的第二部分即BIOS的余下部分,以下将这部分BIOS称作BIOS的映象。该BIOS映象替代了BIOS的第一部分,并且作为系统的不可缺少的整体部分,必须驻留在主存储器为RAM32中。作为存储在ROM36中的BIOS的第一部分(ROM-BIOS)将在图3-4上作一般的解释,而在图6A-D上详细解释。图5将解释BIOS的第二部分(BIOS映象),而图7将解释BIOS映象的加载。从DASD加载BIOS映象的另一好处是能够将BIOS直接加载到系统处理器的RAM32中。由于存取RAM比存取ROM要快得多,所以可以提高计算机系统处理速度。

现在我们解释ROM36中的BIOS的操作和继BIOS的第一部分之后从硬盘或软盘中加载BIOS映象的操作。一般说,ROM-BIOS预先检查系统並且将BIOS的主引导记录加载到RAM中。主引导记录包括具有校验信息的数据段和具有可执行代码段。可执行代码使用数据信息来校验硬件的兼容性和系统的配置。当对硬件兼容性和正确的系统配置测试之后,可执行代码就将BIOS映象加载到RAM中。BIOS映象继ROM  BIOS之后加载操作系统,并开始机器的操作。

为了使叙述更明了,我们将主引导记录的可执行代码段称作MBR代码,而主引导记录的数据称作MBR数据。

图3是给出包括ROM-BIOS的不同代码模块的存储器映象图。ROM-BIOS包括加电自检(POST)步骤模块70,初始BIOS加载(IBL)程序模块72,软盘模块74,硬文件模块76,视频模块78,诊断板模块80和硬件兼容性数据82。简而言之,POST步骤I70执行系统的预初始化和测试。IBL程序72决定BIOS映象究竟从硬盘加载还是从软盘加载,检查兼容性及加载主引导记录。软盘模块74提供软盘驱动器的输入/输出功能。硬文件模块76控制对硬盘或类似东西的输入/输出。视频模块78控制连到视频显示器的视频输入/输出控制器的输出功能。诊断板模块80提供系统诊断显示设备的控制功能。硬件兼容性数据82包括诸如系统型号值和子型号值这样的值。这些值将在以后关于图5的描述中加以说明。

现在参考图4,它给出从硬盘或软盘将BIOS映象加载系统中的进程概况。当系统加电或复位时,将系统处理器引导到“POST步骤Ⅰ”的入口点,步骤100。POST步骤Ⅰ使系统初始化並且只测试从所选的DASD中加载BIOS映象所需要的那些系统功能,步骤102。特别是,如果需要的话,POST步骤Ⅰ会初始化处理器/平板的功能,诊断板,存储器子系统,中断控制器,定时器,DMA子系统,硬盘BIOS程序(硬文件模块76)和软盘BIOS程序(软盘模块74)。

在POST步骤Ⅰ预初始化系统之后,POST步骤Ⅰ引导系统处理器执行包括在初始BIOS加载模块72中的初始BIOS加载(IBL)程序。为了加载BIOS映象,IBL程序首先选择介质(硬盘或软盘);其次从所选的介质中将主引导记录加载到RAM中,步骤104。主引导记录包括MBR数据和MBR代码。MBR数据用于检验目的,而MBR代码则执行BIOS映象的加载。IBL程序的操作的详述将参考图6A-D给出。

继续参考图4,在IBL程序将主引导记录加载到RAM之后,系统处理器被引导到MBR代码的起始地址,以便开始执行,步骤106。MBR代码执行一系列的校验测试,以决定BLOS映象的可靠性並校验系统的配置。为了更好地了解MBR代码的操作,将参阅图7更详尽地描述MBR代码。

在这些校验测试的基础上,MBR代码将BIOS映象加载到RAM中,並将控制传送给新加载到主存储器的BIOS映象,步骤108。特别是,BIOS映象加载到由ROM-BIOS以前占据的RAM地址空间中。如果ROM-BIOS的地址为EOOOOH至FFFFFH,则BIOS映象加载到该RAM地址空间,因此BIOS映象取代了ROM-BIOS。然后把控制传送给“POST步骤Ⅱ”,它包括在新加载的BIOS映象中,于是废弃了ROM-BIOS。为了加载操作系统的引导程序,现在在RAM中的POST步骤Ⅱ则初始化並测试余下的系统,步骤110。在系统初始化並测试之后,POST步骤Ⅱ将控制传送给操作系统的引导程序,以便加载操作系统,步骤112-114。

为了明了起见,现在来描述表示主引导记录的格式是合适的。参考图5,它给出了主引导记录。该引导记录包括可执行代码段120和数据段122-138。MBR代码120包括与DASD有关的代码,负责校验ROM-BIOS的标记,检查IBL引导记录与系统的兼容情况,校验系统配置,並从所述的DASD(硬盘或软盘)中加载BIOS映象。数据段122-138包括用于定义介质,标识並校验主引导记录,定位BIOS映象和加载BIOS映象的信息。

主引导记录由引导记录的标记122加以标识。引导记录标记可以是一唯一位的模式,为在该记录开始三个字节的字符串“ABC”。主引导记录的完整性由校验和的值132来测试,该值要和该引导记录加载时计算的校验和的值相比较。数据段还包括至少一个兼容的平板ID值134,兼容的型号和子型号值136。主引导记录的平板ID的值定义了主引导记录对于哪个平板是有效的。同样,主引导记录的型号和子型号值定义了主引导记录对应于哪个处理器和平板I/O配置是有效的。值得注意的是该引导记录的标记和校验和是标识有效的主引导记录的,而引导记录的平板ID,引导记录的型号和引导记录的子型号的比较是用来标识引导记录和系统的兼容性情况並决定系统配置是否有效。另外一个值-引导记录模式124是用来决定ROM-BIOS的有效性。引导记录模式124与存储在ROM中的相应的模式值相比较,如果这两个值相匹配的话,表明有效的ROM-BIOS已经起动了从所选的介质中对BIOS映象的加载。

下述将更详细描述主引导记录的每个值和它们的功能:

MBR标识符(122):IBL引导记录的开始三个字节可以由字符组成,如“ABC”。该标记是用来标识引导记录的。

MBR代码段(120):该代码通过比较对应的平板ID和型号/子型号值来校验该引导记录与该平板及处理器的兼容性。如果这些值匹配的话,它将从所选择的介质中将BIOS映象加载到系统RAM中。如果系统映象(加载到存储器的BIOS)的校验和为有效並且没有介质加载错误发生的话,MBR代码将控制传送给系统映象的POST步骤Ⅱ程序。

MBR模式(124):IBL引导记录的数据段的第一个字段包含一个模式,如字符串“ROM-BIOS1989”。通过将引导模式值和对应的存储在ROM中的值(ROM-模式)比较的方法,该字符串可用校验ROM-BIOS。

MBR版本日期(126):主引导记录包括由更新实用程序所使用的版本日期。

系统分区指针(128):数据段含有由POST步骤Ⅱ使用的,並指向介质系统分区区域起点的介质指针。该指针在IBL软盘上是以磁道-磁头-扇区格式记录的,而在硬盘上是以相对块地址(RBA)格式记录的。

系统分区类型(130):系统分区类型表明介质系统分区的结构。可以有三种类型的系统分区结构-完全的,最小的和不存在的三种类型。完全的系统分区除了具有BIOS映象和主引导记录外,还包括装置实用程序和诊断程序。最小的系统分区只有BIOS映象和主引导记录。可能发生系统不能存取具有IBL映象的硬文件的情况,在这种情况下系统分区类型为“不存在”。此时,将从软盘中产生IBL。这三种类型的系统分区使系统分区在介质上占据多大的空间上具有灵活性。

校验和的值(132):初始化数据段的校验和的值,以便产生主引导记录代码的记录长度值(1.5K字节)的有效校验和。

MBR平板ID的值(134):数据段包括一个值,如定义可兼容平板ID的字串。每个字由16位的平板ID组成,並且该字串以值为O的字结束。如果系统的平板ID和主引导记录的平板ID的值(如该字串中的一个字)相匹配的话,则IBL介质映象和系统平板是兼容的。如果系统的平板ID没有和字串中的任意一个字相匹配的话,则IBL介质映象和系统平板不兼容。

MBR型号和子型号的值(136):数据段包括这样的值,如定义兼容的处理器的字串。每个字由型号和子型号的值组成,並且该字串的值为零的字结束。如果系统的型号和子型号值(存储在ROM中)和字串中的一个字相匹配的话,则IBL介质映象和系统处理器相兼容。如果ROM型号和ROM子型号值与字串中的任意一个字都不相匹配的话,则IBL介质映象和系统处理器不兼容。

MBR映象图的长度(138):使IBL映象图的长度初始化为介质映象块的数量。换言之,如BIOS映象分成4个块的话,则该映象图的长度为4,它表明为4个块指针/长度字段。通常,该长度置为1,因为该介质映象是一个连续的128K的块。

MBR介质扇区大小(138):将该字值初始化为以每扇区的字节数为单位的介质扇区大小。

介质映象块指针(138):介质映象块指针在介质上定位系统映象块。通常只有一个指针,因为介质映象是作为一个连续块来存储的。指针在IBL软盘上是以磁道-磁头-扇区格式记录的,而在硬盘上是以相对块地址格式记录的。

介质映象块长度(138):介质映象块的长度表示位于对应的映象块指针上的块的大小(以扇区为单位)。在包括BASIC空间的128K邻近介质映象情况下,该字段置为256,表明在介质映象块指针地址上开始的BIOS映象块占据256扇区(512字节/扇区)。

参考图6A-D,图中给出了IBL程序操作的详细流程图。通常情况下,IBL程序从系统硬盘上将主引导记录加载到RAM的特定的地址上,然后,引导系统处理器开始执行主引导记录的代码段。IBL程序也包含了对软盘优先级方式和恢复方式的指施。在这两种方式中主引导记录是从软盘中加载的。在优先级方式中,主引导记录试图从硬盘加载以前,是直接从软盘加载的。优先级方式的目的是为了绕开硬盘BIOS加载进程中的错误检查过程的。软盘BIOS加载进程没有包括用在硬盘BIOS加载过程中的正确性的检查。这使得可从软盘将系统更新加载进系统中。例如,如果一个新处理器加到系统中,那就需要新的BIOS映象。由于当从硬盘加载时不同的处理器会引起正确性检查的错误,所以IBL程序通过从软盘中加载BIOS映象的办法,提供了绕开这些测试的能力。因而,可以将包括在软盘上的新的BIOS映象给用户,以便更新硬盘上的BIOS映象。

恢复方式使系统可以绕开测试存储在NVRAM中的口令。口令的目的是要防止未经授权就从软盘加载系统。然而,在系统中包括恢复方式是使客户工程师或类似人员为了诊断测试而从软盘加载系统。值得注意的是,可以通过一个单个的开关来激活优先级方式和恢复方式,以实现相同的结果。在这种配置下,如果在优先级方式期间没有软盘介质的话,就需要给用户额外的时间(给恢复方式检查)去插入软盘,以完成从软盘中加载BIOS的任务。对用户而言,这似乎像优先级方式加载,但实际上是在恢复方式下操作。如果IBL程序不能从硬盘或软盘中加载主引导记录的话,就会产生错误信息,並且系统就停机了。

现在参考图6A,测试开关装置来检测优先级方式激活的情况,步骤151。如果优先级方式激活的话,就初始化软盘子系统,步骤153。为了描述起见,假设硬盘配置为个人计算机系统的驱动器C。同样,假设驱动器A为软盘驱动器。IBL程序则检查驱动器A来决定它是否含有IBL介质,步骤155。请注意图6C,它更详细地描述了该过程。如果驱动器A不包含IBL介质,则系统会试图从硬盘中加载IBL介质,步骤150。现在再返回来讨论步骤155,如果驱动器A确实包含IBL介质,则主引导记录就加载到RAM中,步骤160。

再回过来讨论步骤151,如果没有激活优先级方式,则初始化硬盘子系统。然后IBL程序检查驱动器C以便决定它是否含有IBL介质,步骤152。请注意图6B,它更详细地描述了该过程。如果驱动器C不包含IBL介质,就会报告错误信息,步骤154。

再返回来讨论步骤152,如果驱动器C确实含有IBL介质的话,IBL程序就从硬盘的最后三个扇区开始读起,然后再减小介质指针並连续读99个扇区,或者读到找到有效的主引导记录为止。如果找到主引导记录的话,它就检查系统平板和处理器的兼容性,步骤156。如果在硬盘(基本的硬文件)的最后99个扇区没有找到主引导记录的话,或者如果与平板或处理器不兼容的话,则报告错误信息,步骤158。

再返回来讨论步骤156,如果找到主引导记录的话,则执行一系列的正确性检查,以便状定主引导记录是否与计算机系统兼容。此外,还检查系统的配置。请注意图6D,它更详细地描述了该过程。如果该引导记录与平板ID、型号和子型号兼容,並且系统配置没有修改的话,则加载主引导记录並且执行主引导记录的代码段,步骤160。

回过来讨论步骤154和158,如果错误发生在从硬盘加载主引导记录时,或者如果系统没有硬盘的话,则系统决定是否要激活恢复方式,步骤157。如果激活恢复方式,则绕开测试NVRAM中口令的有效性,且初始化软盘子系统,步骤166。如果恢复方式没有被激活的话,系统则决定有效的口令是否包括在NVRAM中,步骤162。该口令决定了BIOS映象是否可以由一个未授权的用户从软盘中加载。注意,当用户已经有目的地这样做时,该口令只存在于NVRAM中。如果口令装在NVRAM,所有用户都被禁止从软盘加载BIOS映象(除了客户工程师以外),步骤164。通过只有当硬盘上的BIOS映象正确配置时才可加载系统的办法,保证了系统操作的完整性。如果口令存在的话,软盘子系统就不能存取,並且系统停机,步骤172。该口令可以在系统配置期间,如当执行SETUP程序时,加载到NVRAM中。该口令可采用存储在NVRAM中的字符串的格式。

再回过来讨论步骤162,如果NVRAM中的有效口令不存在的话,就允许从软盘中加载BIOS映象,且IBL程序初始化软盘子系统,步骤166。然后,IBL程序决定驱动器A中的软盘上是否有IBL介质,步骤168。如果驱动器A中没有IBL介质,就产生错误信息,通知用户,驱动器中已经插入的是无效的软盘,步骤170。然后系统就停机,步骤172。请注意图6C,它对步骤168有更详尽的讨论。

再回来讨论步骤168,在对驱动器A检查了IBL介质之后,就将主引导记录加载到RAM中,並且执行主引导记录中的代码段,步骤160。重要的是要注意,对于软盘而言IBL,不包括硬盘系统所用的正确性检查。正如前面所说的,没有正确性检查的理由在于可以在从软盘加载新的IBL映象时作进一步的修改。

下面摘要地重述一下,首先测试优先级方式。在优先级方式中,如果软盘驱动器中没有IBL介质,则系统测试硬盘。如果硬盘有IBL介质,则通过比较系统平板ID、处理器型号/子型号的值与主引导记录值的正配性来检查主引导记录与系统的兼容性。对于硬盘而言,该检查首先在IBL程序72中进行的,然后再在IBL引导记录中进行。首先进行的检查(在IBL程序中)是肯定该引导记录与系统兼容。其次进行的检查(在引导记录中)是保证兼容的ROM将控制传送给了该引导记录。注意,在硬盘引导记录中所进行的检查,对于兼容的ROM而言是决不会失败的,因为IBL程序已经检查了兼容性。和上面相反,对于软盘而言是不进行兼容性检查的。只是在软盘引导记录执行期间,才检查平板/处理器的兼容性。该方法使得可以在从软盘加载新的BIOS映象时作进一步的修改。如果硬盘没有IBL介质,则测试恢复方式和/或口令。如果恢复方式被激活,或者没有口令的话,则从软盘中加载IBL介质。如果没有激活恢复方式,並且又有口令的话,则产生错误,系统停机。

考虑到对图6A的IBL程序的描述,现在对上面讨论的正确性测试进行更广泛和全面理解的解释。参考图6B,它给出了图6A的步骤152的详细流程图,以决定有效的主引导记录是否在驱动器C上。进程开始于通过获取驱动器参数使IBL程序能够存取驱动器C,步骤200。将IBL加载地址置为硬盘的最后三个扇区。(通常在最后三个扇区上包含主引导记录),步骤202。将表示试图从硬盘读出主引导记录次数的加载记数器置为1,步骤204。在IBL加载地址上读硬盘的三个扇区,步骤206。只要检测到任意的磁盘驱动器错误,並且如果发生硬盘驱动器读出错误的话,则报告出错信息,步骤208-210。然后进程以错误标志返回,步骤212-214。

返回来讨论第208步,如果不驱动器错误,则扫描硬盘记录以寻找主引导记录的标记,步骤216。将引导记录的标记,如字符“ABC”,和该硬盘记录的开始三个字节相比较。如果该硬盘记录确实具有正确的引导记录标记(字符“ABC”)並且从加载到存储器的硬盘记录中计算出的校验和等于该引导记录的校验和的话,则该硬盘记录被表示为无错误的有效引导记录,步骤218,然后该进程返回,步骤214。

返回来讨论步骤216,如果该引导记录标记或校验和是不正确的话,则加载记数器加1,步骤220。然后,该加载记数器与预置的常数,例如99,相比较,步骤222。如果99次试图读出引导记录都失败的话,则表示出错,且该进程返回,步骤224,212和214。如果试图读出引导记录的次数少于99,则IBL加载地址减1,並且再从新的加载地址读三个新的扇区,步骤226和206。这样,如果不能从最后的99个扇区(等效于33次复制)加载有效的IBL引导记录的话,则置错误状态码,且“控制”返回到IBL程序。

现在讨论图6C,它是从驱动器A的软盘加载主引导记录的详细流程图。首先,检索存取驱动器A的软盘驱动器参数,步骤230。IBL加载地址置为软盘的最后三个扇区(地址系以柱面,磁头和扇区的格式表示),步骤232。读最后三个扇区,步骤234。如果检测到软盘驱动器错误,就显示出错,步骤236-238。並置错误状态码,再将“控制”返回给IBL程序,步骤240-242。

再返回到第236步,如果没有检测到驱动器错误,则检查软盘记录的引导记录标记,且计算校验和,步骤244。如果未找到引导记录标记,或者校验和不正确的话,则指示出错,並将控制返回给IBL程序,步骤244,246,240和242。如果检测到正确的引导记录标记与正确的校验和,则设置该一个标志并将控制返回给IBL程序,步骤248和242。值得注意的是,在软盘加载时,IBL程序並不如在硬盘加载时那样检索整个介质。因此,在软盘加载时,IBL介质必须存储在软盘的特定地址上。

最后,图6D给出了IBL程序如何测试系统平板和处理器的兼容性以及正确的系统配置。通过将引导记录平板ID值和由系统处理器读出的系统平板ID值相比较,检查主引导记录与系统平板的兼容性,步骤260。如果系统平板ID和该引导记录平板ID的值不正配,表明该主引导记录和该平板不兼容,则指示出错,並将控制返回给IBL程序,步骤262,264和266。

如果主引导记录和该平板兼容,则检查主引导记录与处理器的兼容性,步骤268。再将该引导记录的型号值和子型号值与存储在ROM中的相应的型号值和子型号值分别相比较。如果不匹配,表明可能已经插入新的处理器,且该引导记录和新处理器不兼容,则指示出错,並将控制返回给IBL程序,步骤270,264和266。如果主引导记录与平板和处理器兼容,则处理器检查並决定NVRAM是否具有可靠的信息,步骤272。如果NVRAM不可靠,则指示出错,並将控制返回给IBL程序,步骤274和266。如果NVRAM可靠,则检查系统配置,步骤276。如果存储在NVRAM中的型号和子型号的值与存储在ROM中的相应的值不正配,则表明系统配置已有修改。注意,这最后的比较仅是表明配置的错误。如果表明配置错误,则对用户产生错误信息。该错误信息告诉用户,自从上一次运行SET配置程序以来,系统的配置已经有了修改。並通知用户修改后的配置,並将控制返回给IBL程序,步骤278,264和266。该错误本身並不是致命的,但是通知用户必须再执行SET配置(配置程序)。再返回讨论步骤276,如系统型号/子型号值匹配,则置一个兼容标志,且该程序返回,步骤276,274和266。因而,与决定系统配置是否已经被修改一起,测试了主引导记录和系统之间的兼容性。

在IBL程序将主引导记录加载到RAM之后,它将控制传送至MBR代码的开始地址处。参见图7,主引导记录的可执行代码段首先以ROM模式检验该引导记录模式,步骤300。如果在主引导记录中的模式和ROM中的模式不匹配的话,则产生错误,且系统停机,步骤302和305。检查ROM和引导记录模式之间的一致性保证了从硬盘或软盘加载的主引导记录是与平板上的ROM兼容的。再返回讨论步骤300,如果ROM中的模式和引导记录中的模式相匹配,则MBR代码将系统平板ID值、型号和子型号值与主引导记录中的对应的值加以比较,步骤304。该进程已经参考图6D进行了较详细的讨论。如果这些值不匹配,则主引导记录和系统平板、处理器不兼容,或者系统配置已经修改,而产生一个错误,步骤306。当IBL记录与平板、型号或子型号的值不兼容时,系统将停机,步骤305。

再返回讨论步骤304,如果系统平板ID值,型号和子型号的值与主引导记录中对应的值相匹配,则MBR代码从所选出的介质中将BIOS映象加载到系统RAM中,步骤308。如果在读出数据中发生介质加载错误,步骤310,则产生错误,且系统停机,步骤312和305。再返回讨论步骤310,如果不发生介质加载错误,则计算存储器中BIOS映象的校验和,步骤314。如果校验和不正确,则产生错误,且系统停机,步骤318和305。再回过来讨论步骤316,如果校验和正确,则保存系统分区指针,步骤320,且引导系统处理器到POST步骤Ⅱ,並开始加载系统,步骤322。

这样,已经给出了在通常具有硬盘驱动器的个人计算机系统中,从软盘驱动器加载BIOS的方法和设备。可以按照开关的位置情况来加载BIOS。在优先级位置上,BIOS是在测试硬盘驱动器之前从软盘加载的。在恢复方式中,BIOS是在测试硬盘驱动器之后从软盘加载的。在隐含方式中,BIOS是在测试硬盘之后且存在有目的地设置的口令的情况下加载的。

当结合较佳实施例描述了本发明以后,应当理解,对那些技术领域的普通技术人员而言,可以作出许多修改,並且本发明的范围仅由权利要求书及其等同物所确定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号