[发明专利]一种校验基本输入输出系统BIOS的方法及设备有效
申请号: | 201310140989.1 | 申请日: | 2013-04-22 |
公开(公告)号: | CN103226505A | 公开(公告)日: | 2013-07-31 |
发明(设计)人: | 朱汇雄 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F11/22 | 分类号: | G06F11/22 |
代理公司: | 深圳中一专利商标事务所 44237 | 代理人: | 张全文 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 校验 基本 输入输出 系统 bios 方法 设备 | ||
技术领域
本发明涉及计算机领域,尤其涉及到一种校验基本输入输出系统BIOS的方法及设备。
背景技术
基本输入输出系统(Basic Input Output System,BIOS)在启动前,会先对自身的内容进行自检,以确保能正确启动。当前计算机系统主流的BIOS使用电可擦除可编程只读存储器EEPROM、闪存FLASH等作为其固件的存储器件。由于这些器件本身的可靠性不高,可能发生比特跳变、内容损坏等,造成BIOS在启动过程中自检失败,计算机系统无法启动,为了防止计算机系统运行过程中BIOS固件内容意外发生故障,影响下次启动,需要一种高效的在线检测方法,及时发现这种故障,以便进行修复。
现有技术中,当系统启动后,立刻读取BIOS固件内容并全拷贝一份保存。在线运行过程中,周期性读取BIOS固件的全部内容,与拷贝内容逐个字节比对。如果有差异,则可判断BIOS内容损坏。或者,类似的,在系统启动后,读取BIOS内容,为其计算初始校验值,并保存该校验值。在线运行过程中,周期性的读取BIOS固件的全部内容,并计算它的校验值,与初始校验值比较。如果有差异,亦可判断BIOS内容损坏。由于如今BIOS文件大小已达到数兆字节,且主流BIOS固件存储的介质一般为低速设备,因此这种比对需要进行繁重的IO访问与运算,效率很低。此外,这种技术不是很可靠。因为它基于一种假设,即系统启动后,检测程序第一次读取到的BIOS内容是完好的。如果在BIOS自检之后,检测程序还没有读取BIOS内容之前,BIOS内容发生了损坏,那么这种假设就不再成立。
另一种现有技术中,将BIOS内容分为代码区与配置数据区。代码区保存的是BIOS程序内容,是固定不变的,而配置数据区保存的是BIOS配置数据,内容可能改变,例如,用户在BIOS设置菜单中进行修改,即会引起配置数据变化。根据BIOS代码区内容固定不变的特点,与BIOS开发人员约定代码区的地址范围、校验算法、校验值,检测程序在系统运行过程中,在线读取代码区内容,并根据约定的地址范围、校验算法、校验值进行校验。由于BIOS版本更新,代码区大小经常发生变化,约定的地址范围、校验值需要经常变更,因此检测程序的通用性不好,需要经常适应BIOS版本变化,并且,这种检测算法无法覆盖配置数据区发生的异常。
发明内容
本发明实施例提供了一种校验BIOS的方法,旨在解决如何检测BIOS中代码区和数据区是否发生异常并如何跳过BIOS内容中的空白区。
第一方面,一种校验基本输入输出系统BIOS的方法,所述方法包括:
读取预先设置的校验启发信息,并判断所述校验启发信息是否正确;
当判断所述校验启发信息正确时,读取每段代码区的第一校验值,并根据所述检验启发信息中每段数据区的起始地址,读取每段数据区内容,根据所述每段数据区内容计算每段数据区的第一校验值;
存储所述每段代码区的起始地址和所述每段代码区的第一校验值、所述每段数据区的起始地址、每段数据区的第一校验值;
根据存储的所述每段代码区的起始地址读取每段代码区内容并计算每段代码区的第二校验值,根据存储的所述每段数据区的起始地址读取每段数据区内容并计算每段数据区的第二校验值;
比较所述每段代码区的第一校验值和所述每段代码区的第二校验值,当所述每段代码区的第一校验值和所述每段代码区的第二校验值不相同时,则返回BIOS内容损坏;比较所述每段数据区的第一校验值和所述每段数据区的第二校验值,当所述每段数据区的第一校验值和所述每段数据区的第二校验值不相同时,则返回BIOS内容损坏。
结合第一方面,在第一方面的第一种可能的实现方式中,所述读取预先设置的校验启发信息,并判断所述校验启发信息是否正确,包括:
在校验启发信息中设置唯一标识GUID;
根据所述校验启发信息的长度读取BIOS中的内容;
根据校验启发信息预先设置的结构读取所述内容的标识符;
比较所述内容的标识符和所述唯一标识是否相同;
当所述内容的标识符和所述唯一标识相同时,则计算所述内容的校验值;
判断所述内容的校验值和所述校验启发信息中预先存储的校验值是否相同;
当所述内容的校验值和所述校验启发信息中预先存储的校验值相同时,则判断所述内容是校验启发信息。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310140989.1/2.html,转载请声明来源钻瓜专利网。