著录项信息
专利名称 | 基于硬盘保护空间自动恢复BIOS的方法 |
申请号 | CN200310102351.5 | 申请日期 | 2003-10-27 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2005-05-04 | 公开/公告号 | CN1612115 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F12/14 | IPC分类号 | G;0;6;F;1;2;/;1;4查看分类表>
|
申请人 | 联想(北京)有限公司 | 申请人地址 | 北京市海淀区上地信息产业基地创业路6号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 联想(北京)有限公司 | 当前权利人 | 联想(北京)有限公司 |
发明人 | 杨文兵;鲍禹卿;杜宾 |
代理机构 | 北京同立钧成知识产权代理有限公司 | 代理人 | 刘国伟;刘芳 |
摘要
一种基于硬盘保护空间自动恢复BIOS的方法,在计算机启动时,首先检测HPA中是否备份有BIOS文件,如果HPA中没有备份BIOS文件,则将BIOS文件备份到HPA中;进一步引导BIOS,如果引导失败或BIOS已升级,则利用HPA中备份的BIOS文件对BIOS模块进行恢复。本发明实现了BIOS安全保护;提供了更可靠的BIOS升级手段;BIOS数据保存在HPA中,不易被破坏;由于只需要硬盘,所以可以及时可靠地恢复BIOS;自动修复过程中不需要显示,不需要输入设备,也减少了用户干预和需要用户操作的麻烦。
1、一种基于硬盘保护空间自动恢复BIOS的方法,其特征在于,该方法 包括如下的步骤:
步骤1:计算机启动时,首先检测HPA中是否备份有BIOS文件,如果 HPA中没有备份BIOS文件,则执行步骤2,否则执行步骤3;
步骤2:将BIOS文件备份到HPA中;
步骤3:进一步引导BIOS,并根据引导的结果确定是否利用HPA中备份 的BIOS文件对BIOS模块进行恢复。
2、根据权利要求1所述的基于硬盘保护空间自动恢复BIOS的方法,其 特征在于,所述的步骤3具体包括:
步骤31:当BIOS引导失败时,检测HPA或CMOS中BIOS的状态信息, 如果该状态信息被设置成BIOS未升级状态,则执行步骤33;
步骤32:如果检测到BIOS升级状态未设置,且BIOS内容发生了变化, 则执行步骤33;
步骤33:用HPA中备份的BIOS文件对BIOS模块进行恢复。
3、根据权利要求1或2所述的基于硬盘保护空间自动恢复BIOS的方法, 其特征在于,所述的对BIOS模块进行恢复包括:
步骤331:打开硬盘中的HPA,从其中找到BIOS文件;
步骤332:将该BIOS文件复制到用于启动的BIOS模块所在的存储空间, 并将其覆盖;
步骤333:关闭硬盘中的HPA,继续进行后续工作。
4、根据权利要求3所述的基于硬盘保护空间自动恢复BIOS的方法,其 特征在于,在步骤331之前,还进一步对硬盘中是否建有HPA进行检测,如 果硬盘中未建有HPA,则创建HPA。
5、根据权利要求1所述的基于硬盘保护空间自动恢复BIOS的方法,其 特征在于,在硬盘中的HPA内备份BIOS文件的步骤包括:
步骤A:对BIOS模块进行升级后,将BIOS的状态信息设置成升级状态;
步骤B:当对BIOS进行引导时,检测该特定位置的状态信息,如果该状 态信息表示已升级,则执行步骤C;否则执行步骤F;
步骤C:打开硬盘中的HPA;
步骤D:将BIOS模块中的数据以BIOS文件的形式存储到HPA之中;
步骤E:将BIOS的状态信息设置为未升级,关闭HPA;
步骤F:继续引导过程。
6、根据权利要求1所述的基于硬盘保护空间自动恢复BIOS的方法,其 特征在于,在硬盘中的HPA内备份BIOS文件的步骤包括:
步骤A’:当检测HPA中没有备份BIOS文件时,打开硬盘中的HPA;
步骤B’:将BIOS模块中的数据以BIOS文件的形式存储到HPA之中;
步骤C’:将特定位置的状态信息设置为未升级,关闭HPA;
步骤D’:继续引导过程。
7、根据权利要求2或5或6所述的基于硬盘保护空间自动恢复BIOS的 方法,其特征在于,所述的特定位置为计算机主板的CMOS中的一存储位置 或硬盘中规定的存储扇区。
技术领域\n本发明涉及一种自动恢复计算机基本输入输出系统(Basic Input/Output System,简称BIOS)的方法,特别是指一种基于硬盘保护空 间(Host Protected Area,简称HPA)内备份的BIOS文件,通过启动计算 机时对BIOS的检测,自动修复或升级BIOS的方法,属于计算机安全技术领 域。\n背景技术\n随着计算机的普及,计算机业界的竞争日趋激烈。计算机硬件不断升级, 随之配套的软件模块也要升级。以计算机主板而言,其BIOS模块是控制主 板工作的核心软件模块,但由于主板的更新换代日趋频繁,主板BIOS的开 发和测试周期变短,BIOS模块的潜在缺陷的情况也日渐增多。此外为了更 好地支持新硬件,例如S-ATA硬盘(ATA是一种硬盘的接口规范,是目前PC 机中常用的主板与硬盘接口;S-ATA:串行ATA,一种新的硬盘的接口规范), 很多主板厂家上提供了BIOS升级功能,用户可以自己利用厂家提供了BIOS 升级工具,对主板上的BIOS进行升级,替换主板的原有的BIOS模块,一方 面可以解决以前BIOS模块中存在的缺陷,另一方面可以更好地支持新的硬 件设备。\n目前BIOS升级方式比较简单,用户得到新的BIOS文件后(如从主板厂 家网站上下载),运行升级程序,用户和升级程序进行必要的交互后,就会 用新的BIOS模块替换主板原有的BIOS模块。\n由于主板的生产厂家很多,同一个厂家的主板种类也比较多,用户有可 能用不配套的BIOS文件来升级自己计算机主板的BIOS模块。而在BIOS模 块升级过程中,由于技术原因,升级程序不会自动检查新的BIOS文件和主 板是否匹配;因此,如果用户选错BIOS文件,就很有可能造成主板不能工 作。另外,升级BIOS过程中断电、程序异常退出等情况也都会导致BIOS升 级失败,使主板不能正常工作。在出现上述问题时,用户无法自己解决,需 要将主板送到专门的维修部门进行维修,十分不方便。\n目前,部分主板的BIOS中提供了一种在BIOS被破坏时,在特定的情况 下修复BIOS的方法:首先,在BIOS模块中设有即使是在BIOS升级时也是 保持不变的程序模块(BootBlock),该模块也是计算机启动引导时,BIOS 模块的入口。因此,计算机启动时,首先会运行BootBlock程序,如果BIOS 出现问题,并且,计算机上配置了的软驱、工业标准结构(Industry Standard Architecture,简称ISA)显示卡和键盘,则BootBlock程序就可以从软盘 引导起一个简单的操作系统,然后,用户用备份在软盘上的BIOS文件来恢 复主板的BIOS模块。这种方法在某些情况下可以解决升级BIOS模块的过程 中可能出现的一些问题。\n但是,目前的软驱也逐渐不是PC标准配置;用户如果没有提前备份BIOS 文件,或备份BIOS文件的软盘出现问题;或用户没有ISA显示卡(目前的 显示卡主要是AGP,很少一部份是PCI的,商场上已经很少ISA接口的显示 卡,甚至目前一些主板也没有ISA接口,无法支持ISA显示卡)就不能恢复 BIOS了。\n此外,日常工作时,BIOS模块也有可能因为各种原因被破坏。在此情 况下,用户的BIOS模块往往是没有备份的。因此,如何提高BIOS模块的稳 定性,保证BIOS模块被破坏时,如何方便及时修复BIOS模块就是一个重要 的问题。\nHPA是ATA与S-ATA规范中规定的硬盘的一种特性。支持该特性的硬盘, 可以通过一些指令,将硬盘的最后一段空间设置成保护空间,设置后保护空 间的数据不能被访问。如果需要访问保护空间,需同样用ATA指令打开硬盘 保护空间。因此可以利用硬盘的这种特性来保证保存的用于自动恢复BIOS 模块的BIOS数据的安全性。由于BIOS最多需要用几兆字节(1兆字节 =1,000,000字节);而目前硬盘一般几十G字节(1G字节=1,000,000,000字 节),因此HPA可以设置成足够大,用于提供足够空间保存多个BIOS备份。\n发明内容\n本发明的主要目的在于提供一种基于硬盘保护空间自动恢复BIOS的方 法,解决现有计算机安全技术领域BIOS出现问题造成PC机不能工作时,BIOS 不易修复的问题。\n本发明的另一目的在于提供一种基于硬盘保护空间自动恢复BIOS的方 法,在BIOS被破坏时和BIOS升级出现问题时的自动修复BIOS,根据本发 明的方法,也可以将BIOS备份到硬盘非HPA的空间或其他存储介质,同时 在日常使用过程中,如果BIOS被破坏,BIOS也能被自动修复。\n为了实现本发明的目的,利用硬盘的HPA实现BIOS数据的备份和恢复, 它主要包括以下的处理:\n计算机启动时,首先检测HPA中是否备份有BIOS文件,如果HPA中没 有备份BIOS文件;则将BIOS文件备份到HPA中;\n进一步引导BIOS时,如果引导失败或BIOS已有升级标志,则利用HPA 中备份的BIOS文件对BIOS模块进行恢复。\n另外,在生产或升级计算机的BIOS时,在计算机硬盘的HPA中自动备 份BIOS,以便在计算机启动时,对BIOS模块进行检测,如果BIOS引导失 败或BIOS发生了变化,则对BIOS进行自动修复。\nHPA中数据的操作是在硬盘的物理扇区这一层进行的。为了更好地与其 他程序共用HPA,并更好地管理备份的BIOS文件。在实现HPA操作的同时, 还可以定义HPA中数据的储存方式,用于记录HPA的大小,包括BIOS备份 文件存放区域的大小和位置、BIOS备份数据区中各个BI OS备份文件的大小、 备份时间及保存位置信息等;并且实现操作HPA中数据的全部方法,这样就 可以对HPA进行管理。为此可以建立一套对HPA操作的软件接口函数:这些 函数中最底层的函数实现对HPA的扇区读写访问;更高层的则是通过调用底 层的读写接口函数,实现对HPA中的备份文件存取操作等功能。\n由上可知:本发明具有如下的特点:\n1、实现了BIOS安全保护;每次启动时对BIOS自动进行校验,如果BIOS 被破坏则自动进行修复,不需要用户的介入;\n2、提供了更可靠的BIOS升级手段;BIOS升级时,主板BIOS自动备份, 不需要用户手动备份BIOS,主板BIOS的备份数据保存在硬盘或其他存储介 质中;\n3、主板BIOS的备份数据保存在HPA中,可以保证有足够的空间保存多 个BIOS备份且不易被破坏;\n4、恢复BIOS时,只需要硬盘,硬盘是PC标准配置,因此可以及时可 靠地恢复;目前BIOS恢复时需要软驱,而软驱目前已经不是PC标准配置, 且软盘容易损坏;\n5、自动修复过程中不需要显示;\n6、不需要输入设备,例如:键盘:修复过程是自动的,其间不需要用 户输入,也就不需要键盘,也减少了用户干预和需要用户操作的麻烦。\n附图说明\n图1为本发明备份BIOS文件的流程图。\n具体实施方式\n以下结合附图和具体的实施例对本发明作进一步的详细说明:\n参见图,本发明一个实施例包括以下的操作:\n在启动计算机时,首先执行步骤1;检测HPA中是否备份有BIOS文件, 如果HPA中没有备份BIOS文件;则执行步骤2,否则执行步骤3;具体的操 作包括:\n打开HPA,并将主板上BIOS模块中存储的信息以BIOS文件的形式备份 到HPA中,关闭HPA(图中未示);\n上述对于BIOS进行更新备份的条件包括:\na、Bootblock通过检测发现:BIOS没有备份;\nb、Bootblock发现已有BIOS升级标志。\n当启动计算机时,首先检查BIOS是否备份有BIOS文件,如果HPA中没 有备份BIOS文件则执行步骤2将BIOS文件备份到HPA中,具体包括:\n步骤A’:当检测HPA中没有备份BIOS文件时,打开硬盘中的HPA;\n步骤B’:将BIOS模块中的数据以BIOS文件的形式存储到HPA之中;\n步骤C’:将特定位置的状态信息设置为未升级,关闭HPA;\n步骤D’:继续引导过程。\n继续引导:如果发现BIOS引导失败,且BootBlock发现特定位置被设 置成BIOS升级状态,则进行;\n步骤32;如果BootBlock发现BIOS升级状态未设置,且BIOS内容发 生了变化,则认为BIOS模块已被破坏,则执行步骤33进行恢复。\n所述的步骤33自动恢复包括:\n步骤331;打开硬盘中的HPA,从其中找到BIOS文件;(图中未示)\n步骤332;将该BIOS文件复制到主板上用于启动的BIOS模块所在的存 储空间,并将其覆盖;(图中未示)\n步骤333;关闭硬盘中的HPA。(图中未示)\n对BIOS模块进行恢复过程中,如果引导BIOS成功时,对升级标志的 处理过程包括:\n步骤C:打开硬盘中的HPA;\n步骤D:将BIOS模块中的数据以BIOS文件的形式存储到HPA之中;\n步骤E:将特定位置的状态信息设置为未升级,关闭HPA;\n步骤F:继续引导过程。\n在升级BIOS时,需要备份新BIOS的内容,具体的备份方法和依据的原 则是:\na、用户进行升级BIOS工作,但BIOS中BootBlock模块内容保持不变, 不升级;\nb、在升级BIOS后,第一次引导BIOS时,当BootBlock发现BIOS升级 后,自动在HPA中备份新的BIOS;\nc、在一特定位置设置BIOS升级状态,这个特定位置可以位于CMOS中, 也可以位于硬盘特定扇区里,或BIOS中等其他可以存储数据的空间;当正常 BIOS引导引导以后,并且上述的特定位置设置了BIOS升级状态,则去除BIOS 升级状态。\n最后应说明的是:以上实施例仅用以说明本发明而并非限制本发明所描 述的技术方案;因此,尽管本说明书参照上述的各个实施例对本发明已进行 了详细的说明,但是,本领域的普通技术人员应当理解,仍然可以对本发明 进行修改或者等同替换;而一切不脱离本发明的精神和范围的技术方案及其 改进,其均应涵盖在本发明的权利要求范围当中。
法律信息
- 2007-05-23
- 2005-07-06
- 2005-05-04
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2002-09-25
|
2001-02-20
| | |
2
| | 暂无 |
1990-07-04
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |