CN111176686B - 一种bios升级方法、***、电子设备及存储介质 - Google Patents

一种bios升级方法、***、电子设备及存储介质 Download PDF

Info

Publication number
CN111176686B
CN111176686B CN201911386426.4A CN201911386426A CN111176686B CN 111176686 B CN111176686 B CN 111176686B CN 201911386426 A CN201911386426 A CN 201911386426A CN 111176686 B CN111176686 B CN 111176686B
Authority
CN
China
Prior art keywords
bios
area
parameter
structure body
nvram
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911386426.4A
Other languages
English (en)
Other versions
CN111176686A (zh
Inventor
芦飞
艾山彬
李道童
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Yingxin Computer Technology Co Ltd
Original Assignee
Shandong Yingxin Computer Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Yingxin Computer Technology Co Ltd filed Critical Shandong Yingxin Computer Technology Co Ltd
Priority to CN201911386426.4A priority Critical patent/CN111176686B/zh
Publication of CN111176686A publication Critical patent/CN111176686A/zh
Application granted granted Critical
Publication of CN111176686B publication Critical patent/CN111176686B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种BIOS升级方法,所述BIOS升级方法包括接收BIOS升级指令,并确定所述BIOS升级指令对应的刷新区域;判断所述刷新区域是否在NVRAM区域内;若是,则对所述BIOS执行升级操作,并在重启所述BIOS时从所述第二参数结构体中读取所述BIOS的默认选项参数值;若否,则对所述BIOS执行升级操作,并在重启所述BIOS时从所述第一参数结构体中读取所述BIOS的当前参数值。本申请能够避免BIOS的选项参数丢失,提高BIOS升级过程中的稳定性。本申请还公开了一种BIOS升级***、一种电子设备及一种存储介质,具有以上有益效果。

Description

一种BIOS升级方法、***、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种BIOS升级方法、***、一种电子设备及一种存储介质。
背景技术
随着科技的发展,计算机在软硬件方面也在不断改进、完善,其中服务器中的BIOS(Basic Input Output System,基本输入输出***)涉及硬件开机检测、OS引导等功能。在开发一些新功能时会新增选项或者BIOS关键的选项参数,其对应的变量也会随之产生。BIOS的选项参数以变量的形式存在于BIOS Flash的NVRAM(Non-Volatile Random AccessMemory,非易失性随机访问存储器)中。
相关技术中,带内升级BIOS对于参数值的保留主要方式是:开机时利用命令发送给BMC,由BMC将变量保存在其SRAM(Static Random-Access Memory,静态随机存取存储器)区域中,在升级BIOS时,NVRAM区域变量和BMC SRAM进行对比,并根据是否刷新NVRAM区域是否选择同步,这种方式需要借助BMC的SRAM进行做基准,但是若SRAM损坏,或者BIOS和BMC之间的协议沟通出现问题时会出现升级BIOS时参数状态异常的现象。
因此,如何避免BIOS的选项参数丢失,提高BIOS升级过程中的稳定性是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种BIOS升级方法、***、一种电子设备及一种存储介质,能够避免BIOS的选项参数丢失,提高BIOS升级过程中的稳定性。
为解决上述技术问题,本申请提供一种BIOS升级方法,该BIOS升级方法包括:
接收BIOS升级指令,并确定所述BIOS升级指令对应的刷新区域;
判断所述刷新区域是否在NVRAM区域内;其中,所述NVRAM区域包括第一参数结构体和第二参数结构体,所述第一参数结构体中存储所述BIOS的当前选项参数值,所述第二参数结构体中存储所述BIOS的默认选项参数值;
若是,则对所述BIOS执行升级操作,并在重启所述BIOS时从所述第二参数结构体中读取所述BIOS的默认选项参数值;
若否,则对所述BIOS执行升级操作,并在重启所述BIOS时从所述第一参数结构体中读取所述BIOS的当前参数值。
可选的,还包括:
将所述第一参数结构体和所述第二参数结构体所在的区域设置为禁止刷新的区间,以便在对所述BIOS执行升级操作的过程中跳过对所述第一参数结构体和所述第二参数结构体的刷新操作。
可选的,在判断所述刷新区域是否在NVRAM区域内之前,还包括:
为所述第一参数结构体中的当前选项参数值设置标志位,并将所述标志位置为0;
相应的,从所述第一参数结构体中读取所述BIOS的当前参数值包括:
通过将所有所述标志位置为1控制所述BIOS从所述第一参数结构体中读取所述BIOS的所述当前参数值。
可选的,还包括:
在从所述第一参数结构体中读取所述BIOS的当前参数值之后,将所有所述标志位置为0。
可选的,在读取所述BIOS的默认选项参数值或所述BIOS的当前参数值之前,还包括:
刷新第一启动设备first boot device并清空CMOS信息。
可选的,还包括:
若所述刷新区域在所述NVRAM区域内,将所述BIOS的更新标志位设置为1,以便在对所述BIOS执行升级操作时刷新所述NVRAM区域;
若所述刷新区域不在所述NVRAM区域内,将所述BIOS的更新标志位设置为0,以便在对所述BIOS执行升级操作时禁止刷新所述NVRAM区域。
可选的,判断所述刷新区域是否在NVRAM区域内包括:
通过地址映射的方式获取所述NVRAM区域的起始地址和结束地址;
判断所述刷新区域是否在所述起始地址和所述结束地址之间;
若是,则判定所述刷新区域在NVRAM区域内;
若否,则判定所述刷新区域不在NVRAM区域内。
本申请还提供了一种BIOS升级***,该BIOS升级***包括:
刷新区间确定模块,用于接收BIOS升级指令,并确定所述BIOS升级指令对应的刷新区域;
判断模块,用于判断所述刷新区域是否在NVRAM区域内;其中,所述NVRAM区域包括第一参数结构体和第二参数结构体,所述第一参数结构体中存储所述BIOS的当前选项参数值,所述第二参数结构体中存储所述BIOS的默认选项参数值;
第一升级模块,用于当所述刷新区域在所述NVRAM区域内时,对所述BIOS执行升级操作,并在重启所述BIOS时从所述第二参数结构体中读取所述BIOS的默认选项参数值;
第二升级模块,用于当所述刷新区域不在所述NVRAM区域内时,则对所述BIOS执行升级操作,并在重启所述BIOS时从所述第一参数结构体中读取所述BIOS的当前参数值。
本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述BIOS升级方法执行的步骤。
本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述BIOS升级方法执行的步骤。
本申请提供了一种BIOS升级方法,包括接收BIOS升级指令,并确定所述BIOS升级指令对应的刷新区域;判断所述刷新区域是否在NVRAM区域内;其中,所述NVRAM区域包括第一参数结构体和第二参数结构体,所述第一参数结构体中存储所述BIOS的当前选项参数值,所述第二参数结构体中存储所述BIOS的默认选项参数值;若是,则对所述BIOS执行升级操作,并在重启所述BIOS时从所述第二参数结构体中读取所述BIOS的默认选项参数值;若否,则对所述BIOS执行升级操作,并在重启所述BIOS时从所述第一参数结构体中读取所述BIOS的当前参数值。
本申请在接收到BIOS升级指令之后,判断是否需要刷新存储有当前选项参数值和默认选项参数之的NVRAM区域,若需要刷新NVRAM区域则可以在重启BIOS之后读取BIOS的默认选项参数值,若不需要刷新NVRAM区域则可以在重启BIOS之后读取BIOS的当前选项参数值。本申请能够根据是否刷新NVRAM确定读取的对应的参数结构体,达到保留参数的目的。在上说过程中,仅涉及BIOS自身,不涉及除BIOS之外的其他外部组件参与,可以使BIOS中涉及CPU等关键参数的设置不再受环境和外部参数的影响,能够避免BIOS的选项参数丢失,提高BIOS升级过程中的稳定性。本申请同时还提供了一种BIOS升级***、一种电子设备和一种存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种BIOS升级方法的流程图;
图2为本申请实施例所提供的一种刷新区域所在位置的判定方法的流程图;
图3为本申请实施例所提供的一种带内升级BIOS时变量保存方法的流程图;
图4为本申请实施例所提供的一种BIOS升级***的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面请参见图1,图1为本申请实施例所提供的一种BIOS升级方法的流程图。
具体步骤可以包括:
S101:接收BIOS升级指令,并确定所述BIOS升级指令对应的刷新区域;
其中,本实施例可以应用于服务器的基本输入输出***BIOS,在接收到BIOS升级指令时可以根据BIOS指令确定对应的刷新区域。本步骤中所提到的BIOS升级指令可以为BIOS带内升级的指令。
S102:判断所述刷新区域是否在NVRAM区域内;若是,则进入S103;若否,则进入S104;
其中,NVRAM区域为存储BIOS启动时需要读取的参数的区域,NVRAM区域中可以存储CPU主频、内存电压、PCI-E频率、CPU核心电压等选项参数,在BIOS启动过程中,BIOS从NVRAM区域中读取上述选项参数进而启动整个服务器。具体的,本实施例中所提到的NVRAM区域可以包括第一参数结构体和第二参数结构体,所述第一参数结构体中存储所述BIOS的当前选项参数值,所述第二参数结构体中存储所述BIOS的默认选项参数值。当前选项参数为机器运行过程中的选项参数,默认选项参数为第一次启动BIOS时读取的选项参数。
作为一种可行的实施方式,本实施例还可以存在构建第一参数结构体和第二参数结构体的操作,以便将当前选项参数写入第一参数结构体,将默认参数写入第二参数结构体。当然,若服务器中当前结构参数值变化时,可以是影响更新第一参数结构体。当然本实施例还可以将所述第一参数结构体和所述第二参数结构体所在的区域设置为禁止刷新的区间,以便在对所述BIOS执行升级操作的过程中跳过对所述第一参数结构体和所述第二参数结构体的刷新操作。
作为一种可行的实施方式,本实施例还可以在所述刷新区域在所述NVRAM区域内时,将所述BIOS的更新标志位设置为1,以便在对所述BIOS执行升级操作时刷新所述NVRAM区域;在所述刷新区域不在所述NVRAM区域内时,将所述BIOS的更新标志位设置为0,以便在对所述BIOS执行升级操作时禁止刷新所述NVRAM区域。
S103:对所述BIOS执行升级操作,并在重启所述BIOS时从所述第二参数结构体中读取所述BIOS的默认选项参数值;
其中,本步骤建立在刷新区域是在NVRAM区域内的基础上,此时可以对BIOS执行升级操作,并在重启BIOS时从所述第二参数结构体中读取所述BIOS的默认选项参数值,以便进行服务器内各个装置的参数设置。
S104:对所述BIOS执行升级操作,并在重启所述BIOS时从所述第一参数结构体中读取所述BIOS的当前参数值。
其中,本步骤建立在刷新区域是不在NVRAM区域内的基础上,此时可以对BIOS执行升级操作,并在重启BIOS时从所述第一参数结构体中读取所述BIOS的当前选项参数值,以便进行服务器内各个装置的参数设置。作为一种可行的实施方式,在读取所述BIOS的默认选项参数值或所述BIOS的当前参数值之前,还可以刷新第一启动设备first boot device并清空CMOS信息。其中第一启动设备可以为***硬盘hard disk。
本实施例在接收到BIOS升级指令之后,判断是否需要刷新存储有当前选项参数值和默认选项参数之的NVRAM区域,若需要刷新NVRAM区域则可以在重启BIOS之后读取BIOS的默认选项参数值,若不需要刷新NVRAM区域则可以在重启BIOS之后读取BIOS的当前选项参数值。本实施例能够根据是否刷新NVRAM确定读取的对应的参数结构体,达到保留参数的目的。在上说过程中,仅涉及BIOS自身,不涉及除BIOS之外的其他外部组件参与,可以使BIOS中涉及CPU等关键参数的设置不再受环境和外部参数的影响,能够避免BIOS的选项参数丢失,提高BIOS升级过程中的稳定性。
作为对于图1对应实施例的进一步介绍,在S101判断所述刷新区域是否在NVRAM区域内之前,还可以为所述第一参数结构体中的当前选项参数值设置标志位,并将所述标志位置为0。当刷新区域不在NVRAM区域内时,可以通过将所有所述标志位置为1控制所述BIOS从所述第一参数结构体中读取所述BIOS的所述当前参数值。进一步的,当从所述第一参数结构体中读取所述BIOS的当前参数值之后,本实施例可以将所有所述标志位置为0。
请参见图2,图2为本申请实施例所提供的一种刷新区域所在位置的判定方法的流程图,本实施例是对图1对应的实施例的进一步介绍,可以将本实施例与图1对应的实施例相结合得到进一步的而实施方式,本实施可以包括以下步骤:
S201:通过地址映射的方式获取所述NVRAM区域的起始地址和结束地址;
S202:判断所述刷新区域是否在所述起始地址和所述结束地址之间;若是,则进入S203;若否,则进入S204;
S203:判定所述刷新区域在NVRAM区域内;
S204:判定所述刷新区域不在NVRAM区域内。
其中,本实施例中的地址映射为逻辑地址与物理地址的映射,根据地址映射关系可以确定NVRAM区域的起始地址和结束地址,进而得到NVRAM区域对应的物理地址区间。
下面通过在实际应用中的实施例说明上述实施例描述的流程。请参见图3,图3为本申请实施例所提供的一种带内升级BIOS时变量保存方法的流程图。在带内升级BIOS时,使用SMI中断通知BIOS进行升级的方式。NVRAM区域可以通过地址映射的方式获取到起始和结束地址。当刷新范围在该范围内时即更新了NVRAM,更新标志位置1;否则,置为0。在BIOS中将关键的参数列为2个一样的变量结构(即结构体1和结构体2)存放到NVRAM区域,并对该区域设置禁止刷新的范围及其对应标志位,刷新BIOS的SMI中断会判断禁止刷新的范围,在刷新时不会刷新,并且在结构体1中每个变量均设有标志位。BIOS中若改动了参数,其变量所在的结构体1中也会变化,而结构体2为变量的默认值,不会变化。刷新BIOS时,若NVRAM区域更新标志位置1时,则需要刷新NVRAM区域,即不保留参数,结构体1中变量标志位均清空,同时再重启机器时相应的变量值从结构体2获取默认值,并清除NVRAM更新标志位;若NVRAM区域更新标志位为0时,则未刷新,即保留参数,并将结构体1中的变量标志位均置起,重启机器时相应变量值从结构体1中获取,同时清空结构体1中所有变量的标志位。
具体步骤如下:
步骤1:BIOS中设置关键参数结构体1和结构体2;
步骤2:带内更新BIOS,若更新NVRAM区域则不保留参数,回复默认值,将NVRAM刷新标志位置1,清除结构体1参数标志位。重启BIOS,关键参数从结构体2同步默认值,并清除NVRAM更新标志.
步骤3:若不更新NVRAM区域则保留参数,NVRAM刷新标志位为0,同时将结构体1中的参数标志位置1。重启BIOS,关键参数从结构体1同步参数值,并清空结构体1中的参数标志位。
在本实施例中采用BIOS本身的NVRAM独自处理的方式。更新BIOS时,不管更新BIOS时的具体参数如何,都是通过调用BIOS的***管理中断SMI实现对BIOS各个区域块更新的。借助这种中断刷新方式,本文创建变量参数表以及标志位的方法,实现带内升级BIOS时变量保存的方法,提高了***的稳定性。本实施例利用在代码中对关键参数变量设置结构体,结构体内变量设置参数标志位,根据是否刷新NVRAM时同步不同的结构体,达到保留参数的目的。这种设计方案处理时,只采用BIOS本身,不涉及外部组件参与参数的同步过程。这对于BIOS中涉及CPU等关键参数的设置不再受环境和外部组件的配合,降低的代码间的耦合性,增强了产品的稳定性、安全性,很大程度上提高了产品的市场竞争性。
请参见图4,图4为本申请实施例所提供的一种BIOS升级***的结构示意图;
该***可以包括:
刷新区间确定模块100,用于接收BIOS升级指令,并确定所述BIOS升级指令对应的刷新区域;
判断模块200,用于判断所述刷新区域是否在NVRAM区域内;其中,所述NVRAM区域包括第一参数结构体和第二参数结构体,所述第一参数结构体中存储所述BIOS的当前选项参数值,所述第二参数结构体中存储所述BIOS的默认选项参数值;
第一升级模块300,用于当所述刷新区域在所述NVRAM区域内时,对所述BIOS执行升级操作,并在重启所述BIOS时从所述第二参数结构体中读取所述BIOS的默认选项参数值;
第二升级模块400,用于当所述刷新区域不在所述NVRAM区域内时,则对所述BIOS执行升级操作,并在重启所述BIOS时从所述第一参数结构体中读取所述BIOS的当前参数值。
本实施例在接收到BIOS升级指令之后,判断是否需要刷新存储有当前选项参数值和默认选项参数之的NVRAM区域,若需要刷新NVRAM区域则可以在重启BIOS之后读取BIOS的默认选项参数值,若不需要刷新NVRAM区域则可以在重启BIOS之后读取BIOS的当前选项参数值。本实施例能够根据是否刷新NVRAM确定读取的对应的参数结构体,达到保留参数的目的。在上说过程中,仅涉及BIOS自身,不涉及除BIOS之外的其他外部组件参与,可以使BIOS中涉及CPU等关键参数的设置不再受环境和外部参数的影响,能够避免BIOS的选项参数丢失,提高BIOS升级过程中的稳定性。
进一步的,还包括:
禁止刷新设置模块,用于将所述第一参数结构体和所述第二参数结构体所在的区域设置为禁止刷新的区间,以便在对所述BIOS执行升级操作的过程中跳过对所述第一参数结构体和所述第二参数结构体的刷新操作。
进一步的,还包括:
第一标志位设置模块,用于在判断所述刷新区域是否在NVRAM区域内之前,为所述第一参数结构体中的当前选项参数值设置标志位,并将所述标志位置为0;
相应的,第二升级模块用于通过将所有所述标志位置为1控制所述BIOS从所述第一参数结构体中读取所述BIOS的所述当前参数值。
进一步的,还包括:
第二标志位设置模块,用于在从所述第一参数结构体中读取所述BIOS的当前参数值之后,将所有所述标志位置为0。
进一步的,还包括:
刷新模块,用于在读取所述BIOS的默认选项参数值或所述BIOS的当前参数值之前,刷新第一启动设备first boot device并清空CMOS信息。
进一步的,还包括:
更新标志位设置模块,用于若所述刷新区域在所述NVRAM区域内,将所述BIOS的更新标志位设置为1,以便在对所述BIOS执行升级操作时刷新所述NVRAM区域;还用于若所述刷新区域不在所述NVRAM区域内,将所述BIOS的更新标志位设置为0,以便在对所述BIOS执行升级操作时禁止刷新所述NVRAM区域。
进一步的,刷新区间确定模块包括:
地址确定模块,用于通过地址映射的方式获取所述NVRAM区域的起始地址和结束地址;
判断模块,用于判断所述刷新区域是否在所述起始地址和所述结束地址之间;若是,则判定所述刷新区域在NVRAM区域内;若否,则判定所述刷新区域不在NVRAM区域内。
由于***部分的实施例与方法部分的实施例相互对应,因此***部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (6)

1.一种BIOS升级方法,其特征在于,包括:
接收BIOS升级指令,并确定所述BIOS升级指令对应的刷新区域;
判断所述刷新区域是否在NVRAM区域内;其中,所述NVRAM区域包括第一参数结构体和第二参数结构体,所述第一参数结构体中存储所述BIOS的当前选项参数值,所述第二参数结构体中存储所述BIOS的默认选项参数值;当前选项参数为机器运行过程中的选项参数,默认选项参数为第一次启动BIOS时读取的选项参数;若服务器中当前结构参数值变化时,更新第一参数结构体;将所述第一参数结构体和所述第二参数结构体所在的区域设置为禁止刷新的区间,以便在对所述BIOS执行升级操作的过程中跳过对所述第一参数结构体和所述第二参数结构体的刷新操作;
若是,则对所述BIOS执行升级操作,并在重启所述BIOS时从所述第二参数结构体中读取所述BIOS的默认选项参数值;
若否,则对所述BIOS执行升级操作,并在重启所述BIOS时从所述第一参数结构体中读取所述BIOS的当前参数值;
其中,若所述刷新区域在所述NVRAM区域内,将所述BIOS的更新标志位设置为1,以便在对所述BIOS执行升级操作时刷新所述NVRAM区域;
若所述刷新区域不在所述NVRAM区域内,将所述BIOS的更新标志位设置为0,以便在对所述BIOS执行升级操作时禁止刷新所述NVRAM区域;
在判断所述刷新区域是否在NVRAM区域内之前,为所述第一参数结构体中的当前选项参数值设置标志位,并将所述标志位置为0,当刷新区域不在NVRAM区域内时,通过将所有所述标志位置为1控制所述BIOS从所述第一参数结构体中读取所述BIOS的所述当前参数值;当从所述第一参数结构体中读取所述BIOS的当前参数值之后,将所有所述标志位置为0。
2.根据权利要求1所述BIOS升级方法,其特征在于,在读取所述BIOS的默认选项参数值或所述BIOS的当前参数值之前,还包括:
刷新第一启动设备first boot device并清空CMOS信息。
3.根据权利要求1或2所述BIOS升级方法,其特征在于,判断所述刷新区域是否在NVRAM区域内包括:
通过地址映射的方式获取所述NVRAM区域的起始地址和结束地址;
判断所述刷新区域是否在所述起始地址和所述结束地址之间;
若是,则判定所述刷新区域在NVRAM区域内;
若否,则判定所述刷新区域不在NVRAM区域内。
4.一种BIOS升级***,其特征在于,包括:
刷新区间确定模块,用于接收BIOS升级指令,并确定所述BIOS升级指令对应的刷新区域;
判断模块,用于判断所述刷新区域是否在NVRAM区域内;其中,所述NVRAM区域包括第一参数结构体和第二参数结构体,所述第一参数结构体中存储所述BIOS的当前选项参数值,所述第二参数结构体中存储所述BIOS的默认选项参数值;当前选项参数为机器运行过程中的选项参数,默认选项参数为第一次启动BIOS时读取的选项参数;若服务器中当前结构参数值变化时,更新第一参数结构体;将所述第一参数结构体和所述第二参数结构体所在的区域设置为禁止刷新的区间,以便在对所述BIOS执行升级操作的过程中跳过对所述第一参数结构体和所述第二参数结构体的刷新操作;
第一升级模块,用于当所述刷新区域在所述NVRAM区域内时,对所述BIOS执行升级操作,并在重启所述BIOS时从所述第二参数结构体中读取所述BIOS的默认选项参数值;
第二升级模块,用于当所述刷新区域不在所述NVRAM区域内时,则对所述BIOS执行升级操作,并在重启所述BIOS时从所述第一参数结构体中读取所述BIOS的当前参数值;
其中,所述BIOS升级***还用于,若所述刷新区域在所述NVRAM区域内,将所述BIOS的更新标志位设置为1,以便在对所述BIOS执行升级操作时刷新所述NVRAM区域;
所述BIOS升级***还用于,若所述刷新区域不在所述NVRAM区域内,将所述BIOS的更新标志位设置为0,以便在对所述BIOS执行升级操作时禁止刷新所述NVRAM区域;
所述BIOS升级***还用于,在判断所述刷新区域是否在NVRAM区域内之前,为所述第一参数结构体中的当前选项参数值设置标志位,并将所述标志位置为0,当刷新区域不在NVRAM区域内时,通过将所有所述标志位置为1控制所述BIOS从所述第一参数结构体中读取所述BIOS的所述当前参数值;当从所述第一参数结构体中读取所述BIOS的当前参数值之后,将所有所述标志位置为0。
5.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1至3任一项所述BIOS升级方法的步骤。
6.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上权利要求1至3任一项所述BIOS升级方法的步骤。
CN201911386426.4A 2019-12-29 2019-12-29 一种bios升级方法、***、电子设备及存储介质 Active CN111176686B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911386426.4A CN111176686B (zh) 2019-12-29 2019-12-29 一种bios升级方法、***、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911386426.4A CN111176686B (zh) 2019-12-29 2019-12-29 一种bios升级方法、***、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111176686A CN111176686A (zh) 2020-05-19
CN111176686B true CN111176686B (zh) 2022-03-22

Family

ID=70646476

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911386426.4A Active CN111176686B (zh) 2019-12-29 2019-12-29 一种bios升级方法、***、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111176686B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113064625B (zh) * 2021-04-26 2024-02-09 山东英信计算机技术有限公司 一种带外升级bios的方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104424047A (zh) * 2013-08-20 2015-03-18 研祥智能科技股份有限公司 一种nvram数据恢复方法和装置
CN105138378A (zh) * 2015-09-15 2015-12-09 联想(北京)有限公司 一种bios刷写方法及电子设备
CN107085547A (zh) * 2017-05-16 2017-08-22 合肥联宝信息技术有限公司 一种电子设备和bios数据处理方法
CN108089898A (zh) * 2018-01-16 2018-05-29 郑州云海信息技术有限公司 一种升级bios的方法、装置及***
CN108170495A (zh) * 2018-01-29 2018-06-15 郑州云海信息技术有限公司 一种bios升级方法、***、设备及计算机可读存储介质
CN108664275A (zh) * 2018-04-24 2018-10-16 深圳市国鑫恒宇科技有限公司 备份配置参数的方法、***及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990577B2 (en) * 2001-08-10 2006-01-24 Intel Corporation Updating a BIOS image by replacing a portion of the BIOS image with a portion of another BIOS image
CN102750206A (zh) * 2012-05-10 2012-10-24 加弘科技咨询(上海)有限公司 多bios电路及多bios切换的方法
US10055296B2 (en) * 2015-10-30 2018-08-21 Quanta Computer Inc. System and method for selective BIOS restoration

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104424047A (zh) * 2013-08-20 2015-03-18 研祥智能科技股份有限公司 一种nvram数据恢复方法和装置
CN105138378A (zh) * 2015-09-15 2015-12-09 联想(北京)有限公司 一种bios刷写方法及电子设备
CN107085547A (zh) * 2017-05-16 2017-08-22 合肥联宝信息技术有限公司 一种电子设备和bios数据处理方法
CN108089898A (zh) * 2018-01-16 2018-05-29 郑州云海信息技术有限公司 一种升级bios的方法、装置及***
CN108170495A (zh) * 2018-01-29 2018-06-15 郑州云海信息技术有限公司 一种bios升级方法、***、设备及计算机可读存储介质
CN108664275A (zh) * 2018-04-24 2018-10-16 深圳市国鑫恒宇科技有限公司 备份配置参数的方法、***及存储介质

Also Published As

Publication number Publication date
CN111176686A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
KR100506203B1 (ko) 부팅 및 부트 코드 업데이트 방법 및 시스템
CN108170495B (zh) 一种bios升级方法、***、设备及计算机可读存储介质
US6845434B2 (en) Method for updating parametric data for use in data management system
US9274788B2 (en) Information processing apparatus, method for controlling the same, and storage medium
CN102033790B (zh) 一种嵌入式***bootrom的升级方法和装置
KR100415371B1 (ko) 컴퓨터
CN110874237A (zh) 软件升级方法、装置、终端以及可读存储介质
WO2018024198A1 (zh) 机顶盒的应用程序升级方法、***及机顶盒
WO2019062770A1 (en) METHOD AND APPARATUS FOR UPGRADING SYSTEM VERSION
CN111176686B (zh) 一种bios升级方法、***、电子设备及存储介质
CN104063256A (zh) 基于最小操作***的分区及固件升级方法
CN109445991B (zh) 一种数据存储方法、***、智能可穿戴设备及存储介质
JP2011095952A (ja) ファームウェア更新方法および電子機器
US11640288B2 (en) System version upgrading method and apparatus
CN112199109B (zh) 一种固件升级方法、装置、设备及介质
CN105069381B (zh) 一种基于智能终端的分区保护方法及***
CN111885420B (zh) 待机保护方法、装置、智能电视和可读存储介质
CN114138314A (zh) 一种cpu微码升级方法、***及相关组件
CN115391850A (zh) 一种otp烧写方法、装置、设备及计算机可读存储介质
JP2011175352A (ja) ファームウエア更新装置、通信装置、電子機器、ファームウエア更新システム、ファームウエア更新方法及びプログラム
CN108268285B (zh) Bios版本升级的方法、装置、设备及可读存储介质
CN113721959A (zh) 一种信息处理方法、装置及电子设备
CN112000354A (zh) 版本信息更新方法、装置、设备及存储介质
CN111399921A (zh) 一种服务器开机logo的切换方法、装置及设备
KR100876748B1 (ko) 부트코드 업데이트 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant