一种NVRAM数据恢复方法和装置.pdf

上传人:a2 文档编号:1896874 上传时间:2018-07-23 格式:PDF 页数:15 大小:1.35MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310364271.0

申请日:

2013.08.20

公开号:

CN104424047A

公开日:

2015.03.18

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 11/14申请日:20130820|||公开

IPC分类号:

G06F11/14

主分类号:

G06F11/14

申请人:

研祥智能科技股份有限公司; 深圳市研祥通软件有限公司

发明人:

郭齐运; 王志栋

地址:

518057广东省深圳市南山区高新中四道31号研祥科技大厦

优先权:

专利代理机构:

深圳市顺天达专利商标代理有限公司44217

代理人:

高占元

PDF下载: PDF下载
内容摘要

本发明公开了一种NVRAM数据恢复方法和装置,装置包括数据获取单元、解锁单元、擦除单元、写入单元和上锁单元,方法包括:S1、若接收到恢复指令,则读取终端出厂时的NVRAM默认值;S2、设置NVRAM的读写属性为可读可写;S3、擦除NVRAM中存储的当前BIOS配置参数;S4、若擦除成功,则将读取的NVRAM默认值写入NVRAM中存储当前BIOS配置参数的区域;S5、设置NVRAM的读写属性为只读。允许终端用户根据实际需求决定是否清除NVRAM存储的当前BIOS配置参数并加载终端出厂时NVRAM默认值,操作简单,效率高,为终端用户和生产厂家都节省了费用开支和人力成本。

权利要求书

权利要求书
1.  一种非易失性随机访问存储器(NVRAM)数据恢复方法,其特征在于,包括以下步骤:
S1、若接收到恢复指令,则读取终端出厂时的NVRAM默认值;
S2、设置NVRAM的读写属性为可读可写;
S3、擦除NVRAM中存储的当前BIOS配置参数;
S4、若擦除成功,则将读取的NVRAM默认值写入NVRAM中存储当前BIOS配置参数的区域;
S5、设置NVRAM的读写属性为只读。

2.  根据权利要求1所述的NVRAM数据恢复方法,其特征在于,还包括以下步骤:
S6、在步骤S1和S2之间,将读取的NVRAM默认值保存到第一内存区间。

3.  根据权利要求2所述的NVRAM数据恢复方法,其特征在于,还包括以下步骤:
S7、在步骤S4和S5之间,判断写入NVRAM中存储当前BIOS配置参数的区域的NVRAM默认值和存储在所述第一内存区间内的NVRAM默认值是否相同,若是则执行步骤S5,若否则执行S3。

4.  根据权利要求1所述的NVRAM数据恢复方法,其特征在于,步骤S1包括以下子步骤:
S11、若接收到恢复指令,则判断是否备份了上一次正常启动时NVRAM中存储的BIOS配置参数,若是则执行步骤S13,若否则执行步骤S12;
S12、读取终端出厂时的NVRAM默认值,执行步骤S3;
S13、设置NVRAM的读写属性为可读可写;
S14、擦除NVRAM中存储的当前BIOS配置参数;
S15、若擦除成功,则将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域,执行步骤S5。

5.  根据权利要求4所述的NVRAM数据恢复方法,其特征在于,步骤S1还包括以下子步骤:
S16、若备份了上一次正常启动时NVRAM中存储的BIOS配置参数,则在步骤S11和S13之间,将备份的BIOS配置参数保存到第二内存空间。

6.  根据权利要求5所述的NVRAM数据恢复方法,其特征在于,子步骤S15包括以下次级子步骤:
S151、若擦除成功,则将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域;
S152、判断写入NVRAM中存储当前BIOS配置参数的区域的BIOS配置参数和存储在所述第二内存区间内的BIOS配置参数是否相同,若是则执行步骤S5,若否则执行S14。

7.  一种非易失性随机访问存储器(NVRAM)数据恢复装置(300),其特征在于,包括:
数据获取单元(310),用于在接收到恢复指令时,读取终端出厂时的NVRAM默认值;
解锁单元(320),用于设置NVRAM的读写属性为可读可写;
擦除单元(330),用于擦除NVRAM中存储的当前BIOS配置参数;
写入单元(340),用于在所述擦除单元(330)擦除NVRAM中存储的当 前BIOS配置参数成功时,将读取的NVRAM默认值写入NVRAM中存储当前BIOS配置参数的区域;
上锁单元(350),用于设置NVRAM的读写属性为只读。

8.  根据权利要求7所述的NVRAM数据恢复装置(300),其特征在于,还包括:
存储执行单元(360),用于将读取的NVRAM默认值保存到第一内存区间;
校验单元(370),用于判断写入NVRAM中存储当前BIOS配置参数的区域的NVRAM默认值和存储在所述第一内存区间内的NVRAM默认值是否相同。

9.  根据权利要求7所述的NVRAM数据恢复装置(300),其特征在于,所述数据获取单元(310)包括:
判断模块(311),用于在接收到恢复指令时,判断是否备份了上一次正常启动时NVRAM中存储的BIOS配置参数;
默认值获取模块(312),用于在未备份上一次正常启动时NVRAM中存储的BIOS配置参数时,读取终端出厂时的NVRAM默认值;
解锁模块(313),用于在备份了上一次正常启动时NVRAM中存储的BIOS配置参数时,设置NVRAM的读写属性为可读可写;
擦除模块(314),用于擦除NVRAM中存储的当前BIOS配置参数;
写入模块(315),用于在所述擦除模块(314)擦除NVRAM中存储的当前BIOS配置参数成功时,将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域。

10.  根据权利要求9所述的NVRAM数据恢复装置(300),其特征在于, 所述数据获取单元(310)还包括:
存储执行模块(316),用于在备份了上一次正常启动时NVRAM中存储的BIOS配置参数时,将备份的BIOS配置参数保存到第二内存空间;
所述写入模块(315)包括:
写入子模块(3151),用于在所述擦除模块(314)擦除NVRAM中存储的当前BIOS配置参数若成功时,将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域;
校验子模块(3152),用于判断写入NVRAM中存储当前BIOS配置参数的区域的BIOS配置参数和存储在所述第二内存区间内的BIOS配置参数是否相同。

说明书

