基本输入输出系统自动修复方法及系统 【技术领域】
一种基本输入输出系统自动修复方法及系统,更确切地说,是有关于一种利用具有双基本输入输出系统的计算机系统进行基本输入输出系统自动修复处理的方法及系统。
背景技术
由于电子信息相关科技的研发日新月异,许多功能强大且价格合理的产品纷纷问世,就以计算机设备为例,不论是大型的超级计算机、服务器主机乃至于个人计算机以及笔记型计算机等,都早已成为人们工作、生活中所不可或缺的重要工具。
在计算机系统的结构中,基本输入输出系统(basic input outputsystem,BIOS)乃是计算机系统中最先动作的软件。BIOS主要是由一些低阶的指令集所组成,提供计算机开机时候的硬件测试、检测与管理基本的外围设备如硬盘、键盘及与连接端口间的数据传递等。因此计算机系统开机后便是依照BIOS的设定来执行运作。倘若BIOS出现问题,计算机开机后无法完成硬件测试,于是便无法顺利完成开机程序。
目前主机板大部份已采用FLASH BIOS,因此,常会发生使用者自行更新新版本的BIOS,但若使用者操作不当或因为病毒破坏导致BIOS数据损毁,则会造成系统无法正常开机。
一般而言,目前BIOS更新、修复的方式都采用更新磁盘的方法,使用者将新版或者是备份的BIOS档案再重新通过主机板刻录到BIOS中,或着是将BIOS芯片取出,直接通过刻录机将BIOS程序刻录入到芯片中。
目前业界主要的做法为通过双BIOS地功能,使得即使其中一颗BIOS遭到破坏,仍可用另一颗备用BIOS来激活计算机,并要求使用者通过BIOS更新磁盘来修复主要的BIOS。
承上所述,目前已知的具有双BIOS的主机板,即使其中一颗BIOS遭到破坏,仍可用另一颗备用BIOS来激活计算机,并要求使用者通过BIOS更新磁盘来修复主要的BIOS,若使用者不立即修复主要的BIOS,则当备份BIOS也被破坏时将使得计算机无法开机运作。一言以蔽之,以现有技术做BIOS更新、修复,仍无法保证BIOS在遭到破坏后,计算机系统仍可以正常开机运作。
【发明内容】
为克服上述现有技术的缺点,本发明的主要目的在于提供一种基本输入输出系统自动修复方法及系统,通过计算机主机板(mainboard)上运作中的BIOS程序,检测备份BIOS是否遭到损毁,若有则自动激活BIOS修复程序,修复损坏的BIOS,以达到BIOS自动修复的目的。
为达到上述目的,本发明提供一种基本输入输出系统自动修复方法,所述基本输入输出系统自动修复方法是应用于具有多个基本输入输出系统(BIOS)的电子数据处理系统中,用以主动检测其它未使用的基本输入输出系统是否遭到破坏,并在遭到破坏时自动执行基本输入输出系统的修复,所述基本输入输出系统自动修复方法包括:
令基本输入输出系统检测程序检测备份基本输入输出系统程序是否完整;
令该基本输入输出系统在该备份基本输入输出系统程序基本输入输出系统程序不完整时将一修复程序复制到一内存中并执行之,用以将该执行中的基本输入输出系统程序复制到该内存的暂存区,并从该内存内读回并写入备份的基本输入输出系统内;以及
令该基本输入输出系统在该备份基本输入输出系统程序修复完毕后,提示使用者目前主机板上的基本输入输出系统均为同一版本。
本发明还提供一种基本输入输出系统自动修复系统,所述基本输入输出系统自动修复系统是应用于具有多个基本输入输出系统的电子数据处理系统中,用以主动检测其它未使用的基本输入输出系统是否遭到破坏并在遭到破坏时自动执行基本输入输出系统的修复,所述基本输入输出系统自动修复系统包括:
中央处理器,用以执行所述基本输入输出系统自动修复系统中的各个程序;
记忆单元,用以提供所述基本输入输出系统自动修复系统存储数据与程序;
非易失性存取存储器,用以提供所述基本输入输出系统自动修复系统存储使用者所设定的基本输入输出系统数据,以便在开机后基本输入输出系统能恢复到使用者所设定的状态;
检测单元,其内部具有检测程序用以在所述电子数据处理装置激活时,主动检测主要基本输入输出系统程序与备份基本输入输出系统程序何者可正常动作;
选择单元,是用以提供所述基本输入输出系统自动修复系统依据所述检测单元执行检测的结果选择正常的基本输入输出系统程序开机;以及
修复程序,是用以提供所述基本输入输出系统自动修复系统,修复已遭破坏的基本输入输出系统,使得所述多个基本输入输出系统均具有相同的基本输入输出系统程序且均能正常运作。
换句话说,为达成上述的目的,本发明提供了一种基本输入输出系统自动修复方法及系统。该基本输入输出系统自动修复方法是应用于具有双BIOS单元的计算机系统中,其是根据检测程序,主动检测是否有BIOS遭到破坏,若BIOS遭到破坏则自动执行修复程序,修复已遭破坏的BIOS,使得两颗BIOS都具有相同的BIOS程序并都能正常运作,借此达到计算机系统BIOS的自动修复功能,该基本输入输出系统自动修复方法是包括:计算机开机后会执行检测程序,用以检测备份BIOS程序是否完整与损毁,其中BIOS程序的检测方式可通过签字分析(Signature)或校验和(Checksum)的方式来达成;接着,将BIOS内的修复程序复制到内存中,并且由此执行修复程序,其中,该修复程序会将执行中的BIOS程序复制到内存暂存区中,并从内存内读回并写入备份的BIOS中;最后,当所有的BIOS程序都修复完毕后,会提示使用者目前主机板上的BIOS都为同一版本,若要更新版本需由BIOS更新磁盘更新。
该基本输入输出系统自动修复系统应用于计算机系统中,其是根据检测程序,主动检测另一份BIOS是否遭到破坏,若BIOS遭到破坏则自动执行一修复程序,修复已遭破坏的BIOS,使得两颗BIOS都具有相同的BIOS程序并都能正常运作,借此达到计算机系统BIOS的自动修复功能,该基本输入输出系统自动修复系统包括:用以存储检测程序、修复程序及主要与备份BIOS程序的记忆单元;用以存储使用者所设定的BIOS数据的非易失性存取存储器(Non-violated RAM;NVRAM);用以选择主要BIOS或者备份BIOS当作计算机开机BIOS的选择单元;用以读取该非易失性存取存储器BIOS设定数据的南桥单元;以及用以在开机时检测BIOS数据正确性并控制BIOS选择单元的检测单元,以由检测单元控制选择单元选择哪一个BIOS当计算机开机BIOS,再由该开机BIOS来激活检测程序与修复程序,借此以达到BIOS的自动修复功能。
【附图说明】
以下,将以较佳实施例,配合所附图式,进一步详细说明本发明的特点及功效:
图1为系统方块图,用以表示本发明的基本输入输出系统自动修复系统的一较佳实施例的基本结构;其中标号1表示计算机;标号10表示中央处理器;标号11表示存储单元;标号12表示北桥单元;标号13表示南桥单元;标号14表示非易失性存取存储器;标号15表示BIOS ROM单元;标号16表示检测单元;标号17表示选择单元;标号150表示检测程序;标号151表示修复程序;标号152表示主要BIOS程序;标号153表示备份BIOS程序;
图2为流程图,用以表示本发明的基本输入输出系统自动修复方法在实际运作时的流程步骤;以及
图3为流程图,用以表示图2的基本输入输出系统自动修复方法中执行自动修复的流程步骤。
【具体实施方式】
请参阅图1,其中表示本发明的BIOS自动修复系统1应用于计算机的一较佳实施例的基本结构。首先在此须注意的是,本实施例虽以计算机为例作说明,但本发明并不限于应用于计算机上,也可应用于各种具有BIOS功能的信息装置上,用以自动修复该信息装置的BIOS程序。
在图1中,该计算机是为标号1所指的虚框所包含的部分,其系统结构至少包含:中央处理器(Central Processing Unit;CPU)10、存储单元11、北桥单元12、南桥单元13、非易失性存取存储器14、BIOS ROM单元15、检测单元16、以及选择单元17。
中央处理器10用以执行存储单元11中的各个程序,其为一般熟知的数据处理装置,因此以下将不对其功能及内部结构作进一步详细地说明。
存储单元11用以存储数据与程序,其为一般熟知的数据存储装置,因此以下将不对其功能及内部结构作进一步详细地说明。
北桥单元12用以做为存储单元11与中央处理器10的界面功能,其为一般熟知的界面控制装置,因此以下将不对其功能及内部结构作进一步详细地说明。
非易失性存取存储器13用以存储使用者所设定的BIOS数据,以便在开机后BIOS能恢复到使用者所设定的状态,其为一般熟知的内存装置,因此以下将不对其功能及内部结构作进一步详细地说明。
南桥单元14用以读取非易失性存取存储器14中使用者所设定的BIOS数据,其为一般熟知的界面控制装置,因此以下将不对其功能及内部结构作进一步详细地说明。
BIOS ROM单元15用以存储计算机1所需的各个BIOS程序,包括检测程序150、修复程序151、主要BIOS程序152及备份BIOS程序153。
检测程序150及修复程序151是根据本发明的基本输入输出系统自动修复方法所撰写而成的程序。检测程序150可采用用签字分析或检测码的方式来检测BIOS程序是否正确,若检测到错误则会交由修复程序151将这段BIOS程序重新写入到BIOS ROM中,否则会继续检测下一段BIOS程序,直到所有的BIOS程序都检测完为止。
修复程序151,用以将检测程序检测到的错误BIOS程序做自动修复,会从运作中的BIOS ROM读取正确的BIOS程序,并复制到存储单元11中,再由记忆单元中写入损毁的BIOS ROM,以使得BIOS ROM都具有正确的BIOS程序。其中的详细流程披露在图2、3中。
主要BIOS程序152、备份BIOS程序153为存储相同的BIOS程序,其为一般熟知的BIOS功能,因此以下将不对其功能作进一步详细地说明。
检测单元16内部具有一判别电路(未图示),其可用以在计算机激活时,主动检测主要BIOS程序152与备份BIOS程序153二者中哪一个可正常动作,并命令选择单元17选择正常的BIOS程序当开机BIOS(由于判别电路以及选择单元17为一般熟知的逻辑电路,因此以下将不对其功能及内部结构作进一步地详细说明)。
因此,通过本发明的基本输入输出系统自动修复方法及系统,可通过检测程序,检测备份BIOS是否遭到损毁,若有则自动激活修复程序,修复被破坏的BIOS,以达到系统自动修复的目的
请参照图2,其用以表示本发明的基本输入输出系统自动修复方法所需执行的流程步骤。在计算机1开机后,首先执行步骤S101,令检测单元150检测主要BIOS程序152与备份BIOS程序153二者中哪一个可正常动作,并命令选择单元17选择正常的BIOS程序当开机BIOS。
接着在步骤S102中,为一般计算机系统的BIOS激活程序,用以测试计算机1内的外围设备。
接着在步骤S103中,中央处理单元10执行检测程序150及修复程序151,使计算机1在BIOS激活后,可自动修复主要BIOS程序152或备份BIOS程序153,使计算机1在开机完成后,BIOS ROM单元15都具有相同且正确的BIOS程序。
请接着参照图3,其用以表示图2的步骤S103所述的BIOS自动修复流程。首先执行步骤S201,执行检测程序150检测备份BIOS区块n的程序代码是否正确,若不正确,则执行步骤S202;若正确,则执行步骤S204。
接着在步骤S202中,执行修复程序151读取执行中的BIOS区块n到存储单元11中。
接着在步骤S203中,修复程序151由存储单元11中读取区块n的数据,并将此段数据写入备份BIOS中。
接着在步骤S204中,修复程序151判断区块n是否为BIOS程序的结束位置,若否则将n加1并回到步骤S201中,直到所有的BIOS程序都检测并且修复完成为止。
因此,本发明的基本输入输出系统自动修复方法及系统,可通过检测程序150,检测备份BIOS是否遭到损毁,若遭到破坏则自动激活修复程序151,修复被破坏的BIOS,以达到系统自动修复的目的。
以上所述仅为本发明的基本输入输出系统自动修复方法以及系统的较佳实施例,非用以限定本发明的实质技术内容的范围。本发明的基本输入输出系统自动修复方法以及系统地实质技术内容是广义地定义在权利要求书中,任何他人所完成的技术实体或方法,若是权利要求书定义的内容完全相同,或是为同一等效的变更,均将被视为涵盖在此专利的保护范围之中。