一种BIOS下触发ClearCMOS的系统及方法与流程

文档序号:31464452发布日期:2022-09-09 20:08阅读:657来源:国知局
一种BIOS下触发ClearCMOS的系统及方法与流程
一种bios下触发clear cmos的系统及方法
技术领域
1.本发明属于计算机固件的技术领域,具体涉及一种bios下触发clear cmos的系统及方法。


背景技术:

2.clear cmos功能是指清除cmos信息的功能,cmos在这里是指主板上的一块可读写的ram(random access memory,随机存取存储器)芯片,该ram芯片主要用来保存当前系统的硬件配置和操作人员对某些参数的设定。通常情况下cmos信息通常指基本启动信息(例如日期、时间、启动设置等)。
3.现有的恢复bios默认值的方法,存在以下问题:
4.1)需要在系统进入bios setup之后,选择load defaults(载入缺省值),使用此菜单载入工厂默认值作为稳定的系统使用,在用户无法进入biossetup时,不能使用此技术;
5.2)通过在主板上设置jumper跳线,通过短接对应位置的跳线,清除cmos中存储的信息,此技术需要额外增加jumper和cmos芯片硬件,不依赖硬件无法完成。


技术实现要素:

6.有鉴于此,本发明提供了一种bios下触发clear cmos的系统及方法,能够在不额外增加硬件设施的条件下,实现clear cmos的功能。
7.实现本发明的技术方案如下:
8.一种bios下触发clear cmos的系统,包括时间判断模块、保存用户设置模块、恢复用户设置模块、清除变量模块和用户模块;
9.所述系统通过重置rtc,实现触发clear cmos信号的条件;所述时间判断模块,用于触发clear cmos的直接信号;所述保存用户设置模块用来保存用户对bios的一些参数设定;所述恢复用户设置模块是clear cmos完成之后用来恢复用户原来的某些参数设定;所述清除变量模块,用于通过软件方式clear cmos的功能;所述用户模块,用于实现人机交互界面。
10.进一步地,所述清除变量模块用于清除bios变量区,完成clear cmos的动作。
11.bios下触发clear cmos的方法,包括了三个阶段:
12.(1)sec阶段:在bios正常启动流程中,用于启动阶段的安全验证;
13.(2)pei阶段:获取当前rtc时间,并与预设rtc时间作对比,若为无效rtc时间,则调用清除变量模块去清除变量;若用户在clear cmos之后选择恢复之前的参数设定,则可以调用恢复用户设置模块去写回变量值;
14.(3)dxe阶段:初始化rtc时间是在该阶段完成,并可调用用户模块加载用户交互界面。
15.进一步地,所述方法,具体包括以下步骤:
16.步骤一、用户将计算机断电并移除电池,重置rtc时间;
17.步骤二、bios加载启动过程,此时rtc时间被重置,bios读取当前rtc时间;
18.步骤三、将获取到的rtc时间与预设rtc时间对比,由于获取的rtc时间未经初始化,不在预设时间范围内,所以此时获取到的是无效的rtc时间;
19.步骤四、在屏幕上弹窗询问用户是否要进行恢复默认值操作,若是,则调用保存用户设置模块将变量区的数据保存,接着调用清除变量模块;若否,则继续正常的开机流程;
20.步骤五、计算变量头文件大小,并为其分配空间,计算变量区的偏移量,擦除变量区的数据,保存变量头文件;
21.步骤六、调用弹窗函数在屏幕上打印clear cmos完成的提示信息;
22.步骤七、用户按enter键重启;
23.步骤八、在屏幕上弹窗询问用户是否要恢复之前的用户设定,若是,则将restorelastchange flag置为true;
24.步骤九、启动到bios setup下,用户在菜单选项中选择需要恢复的设定,并保存重启;
25.步骤十、bios从retaindata区获取对应的变量数据,并写回到bios setup中;
26.步骤十一、恢复用户bios设置结束。
27.进一步地,执行所述方法的前提条件为:计算机中需配基本启动设备,包括处理器、内存和板载显卡(或外设显卡),且主板含有电池。
28.有益效果:
29.1、本发明采用读取rtc时间来触发clear cmos信号的方式,无需额外增加硬件设施(jumper跳线等),为用户实施提供了操作的便利性以及节约了硬件成本;
30.2、本发明在清除cmos信息时,采用软件方式,保存变量头文件,擦除变量区的数据,无需额外增加cmos芯片来储存参数信息;
31.3、本发明在clear cmos完成之后,可以根据用户选择,恢复一些重要的用户设定;
32.4、通过本发明方法,可以在缺乏恢复bios默认设置的硬件支持情况下,通过rtc时间改变的检测,完成clear cmos的操作同时恢复用户某些重要参数设定,并且实现满足用户在无法进入setup时也可恢复bios默认设置。
附图说明
33.图1为本发明的bios下触发clear cmos的系统结构框图。
34.图2为本发明的bios下触发clear cmos的方法流程图。
具体实施方式
35.下面结合附图并举实施例,对本发明进行详细描述。
36.本发明提供了一种bios下触发clear cmos的系统,如图1所示,包括时间判断模块、清除变量模块、保存用户设置模块、恢复用户设置模块、用户模块;
37.bios下一种触发clear cmos的方法通过重置rtc,实现了触发clear cmos信号的条件;系统通过时间判断模块,实现了触发clear cmos的直接信号;所述保存用户设置模块用来保存用户对bios的一些参数设定;所述恢复用户设置模块是clear cmos完成之后用来恢复用户原来的某些参数设定;系统通过清除变量模块,实现了用软件方式clear cmos的
功能;系统通过用户模块,实现了人机交互界面。
38.所述系统清除变量模块用于清除bios变量区,完成clear cmos的动作。
39.所述用户模块用于提供用户友好界面提示。
40.本发明提供了bios下触发clear cmos的方法,通过主板rtc时间来确定clear cmos的状态,当用户移除电池后,rtc的时间会重新初始化,bios将初始化之前读取rtc时间,此时获取的rtc时间是无效的,由此触发clear cmos机制。
41.clear cmos模块通过保存变量区头文件,擦除变量区的数据来恢复bios数据。
42.本发明方法包括了三个阶段:
43.(1)sec阶段。用于安全验证。本发明中的作用是bios正常启动流程,做启动阶段的安全验证。
44.(2)pei阶段。用于为dxe阶段做的相关准备工作。本发明中的作用是获取当前rtc时间,并与预设rtc时间作对比,若为无效rtc时间,则在屏幕上弹窗询问用户是否要进行恢复默认值操作,若是则调用清除变量模块去清除变量。
45.(3)dxe阶段。用于初始化系统服务,并加载驱动。在本发明中,初始化rtc时间是在该阶段完成,并可调用用户模块加载用户交互界面。
46.如图2所示,结合具体实施过程,其实现步骤如下:
47.步骤一、用户将计算机断电并移除电池(电池为rtc供电),采用放电方式重置rtc时间;
48.步骤二、bios加载启动过程,此时rtc时间被重置,bios读取当前rtc时间;
49.步骤三、将获取到的rtc时间与预设rtc时间对比,由于获取的rtc时间未经初始化,不在预设时间范围内,所以此时获取到的是无效的rtc时间;
50.步骤四、在屏幕上弹窗询问用户是否要进行恢复默认值操作,若是,则调用保存用户设置模块将变量区的数据保存,接着调用清除变量模块;若否,则继续正常的开机流程;
51.步骤五、计算变量头文件大小,并为其分配空间,计算变量区的偏移量,擦除变量区的数据,保存变量头文件;
52.步骤六、调用弹窗函数在屏幕上打印clear cmos完成的提示信息;
53.步骤七、用户按enter键重启;
54.步骤八、在屏幕上弹窗询问用户是否要恢复之前的用户设定,若是,则将restorelastchange flag置为true;
55.步骤九、启动到bios setup下,用户在菜单选项中选择需要恢复的设定,并保存重启;
56.步骤十、bios从retaindata区获取对应的变量数据,并写回到bios setup中;
57.步骤十一、恢复用户bios设置结束。
58.综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1