说明书一种NVRAM数据恢复方法和装置
技术领域
本发明涉及计算机领域,更具体地说,涉及一种NVRAM数据恢复方法和装置。
背景技术
计算机开机后在POST(Power On Self-Test,上电自检)阶段用户通过按特定的热键(比如F2)可进入人机交互的界面——BIOS(Basic Input&Output System,基本输入输出系统)配置菜单。在BIOS配置菜单中用户可以根据实际需求修改当前计算机的硬件参数(比如内存频率、处理器倍频、处理器核数、主显示设备类型、引导设备顺序等),然后再按特定的热键(比如F10)保存所做修改并退出BIOS配置菜单。系统重启后,将启用新设置的硬件参数。
传统的BIOS是把用户修改的参数存储在由RTC(Real Time Clock,实时时钟)电池供电的CMOS内,当用户设置错误造成系统不能开机或其它功能异常时,可以通过硬件跳线短接主板上特定的两个针脚或者拔掉主板RTC电池,实现清除CMOS内用户设置的参数并加载机器出厂时CMOS的默认值,解决因用户设置错误而导致的无法正常开机的问题。
UEFI(Unified Extensible Firmware Interface,统一的可扩展固件接口)作为新一代的固件接口规范,以一种全新的BIOS架构逐渐取代了传统的BIOS。UEFI架构下,绝大部分的硬件参数是存储在NVRAM(Non-Volatile Random  Access Memory,非易失性随机访问存储器)中。NVRAM是存储BIOS内容的Flash芯片(这种存储BIOS内容的Flash芯片通常也被称为BIOS芯片)中特定的一段区域,是不需要RTC电池供电的。当终端用户修改了BIOS选项,修改后的参数将被存储在NVRAM中。对于硬件的一些重要参数,例如内存频率、CPU主频、主显示设备类型等,一旦终端用户的修改出错,将导致系统不能正常开机、开机不能正常显示或者键盘/鼠标不能用等严重问题。由于NVRAM是不需要RTC电池供电的非易失性存储器,传统的通过硬件跳线或拔掉主板RTC电池清CMOS的方法将无法清除NVRAM中的错误设置。
当出现上述状况时,常见的处理方式是让用户把出问题的计算机寄回生产厂家,由生产厂家的专业人员把BIOS芯片取下来,通过BIOS烧录器重新烧录BIOS,然后再把BIOS芯片焊接到主板上,最后再把修好的计算机寄还给用户。这无论对生产厂家还是用户,都是一个麻烦、耗时长、效率低、浪费人力物力的事情。
发明内容
本发明针对现有技术的上述缺陷,提供一种NVRAM数据恢复方法和装置,能够在接收到恢复指令时,自动将NVRAM中的数据恢复为正确配置的数据。
本发明解决其技术问题采用的技术方案是:提供一种非易失性随机访问存储器(NVRAM)数据恢复方法,包括以下步骤:
S1、若接收到恢复指令,则读取终端出厂时的NVRAM默认值;
S2、设置NVRAM的读写属性为可读可写;
S3、擦除NVRAM中存储的当前BIOS配置参数;
S4、若擦除成功,则将读取的NVRAM默认值写入NVRAM中存储当前BIOS配置参数的区域;
S5、设置NVRAM的读写属性为只读。
优选地,本发明的NVRAM数据恢复方法还包括以下步骤:
S6、在步骤S1和S2之间,将读取的NVRAM默认值保存到第一内存区间。
优选地,本发明的NVRAM数据恢复方法还包括以下步骤:
S7、在步骤S4和S5之间,判断写入NVRAM中存储当前BIOS配置参数的区域的NVRAM默认值和存储在所述第一内存区间内的NVRAM默认值是否相同,若是则执行步骤S5,若否则执行S3。
优选地,步骤S1包括以下子步骤:
S11、若接收到恢复指令,则判断是否备份了上一次正常启动时NVRAM中存储的BIOS配置参数,若是则执行步骤S13,若否则执行步骤S12;
S12、读取终端出厂时的NVRAM默认值,执行步骤S3;
S13、设置NVRAM的读写属性为可读可写;
S14、擦除NVRAM中存储的当前BIOS配置参数;
S15、若擦除成功,则将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域,执行步骤S5。
优选地,步骤S1还包括以下子步骤:
S16、若备份了上一次正常启动时NVRAM中存储的BIOS配置参数,则在步骤S11和S13之间,将备份的BIOS配置参数保存到第二内存空间。
优选地,子步骤S15包括以下次级子步骤:
S151、若擦除成功,则将备份的BIOS配置参数写入NVRAM中存储当 前BIOS配置参数的区域;
S152、判断写入NVRAM中存储当前BIOS配置参数的区域的BIOS配置参数和存储在所述第二内存区间内的BIOS配置参数是否相同,若是则执行步骤S5,若否则执行S14。
提供一种非易失性随机访问存储器(NVRAM)数据恢复装置,包括:
数据获取单元,用于在接收到恢复指令时,读取终端出厂时的NVRAM默认值;
解锁单元,用于设置NVRAM的读写属性为可读可写;
擦除单元,用于擦除NVRAM中存储的当前BIOS配置参数;
写入单元,用于在所述擦除单元擦除NVRAM中存储的当前BIOS配置参数成功时,将读取的NVRAM默认值写入NVRAM中存储当前BIOS配置参数的区域;
上锁单元,用于设置NVRAM的读写属性为只读。
优选地,本发明的NVRAM数据恢复装置,还包括:
存储执行单元,用于将读取的NVRAM默认值保存到第一内存区间;
校验单元,用于判断写入NVRAM中存储当前BIOS配置参数的区域的NVRAM默认值和存储在所述第一内存区间内的NVRAM默认值是否相同。
优选地,所述数据获取单元包括:
判断模块,用于在接收到恢复指令时,判断是否备份了上一次正常启动时NVRAM中存储的BIOS配置参数;
默认值获取模块,用于在未备份上一次正常启动时NVRAM中存储的BIOS配置参数时,读取终端出厂时的NVRAM默认值;
解锁模块,用于在备份了上一次正常启动时NVRAM中存储的BIOS配置 参数时,设置NVRAM的读写属性为可读可写;
擦除模块,用于擦除NVRAM中存储的当前BIOS配置参数;
写入模块,用于在所述擦除模块擦除NVRAM中存储的当前BIOS配置参数成功时,将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域。
优选地,所述数据获取单元还包括:
存储执行模块,用于在备份了上一次正常启动时NVRAM中存储的BIOS配置参数时,将备份的BIOS配置参数保存到第二内存空间;
所述写入模块包括:
写入子模块,用于在所述擦除模块擦除NVRAM中存储的当前BIOS配置参数若成功时,将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域;
校验子模块,用于判断写入NVRAM中存储当前BIOS配置参数的区域的BIOS配置参数和存储在所述第二内存区间内的BIOS配置参数是否相同。
本发明的NVRAM数据恢复方法和装置具有以下有益效果:终端用户可以根据实际需求决定是否清除NVRAM存储的当前BIOS配置参数并加载终端出厂时NVRAM默认值,只需简单的操作即可实现,避免了终端用户把出问题的机器寄给生产厂家,生产厂家专业人员维修好之后再把机器寄回给终端用户,缩短了解决问题的时间,提高了效率,为终端用户和生产厂家都节省了费用开支和人力成本。
另外,能够在备份了上一次正常启动时NVRAM中存储的BIOS配置参数的情况下,在接收到恢复指令时,将NVRAM中存储的当前BIOS配置参数恢复为备份的BIOS配置参数。并且,若恢复为备份的BIOS配置参数后仍然无 法正常启动时,加载NVRAM默认值,以实现正常启动计算机。
附图说明
图1为本发明的NVRAM数据恢复方法第一实施例的流程图;
图2为本发明的NVRAM数据恢复方法第二实施例的流程图;
图3为本发明的NVRAM数据恢复装置第一实施例的功能框图;
图4为本发明的NVRAM数据恢复装置第一实施例的工作流程图;
图5为本发明的NVRAM数据恢复装置第二实施例中数据获取单元的功能框图。
具体实施方式
以下结合附图和实施例对本发明做进一步的解释说明。
图1为本发明的NVRAM数据恢复方法第一实施例的流程图,如图1所示,在本实施例中,本发明的方法包括以下步骤:
S1、若接收到恢复指令,则读取终端出厂时的NVRAM默认值;
S2、设置NVRAM的读写属性为可读可写;
S3、擦除NVRAM中存储的当前BIOS配置参数;
S4、若擦除成功,则将读取的NVRAM默认值写入NVRAM中存储当前BIOS配置参数的区域;
S5、设置NVRAM的读写属性为只读。
NVRAM具有一定大小的存储空间(常见的为64KB),存储空间中的一些区域用于存储当前的BIOS配置参数,另一些区域用于存储NVRAM默认值和其他数据。终端出厂时,NVRAM默认值就被存储在NVRAM存储空间的 一特定区域中。
在本实施例中,本发明的方法是在BIOS代码中添加额外的功能模块,当用户希望清除NVRAM时,只需触发预定的事件,该事件被BIOS侦测到后则会调用相应的功能模块,实现加载NVRAM默认值功能。
具体的,在步骤S1中,用户需要在断掉交流电的状态下,例如,用跳帽短接主板上特定的两个针脚或者通过按下设置在终端壳体上预定义的键盘/按键(/按钮),用户的这个操作被终端捕获,预定义的恢复状态标志位将被置起来。开机时BIOS侦测到这个状态标志位的变化,认为接收到了恢复指令,则从NVRAM的相应区域中读取NVRAM默认值。
随后,在步骤S2中,将NVRAM的读写属性为可读可写,以解锁NVRAM。接着,在步骤S3中,擦除NVRAM中存储当前BIOS配置参数的区域,以清除NVRAM中存储的当前BIOS配置参数。
在步骤S4中,校验NVRAM中存储当前BIOS配置参数的区域是否擦除成功,若成功,则将读取的NVRAM默认值写入NVRAM中存储当前BIOS配置参数的区域,从而将当前BIOS配置参数(错误的配置参数)恢复为默认值。如果未擦除成功,则返回步骤S3重新执行擦除,在本发明的其他实施例当中,如果未擦出成功,再返回步骤S3。
待将当前BIOS配置参数恢复为默认值后,在步骤S5中将NVRAM的读写属性设置为只读,允许对NVRAM进行读操作,禁止对NVRAM进行写操作。
本发明的NVRAM数据恢复方法实现了用户根据实际需求决定是否清除NVRAM中存储的当前BIOS配置参数,并加载NVRAM默认值的功能,解决了用户修改BIOS选项或其它原因导致系统不能开机、功能异常等问题时,用 户无法清除NVRAM并加载终端出厂时确定可以正常开机运行的NVRAM默认值问题。实施本实施例中的NVRAM数据恢复方法,终端用户可以根据实际需求决定是否清除NVRAM存储的当前BIOS配置参数并加载终端出厂时NVRAM默认值,只需简单的操作即可实现,避免了终端用户把出问题的机器寄给生产厂家,生产厂家专业人员维修好之后再把机器寄回给终端用户,缩短了解决问题的时间,提高了效率,为终端用户和生产厂家都节省了费用开支和人力成本。
图2为本发明的NVRAM数据恢复方法第二实施例的流程图,如图2所示,本实施例与本发明的方法的第一实施例的区别在于,本发明的方法还包括以下步骤:
S6、在步骤S1和S2之间,将读取的NVRAM默认值保存到第一内存区间;
S7、在步骤S4和S5之间,判断写入NVRAM中存储当前BIOS配置参数的区域的NVRAM默认值和存储在所述第一内存区间内的NVRAM默认值是否相同,若是则执行步骤S5,若否则执行S3。
在该实施例中,将从NVRAM中的特定区域中读取的NVRAM默认值存储到内存中的一动态存储区域(第一内存区间),在加载了NVRAM默认值后,以及对NVRAM上锁之间,校验已经写入NVRAM的默认值与第一内存区间内存储的默认值是否相同,若两者相同则对NVRAM上锁,若两者不相同则回到步骤S3,重新执行擦除。准确地将NVRAM中存储的当前BIOS配置参数恢复到默认值,减少了错误的发生。
在本发明的NVRAM数据恢复方法的第三实施例中,该实施例与发明的方法的第二实施例的区别在于,步骤S1包括以下子步骤:
S11、若接收到恢复指令,则判断是否备份了上一次正常启动时NVRAM中存储的BIOS配置参数,若是则执行步骤S13,若否则执行步骤S12;
S12、读取终端出厂时的NVRAM默认值,执行步骤S3;
S13、设置NVRAM的读写属性为可读可写;
S14、擦除NVRAM中存储的当前BIOS配置参数;
S15、若擦除成功,则将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域,执行步骤S5。
在本实施例中,在正常启动计算机后,进入计算机操作系统之前,可以备份NVRAM中存储的当前的BIOS配置参数到NVRAM中一个特定的区域(异于存储当前BIOS配置参数的区域以及存储NVRAM默认值的区域),并将备份数据标志位置为1。
在步骤S11中,当接收到恢复指令时,判断备份数据标志位的状态,若为1,则表示备份了上一次正常启动时NVRAM中存储的BIOS配置参数,若备份数据标志位为0,则表示未备份BIOS配置参数。当未备份BIOS配置参数时,读取终端出厂时的NVRAM默认值,执行步骤S3-S7。
考虑到加载备份的BIOS配置参数的正确性,在判断出备份了BIOS配置参数时,则执行步骤S16,将备份的BIOS配置参数保存到第二内存空间,然后执行步骤S13。在步骤S13中,将NVRAM的读写属性设置为可读可写,以解锁NVRAM。随后,在步骤S14中,擦除NVRAM中存储当前BIOS配置参数的区域,以清除存储的当前BIOS配置参数。然后,在步骤S15中,校验擦除是否成功,若不成功则回到步骤S13重新执行擦除,若擦除成功,则将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域,并判断写入NVRAM中存储当前BIOS配置参数的区域的BIOS配置参数和存储在所述 第二内存区间内的BIOS配置参数是否相同,若是则执行步骤S5以将NVRAM上锁,若两者不相同则返回步骤S14,从擦除的工作起重新执行。
另外,经过上述步骤在NVRAM中的特定区域写入备份的BIOS配置参数后,计算机仍然无法正常启动,则读取终端出厂时的NVRAM默认值,执行步骤S3-S7。
本实施例中的NVRAM数据恢复方法,能够在备份了上一次正常启动BIOS是NVRAM中存储的BIOS配置参数的情况下,在接收到恢复指令时,将NVRAM中存储的当前BIOS配置参数恢复为备份的BIOS配置参数。并且,若恢复为备份的BIOS配置参数后仍然无法正常启动时,加载NVRAM默认值,以实现正常启动计算机。
图3为本发明的NVRAM数据恢复装置300第一实施例的功能框图,如图3所示,在本实施例中,本发明的装置300包括:
数据获取单元310,用于在接收到恢复指令时,读取终端出厂时的NVRAM默认值;
解锁单元320,用于设置NVRAM的读写属性为可读可写;
擦除单元330,用于擦除NVRAM中存储的当前BIOS配置参数;
写入单元340,用于在擦除单元330擦除NVRAM中存储的当前BIOS配置参数成功时,将读取的NVRAM默认值写入NVRAM中存储当前BIOS配置参数的区域;
上锁单元350,用于设置NVRAM的读写属性为只读;
存储执行单元360,用于将读取的NVRAM默认值保存到第一内存区间;
校验单元370,用于判断写入NVRAM中存储当前BIOS配置参数的区域的NVRAM默认值和存储在所述第一内存区间内的NVRAM默认值是否相同。
图4为本发明的NVRAM数据恢复装置300第一实施例的工作流程图,如图4所示,当接收到恢复指令时,判断需要加载NVRAM默认值,调用数据获取单元310从NVRAM的特定区域读取终端出厂时的NVRAM默认值,并调用存储执行单元360将读取的NVRAM默认值保存到第一内存区间。然后调用解锁单元320,将NVRAM的读写属性设置为可读可写。接着调用擦除单元330,以擦除NVRAM中存储当前BIOS配置参数的区域。然后装置300判断NVRAM中存储当前BIOS配置参数的区域是否擦除成功,若是则调用写入单元340将读取的NVRAM默认值写入NVRAM中存储当前BIOS配置参数的区域,以实现加载NVRAM默认值,若擦除不成功再次调用擦除单元330进行擦除。之后调用校验单元370判断NVRAM中存储当前BIOS配置参数的区域写入是否成功,具体的,校验单元370判断写入NVRAM中存储当前BIOS配置参数的区域的NVRAM默认值和存储在所述第一内存区间内的NVRAM默认值是否相同,若两者相同则校验成功,若两者不相同则校验不成功。若校验不成功则调用擦除单元330进行擦除,并重复运行后续操作直到NVRAM区域写入成功。最后,调用上锁单元350,将NVRAM的读写属性设置为只读。
在本发明的NVRAM数据恢复装置300第二实施例中,参见图5,该实施例与本发明的装置300第一实施例的区别在于,数据获取单元310包括:
判断模块311,用于在接收到恢复指令时,判断是否备份了上一次正常启动时NVRAM中存储的BIOS配置参数;
默认值获取模块312,用于在未备份上一次正常启动时NVRAM中存储的BIOS配置参数时,读取终端出厂时的NVRAM默认值;
解锁模块313,用于在备份了上一次正常启动时NVRAM中存储的BIOS配置参数时,设置NVRAM的读写属性为可读可写;
擦除模块314,用于擦除NVRAM中存储的当前BIOS配置参数;
写入模块315,用于在擦除模块314擦除NVRAM中存储的当前BIOS配置参数成功时,将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域。
在本实施例中,数据获取单元310还包括:
存储执行模块316,用于在备份了上一次正常启动时NVRAM中存储的BIOS配置参数时,将备份的BIOS配置参数保存到第二内存空间;
写入模块315包括:
写入子模块3151,用于在擦除模块314擦除NVRAM中存储的当前BIOS配置参数若成功时,将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域;
校验子模块3152,用于判断写入NVRAM中存储当前BIOS配置参数的区域的BIOS配置参数和存储在第二内存区间内的BIOS配置参数是否相同。
当接收到恢复指令时,调用判断模块311判断备份数据标志位的状态,若为1,则表示备份了上一次正常启动时NVRAM中存储的BIOS配置参数,若备份数据标志位为0,则表示未备份BIOS配置参数。当未备份BIOS配置参数时,则调用默认值获取模块312,读取终端出厂时的NVRAM默认值,装置300执行记载NVRAM默认值的工作流程。当备份了BIOS配置参数时,调用存储执行模块316,将备份的BIOS配置参数保存到第二内存空间。然后调用解锁模块313,将NVRAM的读写属性设置为可读可写。接着调用擦除模块314,擦除NVRAM中存储的当前BIOS配置参数。装置300判断擦除是否完成,若为完成则继续调用擦除模块314直到完成擦除工作。完成擦除后,调用写入子模块3151,将备份的BIOS配置参数写入NVRAM中存储当前BIOS 配置参数的区域。然后调用校验子模块3152,判断写入NVRAM中存储当前BIOS配置参数的区域的BIOS配置参数和存储在第二内存区间内的BIOS配置参数是否相同,若两者不相同则调用擦除模块314执行擦除,并执行后续工作直到校验子模块3152通过校验。校验子模块3152通过校验后调用上锁单元350,将NVRAM的读写属性设置为只读。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

一种NVRAM数据恢复方法和装置.pdf_第1页
第1页 / 共15页
一种NVRAM数据恢复方法和装置.pdf_第2页
第2页 / 共15页
一种NVRAM数据恢复方法和装置.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《一种NVRAM数据恢复方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种NVRAM数据恢复方法和装置.pdf(15页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 (43)申请公布日 (21)申请号 201310364271.0(22)申请日 2013.08.20G06F 11/14(2006.01)(71)申请人研祥智能科技股份有限公司地址 518057 广东省深圳市南山区高新中四道31号研祥科技大厦申请人深圳市研祥通软件有限公司(72)发明人郭齐运 王志栋(74)专利代理机构深圳市顺天达专利商标代理有限公司 44217代理人高占元(54) 发明名称一种NVRAM数据恢复方法和装置(57) 摘要本发明公开了一种NVRAM数据恢复方法和装置,装置包括数据获取单元、解锁单元、擦除单元、写入单元和上锁单元,方法包括:S1、若接收到恢复指令。

2、,则读取终端出厂时的NVRAM默认值;S2、设置NVRAM的读写属性为可读可写;S3、擦除NVRAM中存储的当前BIOS配置参数;S4、若擦除成功,则将读取的NVRAM默认值写入NVRAM中存储当前BIOS配置参数的区域;S5、设置NVRAM的读写属性为只读。允许终端用户根据实际需求决定是否清除NVRAM存储的当前BIOS配置参数并加载终端出厂时NVRAM默认值,操作简单,效率高,为终端用户和生产厂家都节省了费用开支和人力成本。(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书7页 附图5页(10)申请公布号 CN 104424047 A(43。

3、)申请公布日 2015.03.18CN 104424047 A1/2页21.一种非易失性随机访问存储器(NVRAM)数据恢复方法,其特征在于,包括以下步骤:S1、若接收到恢复指令,则读取终端出厂时的NVRAM默认值;S2、设置NVRAM的读写属性为可读可写;S3、擦除NVRAM中存储的当前BIOS配置参数;S4、若擦除成功,则将读取的NVRAM默认值写入NVRAM中存储当前BIOS配置参数的区域;S5、设置NVRAM的读写属性为只读。2.根据权利要求1所述的NVRAM数据恢复方法,其特征在于,还包括以下步骤:S6、在步骤S1和S2之间,将读取的NVRAM默认值保存到第一内存区间。3.根据权利要。

4、求2所述的NVRAM数据恢复方法,其特征在于,还包括以下步骤:S7、在步骤S4和S5之间,判断写入NVRAM中存储当前BIOS配置参数的区域的NVRAM默认值和存储在所述第一内存区间内的NVRAM默认值是否相同,若是则执行步骤S5,若否则执行S3。4.根据权利要求1所述的NVRAM数据恢复方法,其特征在于,步骤S1包括以下子步骤:S11、若接收到恢复指令,则判断是否备份了上一次正常启动时NVRAM中存储的BIOS配置参数,若是则执行步骤S13,若否则执行步骤S12;S12、读取终端出厂时的NVRAM默认值,执行步骤S3;S13、设置NVRAM的读写属性为可读可写;S14、擦除NVRAM中存储的。

5、当前BIOS配置参数;S15、若擦除成功,则将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域,执行步骤S5。5.根据权利要求4所述的NVRAM数据恢复方法,其特征在于,步骤S1还包括以下子步骤:S16、若备份了上一次正常启动时NVRAM中存储的BIOS配置参数,则在步骤S11和S13之间,将备份的BIOS配置参数保存到第二内存空间。6.根据权利要求5所述的NVRAM数据恢复方法,其特征在于,子步骤S15包括以下次级子步骤:S151、若擦除成功,则将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域;S152、判断写入NVRAM中存储当前BIOS配置参数的。

6、区域的BIOS配置参数和存储在所述第二内存区间内的BIOS配置参数是否相同,若是则执行步骤S5,若否则执行S14。7.一种非易失性随机访问存储器(NVRAM)数据恢复装置(300),其特征在于,包括:数据获取单元(310),用于在接收到恢复指令时,读取终端出厂时的NVRAM默认值;解锁单元(320),用于设置NVRAM的读写属性为可读可写;擦除单元(330),用于擦除NVRAM中存储的当前BIOS配置参数;写入单元(340),用于在所述擦除单元(330)擦除NVRAM中存储的当前BIOS配置参数成功时,将读取的NVRAM默认值写入NVRAM中存储当前BIOS配置参数的区域;上锁单元(350),。

7、用于设置NVRAM的读写属性为只读。8.根据权利要求7所述的NVRAM数据恢复装置(300),其特征在于,还包括:权 利 要 求 书CN 104424047 A2/2页3存储执行单元(360),用于将读取的NVRAM默认值保存到第一内存区间;校验单元(370),用于判断写入NVRAM中存储当前BIOS配置参数的区域的NVRAM默认值和存储在所述第一内存区间内的NVRAM默认值是否相同。9.根据权利要求7所述的NVRAM数据恢复装置(300),其特征在于,所述数据获取单元(310)包括:判断模块(311),用于在接收到恢复指令时,判断是否备份了上一次正常启动时NVRAM中存储的BIOS配置参数;。

8、默认值获取模块(312),用于在未备份上一次正常启动时NVRAM中存储的BIOS配置参数时,读取终端出厂时的NVRAM默认值;解锁模块(313),用于在备份了上一次正常启动时NVRAM中存储的BIOS配置参数时,设置NVRAM的读写属性为可读可写;擦除模块(314),用于擦除NVRAM中存储的当前BIOS配置参数;写入模块(315),用于在所述擦除模块(31 4)擦除NVRAM中存储的当前BIOS配置参数成功时,将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域。10.根据权利要求9所述的NVRAM数据恢复装置(300),其特征在于,所述数据获取单元(310)还包括:存储执。

9、行模块(316),用于在备份了上一次正常启动时NVRAM中存储的BIOS配置参数时,将备份的BIOS配置参数保存到第二内存空间;所述写入模块(315)包括:写入子模块(3151),用于在所述擦除模块(314)擦除NVRAM中存储的当前BIOS配置参数若成功时,将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域;校验子模块(3152),用于判断写入NVRAM中存储当前BIOS配置参数的区域的BIOS配置参数和存储在所述第二内存区间内的BIOS配置参数是否相同。权 利 要 求 书CN 104424047 A1/7页4一种 NVRAM 数据恢复方法和装置技术领域0001 本发明涉。

10、及计算机领域,更具体地说,涉及一种NVRAM数据恢复方法和装置。背景技术0002 计算机开机后在POST(Power On Self-Test,上电自检)阶段用户通过按特定的热键(比如F2)可进入人机交互的界面 BIOS(Basic Input&Output System,基本输入输出系统)配置菜单。在BIOS配置菜单中用户可以根据实际需求修改当前计算机的硬件参数(比如内存频率、处理器倍频、处理器核数、主显示设备类型、引导设备顺序等),然后再按特定的热键(比如F10)保存所做修改并退出BIOS配置菜单。系统重启后,将启用新设置的硬件参数。0003 传统的BIOS是把用户修改的参数存储在由RTC。

11、(Real Time Clock,实时时钟)电池供电的CMOS内,当用户设置错误造成系统不能开机或其它功能异常时,可以通过硬件跳线短接主板上特定的两个针脚或者拔掉主板RTC电池,实现清除CMOS内用户设置的参数并加载机器出厂时CMOS的默认值,解决因用户设置错误而导致的无法正常开机的问题。0004 UEFI(Unified Extensible Firmware Interface,统一的可扩展固件接口)作为新一代的固件接口规范,以一种全新的BIOS架构逐渐取代了传统的BIOS。UEFI架构下,绝大部分的硬件参数是存储在NVRAM(Non-Volatile Random Access Memo。

12、ry,非易失性随机访问存储器)中。NVRAM是存储BIOS内容的Flash芯片(这种存储BIOS内容的Flash芯片通常也被称为BIOS芯片)中特定的一段区域,是不需要RTC电池供电的。当终端用户修改了BIOS选项,修改后的参数将被存储在NVRAM中。对于硬件的一些重要参数,例如内存频率、CPU主频、主显示设备类型等,一旦终端用户的修改出错,将导致系统不能正常开机、开机不能正常显示或者键盘/鼠标不能用等严重问题。由于NVRAM是不需要RTC电池供电的非易失性存储器,传统的通过硬件跳线或拔掉主板RTC电池清CMOS的方法将无法清除NVRAM中的错误设置。0005 当出现上述状况时,常见的处理方式。

13、是让用户把出问题的计算机寄回生产厂家,由生产厂家的专业人员把BIOS芯片取下来,通过BIOS烧录器重新烧录BIOS,然后再把BIOS芯片焊接到主板上,最后再把修好的计算机寄还给用户。这无论对生产厂家还是用户,都是一个麻烦、耗时长、效率低、浪费人力物力的事情。发明内容0006 本发明针对现有技术的上述缺陷,提供一种NVRAM数据恢复方法和装置,能够在接收到恢复指令时,自动将NVRAM中的数据恢复为正确配置的数据。0007 本发明解决其技术问题采用的技术方案是:提供一种非易失性随机访问存储器(NVRA M)数据恢复方法,包括以下步骤:0008 S1、若接收到恢复指令,则读取终端出厂时的NVRAM默。

14、认值;0009 S2、设置NVRAM的读写属性为可读可写;说 明 书CN 104424047 A2/7页50010 S3、擦除NVRAM中存储的当前BIOS配置参数;0011 S4、若擦除成功,则将读取的NVRAM默认值写入NVRAM中存储当前BIOS配置参数的区域;0012 S5、设置NVRAM的读写属性为只读。0013 优选地,本发明的NVRAM数据恢复方法还包括以下步骤:0014 S6、在步骤S1和S2之间,将读取的NVRAM默认值保存到第一内存区间。0015 优选地,本发明的NVRAM数据恢复方法还包括以下步骤:0016 S7、在步骤S4和S5之间,判断写入NVRAM中存储当前BIOS。

15、配置参数的区域的NVRAM默认值和存储在所述第一内存区间内的NVRAM默认值是否相同,若是则执行步骤S5,若否则执行S3。0017 优选地,步骤S1包括以下子步骤:0018 S11、若接收到恢复指令,则判断是否备份了上一次正常启动时NVRAM中存储的BIOS配置参数,若是则执行步骤S13,若否则执行步骤S12;0019 S12、读取终端出厂时的NVRAM默认值,执行步骤S3;0020 S13、设置NVRAM的读写属性为可读可写;0021 S14、擦除NVRAM中存储的当前BIOS配置参数;0022 S15、若擦除成功,则将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域,执。

16、行步骤S5。0023 优选地,步骤S1还包括以下子步骤:0024 S16、若备份了上一次正常启动时NVRAM中存储的BIOS配置参数,则在步骤S11和S13之间,将备份的BIOS配置参数保存到第二内存空间。0025 优选地,子步骤S15包括以下次级子步骤:0026 S151、若擦除成功,则将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域;0027 S152、判断写入NVRAM中存储当前BIOS配置参数的区域的BIOS配置参数和存储在所述第二内存区间内的BIOS配置参数是否相同,若是则执行步骤S5,若否则执行S14。0028 提供一种非易失性随机访问存储器(NVRAM)数据。

17、恢复装置,包括:0029 数据获取单元,用于在接收到恢复指令时,读取终端出厂时的NVRAM默认值;0030 解锁单元,用于设置NVRAM的读写属性为可读可写;0031 擦除单元,用于擦除NVRAM中存储的当前BIOS配置参数;0032 写入单元,用于在所述擦除单元擦除NVRAM中存储的当前BIOS配置参数成功时,将读取的NVRAM默认值写入NVRAM中存储当前BIOS配置参数的区域;0033 上锁单元,用于设置NVRAM的读写属性为只读。0034 优选地,本发明的NVRAM数据恢复装置,还包括:0035 存储执行单元,用于将读取的NVRAM默认值保存到第一内存区间;0036 校验单元,用于判断。

18、写入NVRAM中存储当前BIOS配置参数的区域的NVRAM默认值和存储在所述第一内存区间内的NVRAM默认值是否相同。0037 优选地,所述数据获取单元包括:0038 判断模块,用于在接收到恢复指令时,判断是否备份了上一次正常启动时NVRAM说 明 书CN 104424047 A3/7页6中存储的BIOS配置参数;0039 默认值获取模块,用于在未备份上一次正常启动时NVRAM中存储的BIOS配置参数时,读取终端出厂时的NVRAM默认值;0040 解锁模块,用于在备份了上一次正常启动时NVRAM中存储的BIOS配置参数时,设置NVRAM的读写属性为可读可写;0041 擦除模块,用于擦除NVRA。

19、M中存储的当前BIOS配置参数;0042 写入模块,用于在所述擦除模块擦除NVRAM中存储的当前BIOS配置参数成功时,将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域。0043 优选地,所述数据获取单元还包括:0044 存储执行模块,用于在备份了上一次正常启动时NVRAM中存储的BIOS配置参数时,将备份的BIOS配置参数保存到第二内存空间;0045 所述写入模块包括:0046 写入子模块,用于在所述擦除模块擦除NVRAM中存储的当前BIOS配置参数若成功时,将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域;0047 校验子模块,用于判断写入NVR。

20、AM中存储当前BIOS配置参数的区域的BIOS配置参数和存储在所述第二内存区间内的BIOS配置参数是否相同。0048 本发明的NVRAM数据恢复方法和装置具有以下有益效果:终端用户可以根据实际需求决定是否清除NVRAM存储的当前BIOS配置参数并加载终端出厂时NVRAM默认值,只需简单的操作即可实现,避免了终端用户把出问题的机器寄给生产厂家,生产厂家专业人员维修好之后再把机器寄回给终端用户,缩短了解决问题的时间,提高了效率,为终端用户和生产厂家都节省了费用开支和人力成本。0049 另外,能够在备份了上一次正常启动时NVRAM中存储的BIOS配置参数的情况下,在接收到恢复指令时,将NVRAM中存。

21、储的当前BIOS配置参数恢复为备份的BIOS配置参数。并且,若恢复为备份的BIOS配置参数后仍然无法正常启动时,加载NVRAM默认值,以实现正常启动计算机。附图说明0050 图1为本发明的NVRAM数据恢复方法第一实施例的流程图;0051 图2为本发明的NVRAM数据恢复方法第二实施例的流程图;0052 图3为本发明的NVRAM数据恢复装置第一实施例的功能框图;0053 图4为本发明的NVRAM数据恢复装置第一实施例的工作流程图;0054 图5为本发明的NVRAM数据恢复装置第二实施例中数据获取单元的功能框图。具体实施方式0055 以下结合附图和实施例对本发明做进一步的解释说明。0056 图1。

22、为本发明的NVRAM数据恢复方法第一实施例的流程图,如图1所示,在本实施例中,本发明的方法包括以下步骤:0057 S1、若接收到恢复指令,则读取终端出厂时的NVRAM默认值;0058 S2、设置NVRAM的读写属性为可读可写;说 明 书CN 104424047 A4/7页70059 S3、擦除NVRAM中存储的当前BIOS配置参数;0060 S4、若擦除成功,则将读取的NVRAM默认值写入NVRAM中存储当前BIOS配置参数的区域;0061 S5、设置NVRAM的读写属性为只读。0062 NVRAM具有一定大小的存储空间(常见的为64KB),存储空间中的一些区域用于存储当前的BIOS配置参数,。

23、另一些区域用于存储NVRAM默认值和其他数据。终端出厂时,NVRAM默认值就被存储在NVRAM存储空间的一特定区域中。0063 在本实施例中,本发明的方法是在BIOS代码中添加额外的功能模块,当用户希望清除NVRAM时,只需触发预定的事件,该事件被BIOS侦测到后则会调用相应的功能模块,实现加载NVRAM默认值功能。0064 具体的,在步骤S1中,用户需要在断掉交流电的状态下,例如,用跳帽短接主板上特定的两个针脚或者通过按下设置在终端壳体上预定义的键盘/按键(/按钮),用户的这个操作被终端捕获,预定义的恢复状态标志位将被置起来。开机时BIOS侦测到这个状态标志位的变化,认为接收到了恢复指令,则。

24、从NVRAM的相应区域中读取NVRAM默认值。0065 随后,在步骤S2中,将NVRAM的读写属性为可读可写,以解锁NVRAM。接着,在步骤S3中,擦除NVRAM中存储当前BIOS配置参数的区域,以清除NVRAM中存储的当前BIOS配置参数。0066 在步骤S4中,校验NVRAM中存储当前BIOS配置参数的区域是否擦除成功,若成功,则将读取的NVRAM默认值写入NVRAM中存储当前BIOS配置参数的区域,从而将当前BIOS配置参数(错误的配置参数)恢复为默认值。如果未擦除成功,则返回步骤S3重新执行擦除,在本发明的其他实施例当中,如果未擦出成功,再返回步骤S3。0067 待将当前BIOS配置参。

25、数恢复为默认值后,在步骤S5中将NVRAM的读写属性设置为只读,允许对NVRAM进行读操作,禁止对NVRAM进行写操作。0068 本发明的NVRAM数据恢复方法实现了用户根据实际需求决定是否清除NVRAM中存储的当前BIOS配置参数,并加载NVRAM默认值的功能,解决了用户修改BIOS选项或其它原因导致系统不能开机、功能异常等问题时,用户无法清除NVRAM并加载终端出厂时确定可以正常开机运行的NVRAM默认值问题。实施本实施例中的NVRAM数据恢复方法,终端用户可以根据实际需求决定是否清除NVRAM存储的当前BIOS配置参数并加载终端出厂时NVRAM默认值,只需简单的操作即可实现,避免了终端用。

26、户把出问题的机器寄给生产厂家,生产厂家专业人员维修好之后再把机器寄回给终端用户,缩短了解决问题的时间,提高了效率,为终端用户和生产厂家都节省了费用开支和人力成本。0069 图2为本发明的NVRAM数据恢复方法第二实施例的流程图,如图2所示,本实施例与本发明的方法的第一实施例的区别在于,本发明的方法还包括以下步骤:0070 S6、在步骤S1和S2之间,将读取的NVRAM默认值保存到第一内存区间;0071 S7、在步骤S4和S5之间,判断写入NVRAM中存储当前BIOS配置参数的区域的NVRAM默认值和存储在所述第一内存区间内的NVRAM默认值是否相同,若是则执行步骤S5,若否则执行S3。0072。

27、 在该实施例中,将从NVRAM中的特定区域中读取的NVRAM默认值存储到内存中的一动态存储区域(第一内存区间),在加载了NVRAM默认值后,以及对NVRAM上锁之间,校说 明 书CN 104424047 A5/7页8验已经写入NVRAM的默认值与第一内存区间内存储的默认值是否相同,若两者相同则对NVRAM上锁,若两者不相同则回到步骤S3,重新执行擦除。准确地将NVRAM中存储的当前BIOS配置参数恢复到默认值,减少了错误的发生。0073 在本发明的NVRAM数据恢复方法的第三实施例中,该实施例与发明的方法的第二实施例的区别在于,步骤S1包括以下子步骤:0074 S11、若接收到恢复指令,则判断。

28、是否备份了上一次正常启动时NVRAM中存储的BIOS配置参数,若是则执行步骤S13,若否则执行步骤S12;0075 S12、读取终端出厂时的NVRAM默认值,执行步骤S3;0076 S13、设置NVRAM的读写属性为可读可写;0077 S14、擦除NVRAM中存储的当前BIOS配置参数;0078 S15、若擦除成功,则将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域,执行步骤S5。0079 在本实施例中,在正常启动计算机后,进入计算机操作系统之前,可以备份NVRAM中存储的当前的BIOS配置参数到NVRAM中一个特定的区域(异于存储当前BIOS配置参数的区域以及存储NVR。

29、AM默认值的区域),并将备份数据标志位置为1。0080 在步骤S11中,当接收到恢复指令时,判断备份数据标志位的状态,若为1,则表示备份了上一次正常启动时NVRAM中存储的BIOS配置参数,若备份数据标志位为0,则表示未备份BIOS配置参数。当未备份BIOS配置参数时,读取终端出厂时的NVRAM默认值,执行步骤S3-S7。0081 考虑到加载备份的BIOS配置参数的正确性,在判断出备份了BIOS配置参数时,则执行步骤S16,将备份的BIOS配置参数保存到第二内存空间,然后执行步骤S13。在步骤S13中,将NVRAM的读写属性设置为可读可写,以解锁NVRAM。随后,在步骤S14中,擦除NVRAM。

30、中存储当前BIOS配置参数的区域,以清除存储的当前BIOS配置参数。然后,在步骤S15中,校验擦除是否成功,若不成功则回到步骤S13重新执行擦除,若擦除成功,则将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域,并判断写入NVRAM中存储当前BIOS配置参数的区域的BIOS配置参数和存储在所述第二内存区间内的BIOS配置参数是否相同,若是则执行步骤S5以将NVRAM上锁,若两者不相同则返回步骤S14,从擦除的工作起重新执行。0082 另外,经过上述步骤在NVRAM中的特定区域写入备份的BIOS配置参数后,计算机仍然无法正常启动,则读取终端出厂时的NVRAM默认值,执行步骤S。

31、3-S7。0083 本实施例中的NVRAM数据恢复方法,能够在备份了上一次正常启动BIOS是NVRAM中存储的BIOS配置参数的情况下,在接收到恢复指令时,将NVRAM中存储的当前BIOS配置参数恢复为备份的BIOS配置参数。并且,若恢复为备份的BIOS配置参数后仍然无法正常启动时,加载NVRAM默认值,以实现正常启动计算机。0084 图3为本发明的NVRAM数据恢复装置300第一实施例的功能框图,如图3所示,在本实施例中,本发明的装置300包括:0085 数据获取单元310,用于在接收到恢复指令时,读取终端出厂时的NVRAM默认值;0086 解锁单元320,用于设置NVRAM的读写属性为可读。

32、可写;0087 擦除单元330,用于擦除NVRAM中存储的当前BIOS配置参数;说 明 书CN 104424047 A6/7页90088 写入单元340,用于在擦除单元330擦除NVRAM中存储的当前BIOS配置参数成功时,将读取的NVRAM默认值写入NVRAM中存储当前BIOS配置参数的区域;0089 上锁单元350,用于设置NVRAM的读写属性为只读;0090 存储执行单元360,用于将读取的NVRAM默认值保存到第一内存区间;0091 校验单元370,用于判断写入NVRAM中存储当前BIOS配置参数的区域的NVRAM默认值和存储在所述第一内存区间内的NVRAM默认值是否相同。0092 图。

33、4为本发明的NVRAM数据恢复装置300第一实施例的工作流程图,如图4所示,当接收到恢复指令时,判断需要加载NVRAM默认值,调用数据获取单元310从NVRAM的特定区域读取终端出厂时的NVRAM默认值,并调用存储执行单元360将读取的NVRAM默认值保存到第一内存区间。然后调用解锁单元320,将NVRAM的读写属性设置为可读可写。接着调用擦除单元330,以擦除NVRAM中存储当前BIOS配置参数的区域。然后装置300判断NVRAM中存储当前BIOS配置参数的区域是否擦除成功,若是则调用写入单元340将读取的NVRAM默认值写入NVRAM中存储当前BIOS配置参数的区域,以实现加载NVRAM默。

34、认值,若擦除不成功再次调用擦除单元330进行擦除。之后调用校验单元370判断NVRAM中存储当前BIOS配置参数的区域写入是否成功,具体的,校验单元370判断写入NVRAM中存储当前BIOS配置参数的区域的NVRAM默认值和存储在所述第一内存区间内的NVRAM默认值是否相同,若两者相同则校验成功,若两者不相同则校验不成功。若校验不成功则调用擦除单元330进行擦除,并重复运行后续操作直到NVRAM区域写入成功。最后,调用上锁单元350,将NVRAM的读写属性设置为只读。0093 在本发明的NVRAM数据恢复装置300第二实施例中,参见图5,该实施例与本发明的装置300第一实施例的区别在于,数据获。

35、取单元310包括:0094 判断模块311,用于在接收到恢复指令时,判断是否备份了上一次正常启动时NVRAM中存储的BIOS配置参数;0095 默认值获取模块312,用于在未备份上一次正常启动时NVRAM中存储的BIOS配置参数时,读取终端出厂时的NVRAM默认值;0096 解锁模块313,用于在备份了上一次正常启动时NVRAM中存储的BIOS配置参数时,设置NVRAM的读写属性为可读可写;0097 擦除模块314,用于擦除NVRAM中存储的当前BIOS配置参数;0098 写入模块315,用于在擦除模块314擦除NVRAM中存储的当前BIOS配置参数成功时,将备份的BIOS配置参数写入NVRA。

36、M中存储当前BIOS配置参数的区域。0099 在本实施例中,数据获取单元310还包括:0100 存储执行模块316,用于在备份了上一次正常启动时NVRAM中存储的BIOS配置参数时,将备份的BIOS配置参数保存到第二内存空间;0101 写入模块315包括:0102 写入子模块3151,用于在擦除模块314擦除NVRAM中存储的当前BIOS配置参数若成功时,将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域;0103 校验子模块3152,用于判断写入NVRAM中存储当前BIOS配置参数的区域的BIOS配置参数和存储在第二内存区间内的BIOS配置参数是否相同。0104 当接收到。

37、恢复指令时,调用判断模块311判断备份数据标志位的状态,若为1,则说 明 书CN 104424047 A7/7页10表示备份了上一次正常启动时NVRAM中存储的BIOS配置参数,若备份数据标志位为0,则表示未备份BIOS配置参数。当未备份BIOS配置参数时,则调用默认值获取模块312,读取终端出厂时的NVRAM默认值,装置300执行记载NVRAM默认值的工作流程。当备份了BIOS配置参数时,调用存储执行模块316,将备份的BIOS配置参数保存到第二内存空间。然后调用解锁模块313,将NVRAM的读写属性设置为可读可写。接着调用擦除模块314,擦除NVRAM中存储的当前BIOS配置参数。装置30。

38、0判断擦除是否完成,若为完成则继续调用擦除模块314直到完成擦除工作。完成擦除后,调用写入子模块3151,将备份的BIOS配置参数写入NVRAM中存储当前BIOS配置参数的区域。然后调用校验子模块3152,判断写入NVRAM中存储当前BIOS配置参数的区域的BIOS配置参数和存储在第二内存区间内的BIOS配置参数是否相同,若两者不相同则调用擦除模块314执行擦除,并执行后续工作直到校验子模块3152通过校验。校验子模块3152通过校验后调用上锁单元350,将NVRAM的读写属性设置为只读。0105 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。说 明 书CN 104424047 A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1