CN117389598A - 配置更新加固方法、装置、电子设备和存储介质 - Google Patents

配置更新加固方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN117389598A
CN117389598A CN202311117479.2A CN202311117479A CN117389598A CN 117389598 A CN117389598 A CN 117389598A CN 202311117479 A CN202311117479 A CN 202311117479A CN 117389598 A CN117389598 A CN 117389598A
Authority
CN
China
Prior art keywords
bios
configuration value
setup configuration
setup
bmc
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.)
Pending
Application number
CN202311117479.2A
Other languages
English (en)
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202311117479.2A priority Critical patent/CN117389598A/zh
Publication of CN117389598A publication Critical patent/CN117389598A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming

Landscapes

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

Abstract

本发明提供一种配置更新加固方法、装置、电子设备和存储介质,属于计算机技术领域。其中,方法包括:在基本输入输出系统BIOS启动过程中的可扩展固件接口预先初始化PEI阶段,将基本输入输出系统闪存BIOS flash中存储的setup配置值与基板管理控制器bmc中存储的setup配置值进行同步;在BIOS启动过程中的选择启动设备BDS阶段,将BIOS flash中存储的setup配置值同步至bmc,以实现BIOS setup配置更新加固。本发明可实现在升级BIOS版本时,提高BIOS setup配置在BIOS和bmc之间的一致性,降低BIOS setup配置丢失或不生效的风险。

Description

配置更新加固方法、装置、电子设备和存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种配置更新加固方法、装置、电子设备和存储介质。
背景技术
为了满足不同使用场景,通常需要对基本输入输出系统(Basic Input OutputSystem,BIOS)setup配置进行修改。当服务器运行过程中出现一些固件bug时,需要通过升级BIOS版本来解决,此时需要考虑BIOS setup配置保留的问题。相关技术中,通常是通过保留BIOS setup配置的方式进行升级,但有些情况下,必须通过全量刷新BIOS的方式进行升级。采用全量刷新BIOS的方式,BIOS setup配置会被擦除,需要先导出BIOS setup配置,完成升级后再重新设置BIOS setup配置。然而,无论采用哪种方式,常常会出现BIOS setup配置丢失或不生效的问题。
发明内容
本发明提供一种配置更新加固方法、装置、电子设备和存储介质,用以解决相关技术中在服务器运行过程中出现一些固件bug时,通过保留BIOS setup配置的方式以及全量刷新BIOS的方式升级BIOS版本,存在的BIOS setup配置丢失或不生效等缺陷。
第一方面,本发明提供一种配置更新加固方法,包括:
在基本输入输出系统BIOS启动过程中的可扩展固件接口预先初始化PEI阶段,将基本输入输出系统闪存BIOS flash中存储的setup配置值与基板管理控制器bmc中存储的setup配置值进行同步;
在BIOS启动过程中的选择启动设备BDS阶段,将所述BIOS flash中存储的setup配置值同步至所述bmc,以实现BIOS setup配置更新加固。
在一些实施例中,所述将基本输入输出系统闪存BIOS flash中存储的setup配置值与基板管理控制器bmc中存储的setup配置值进行同步,包括:
获取BIOS flash中存储的第一setup配置值和bmc中存储的第二setup配置值;
判断所述第一setup配置值和所述第二setup配置值是否一致;
在所述第一setup配置值和所述第二setup配置值不一致的情况下,将所述第二setup配置值写入所述BIOS flash;
判断所述第二setup配置值是否为CPU相关需要写入第一表格中的配置值,若是,则将所述第二setup配置写入所述第一表格,并将第一标志置位,所述第一标志为置位状态时用于指示执行暖启动操作。
在一些实施例中,所述方法还包括:
在所述第一setup配置值和所述第二setup配置值一致的情况下,判断所述第二setup配置值是否为CPU相关需要写入所述第一表格中的配置值,若是,则读取所述第一表格;
判断所述第一表格中的配置值与所述第一setup配置值是否一致,若不一致,则将所述第一setup配置写入所述第一表格,并记录所述第一标志;
在一些实施例中,所述方法还包括:
在所述第一标志为置位状态的情况下,暖启动所述BIOS。
在一些实施例中,所述方法还包括:
在所述BIOS启动过程中,若检测到通过BIOS setup界面输入的第三setup配置值,则将所述第三setup配置值写入BIOS flash;
将所述第三setup配置值同步给所述bmc;
判断所述第三setup配置值是否为CPU相关需要写入所述第一表格中的配置值,若是,则将所述第三setup配置值写入所述第一表格;
重启所述BIOS。
在一些实施例中,所述方法还包括:
若检测到通过带内配置方式输入的第四setup配置值,则将所述第四setup配置值写入所述BIOS flash,并同步至所述bmc,重启所述BIOS。
在一些实施例中,所述方法还包括:
若检测到通过bmc web方式输入的第五setup配置值,则将所述第五setup配置值存储至所述bmc,重启所述BIOS。
第二方面,本发明还提供一种配置更新加固装置,包括:
第一同步单元,用于在基本输入输出系统BIOS启动过程中的可扩展固件接口预先初始化PEI阶段,将基本输入输出系统闪存BIOS flash中存储的setup配置值与基板管理控制器bmc中存储的setup配置值进行同步;
第二同步单元,用于在BIOS启动过程中的选择启动设备BDS阶段,将所述BIOSflash中存储的setup配置值同步至所述bmc,以实现BIOS setup配置的更新加固。
第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面任一项所述配置更新加固方法。
第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面任一项所述配置更新加固方法。
第五方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述配置更新加固方法。
本发明提供的一种配置更新加固方法、装置、电子设备和存储介质,首先在基本输入输出系统BIOS启动过程中的可扩展固件接口预先初始化PEI阶段,将基本输入输出系统闪存BIOS flash中存储的setup配置值与基板管理控制器bmc中存储的setup配置值进行同步;然后在BIOS启动过程中的选择启动设备BDS阶段,再将BIOS flash中存储的setup配置值同步至bmc,以实现BIOS setup配置更新加固,本发明通过在BIOS启动过程中的PEI阶段和BDS阶段,分别对BIOS flash中存储的setup配置值与bmc中存储的setup配置值进行同步,可实现在升级BIOS版本时,提高BIOS setup配置在BIOS和bmc之间的一致性,降低BIOSsetup配置丢失或不生效的风险。
附图说明
为了更清楚地说明本发明或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例提供的配置更新加固方法的流程示意图之一;
图2为本发明一个实施例提供的基本输入输出系统只读存储器布局图;
图3为本发明一个实施例提供的配置更新加固方法的流程示意图之二;
图4为本发明一个实施例提供的配置更新加固方法的流程示意图之三;
图5为本发明一个实施例提供的配置更新加固方法的流程示意图之四;
图6为本发明一个实施例提供的配置更新加固方法的流程示意图之五;
图7为本发明一个实施例提供的配置更新加固装置的结构示意图;
图8为本发明一个实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”所区别的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”一般表示前后关联对象是一种“或”的关系。
在服务器研发完成后,经过生产线生产检测并送达客户现场使用,客户根据自己的使用场景对BIOS setup配置进行修改。修改BIOS setup配置的方式主要有三种,常用的方法是通过进入setup配置界面进行配置修改,但当服务器数量比较多时,常用的方法是通过操作系统下的带内配置工具进行setup配置修改、或者通过带外bmc进行配置修改。在服务器运行过程中出现一些固件bug时,通过保留BIOS setup配置的方式以及全量刷新BIOS的方式升级BIOS版本,常常会出现BIOS setup配置在生产线、客户现场、升级等场景下丢失或不生效等问题。
针对相关技术中在服务器运行过程中出现一些固件bug时,通过保留BIOS setup配置的方式以及全量刷新BIOS的方式升级BIOS版本,存在的BIOS setup配置丢失或不生效等缺陷,本发明提供了一种配置更新加固方法、装置、电子设备和存储介质。
本发明所提供的配置更新加固方法的执行主体可以是配置更新加固装置,该装置可通过软件和/或硬件实现,该装置可集成在电子设备中,电子设备可以是终端设备(如智能手机、个人电脑、学习机等),也可以是服务器(如本地服务器或云端服务器,也可以为服务器集群等),也可以是处理器,也可以是芯片等。
下面以执行主体是配置更新加固装置为例,结合图1-图7对本发明进行描述。
图1为本发明一个实施例提供的配置更新加固方法的流程示意图之一,如图1所示,该方法包括以下步骤:步骤110和步骤120。该方法流程步骤仅仅作为本发明一个可能的实现方式。所述方法包括:
步骤110、在基本输入输出系统BIOS启动过程中的可扩展固件接口预先初始化PEI阶段,将基本输入输出系统闪存BIOS flash中存储的setup配置值与基板管理控制器bmc中存储的setup配置值进行同步;
一般而言,BIOS启动过程分为以下阶段:安全验证(Security,SEC)阶段、可扩展固件接口预先初始化(Pre-EFI Initialization,PEI)阶段、驱动执行环境(DriverExecution Environment,DXE)阶段、启动设备选择(Boot Device Selection,BDS)阶段、操作系统加载(Transient System Load,TSL)阶段、运行(Run Time,RT)阶段和灾难恢复(After life,AL)阶段。其中,PEI阶段的功能是对内存进行初始化,为DXE阶段准备执行环境。
图2为本发明一个实施例提供的基本输入输出系统只读存储器布局图,包括SEC区域、PEI区域、DXE/BDS区域和非易失性随机访问存储器NVRAM区域。
BIOS setup配置是对中央处理器(Central Processing Unit,CPU)功能使能与参数配置、BIOS功能使能与参数配置、外部设备功能使能与参数配置、以及操作系统(Operating System,OS)启动相关的配置等。其中,外部设备可以是高速串行计算机扩展总线标准(peripheral component interconnect express,PCIe)设备、通用异步收发器uart、通用串行总线usb、硬盘等。
BIOS setup配置值保存在BIOS flash的非易失性随机访问存储器(FV_NVRAM)区域,bmc中的setup配置值保存在带电可擦可编程只读存储器(eeprom)中。
在具体实施时,在BIOS启动过程中的PEI阶段,BIOS通过对全双工同步串行(Serial Peripheral Interface,SPI)总线实现对BIOS flash FV_NVRAM的读写。可选地,通过指令读取BIOS flash中存储的setup配置值,通过发送ipmi指令从bmc获取保存在bmc中的setup配置值。需要说明的是,本发明对读取setup配置值的具体实现方式不作限定。在所述BIOS flash中存储的setup配置值和所述bmc中存储的setup配置值不一致的情况下,以bmc中存储的setup配置值为准,将所述bmc中存储的setup配置值写入所述BIOS flash,从而实现BIOS flash中存储的setup配置值与bmc中存储的setup配置值之间的同步。
步骤120、在BIOS启动过程中的选择启动设备BDS阶段,将所述BIOS flash中存储的setup配置值同步至所述bmc,以实现BIOS setup配置更新加固。
在具体实施时,在BIOS启动过程中的BDS阶段,将所述BIOS flash中存储的setup配置值通过ipmi指令同步至所述bmc,即在BIOS启动结束之前,再对BIOS flash中存储的setup配置值和bmc中存储的setup配置值进行一次同步,从而实现BIOS setup配置更新加固。
在本发明实施例中,首先在基本输入输出系统BIOS启动过程中的可扩展固件接口预先初始化PEI阶段,将基本输入输出系统闪存BIOS flash中存储的setup配置值与基板管理控制器bmc中存储的setup配置值进行同步;然后在BIOS启动过程中的选择启动设备BDS阶段,再将BIOS flash中存储的setup配置值同步至bmc,以实现BIOS setup配置更新加固,本发明通过在BIOS启动过程中的PEI阶段和BDS阶段,分别对BIOS flash中存储的setup配置值与bmc中存储的setup配置值进行同步,可实现在升级BIOS版本时,提高BIOS setup配置在BIOS和bmc之间的一致性,降低BIOS setup配置丢失或不生效的风险。
在一些实施例中,图3为本发明一个实施例提供的配置更新加固方法的流程示意图之二,如图3所示,所述将基本输入输出系统闪存BIOS flash中存储的setup配置值与基板管理控制器bmc中存储的setup配置值进行同步,包括:
步骤310、获取BIOS flash中存储的第一setup配置值和bmc中存储的第二setup配置值;
可选地,通过指令获取BIOS flash中存储的第一setup配置值,通过发送ipmi指令获取保存在bmc中的第二setup配置。需要说明的是,本发明对获取setup配置值的具体实现方式不作具体限定。
然后基于读取到的第一setup配置值,判断FV_NVRAM分区是否为空。若读取到的第一setup配置值均为FF,说明FV_NVRAM分区为空,则将第一setup配置值恢复为BIOS setup默认配置。其中,BIOS setup默认配置是指BIOS固件中对setup配置项进行默认值的配置,在不进行任何setup外部修改时,BIOS每次启动按照默认配置值进行加载配置。
步骤320、判断所述第一setup配置值和所述第二setup配置值是否一致;
进一步地,在获取到所述第一setup配置值和所述第二setup配置值后,判断二者是否一致,并根据判断结果,对BIOS flash中存储的setup配置值与bmc中存储的setup配置值进行同步。
步骤330、在所述第一setup配置值和所述第二setup配置值不一致的情况下,将所述第二setup配置值写入所述BIOS flash;
在具体实施时,在判断结果为所述第一setup配置值和所述第二setup配置值不一致的情况下,以bmc中存储的第二setup配置值为准,将所述第二setup配置值写入所述BIOSflash,从而实现BIOS flash中存储的setup配置值与bmc中存储的setup配置值之间的同步。
步骤340、判断所述第二setup配置值是否为CPU相关需要写入第一表格中的配置值,若是,则将所述第二setup配置写入所述第一表格,并将第一标志置位,所述第一标志为置位状态时用于指示执行暖启动操作。
其中,CPU相关的配置包括但不限于非一致性内存访问(Non-UniformMemoryAccess,NUMA)、处理器在不同电压和/或频率级别下运行的能力(Performance state,P-state)、处理器状态(CPU state,C-state)、涡轮模式(turbo mode)、超线程等。CPU相关的配置除了在BIOS flash FV_NVRAM和bmc NVRAM中保存外,还会保存在第一表格中,第一表格为处理器AMD通用封装软件架构平台控制表(CPU AGESA Platform Control Blocktable,CPU APCB table)。第一标志为以全局变量形式记录在堆栈中,用以表示CPU相关的配置是否写入了CPU APCB table。
需要说明的是,CPU APCB table只能在BIOS运行过程中进行更新,bmc web、OS带内配置修改时无法进行更新,在setup修改NUMA相关配置时,可以同步更新到CPU APCBtable中。由于此类配置需要在CPU固件运行时进行配置生效,此时BIOS还未运行,无法获得BIOS flash或bmc中保存的配置值;而通过保留配置升级BIOS后,CPU APCB table会被恢复为默认配置,所以会出现NUMA配置通过保留配置升级后无法恢复为修改后的配置值的情况。因此,本发明针对CPU相关配置值,对配置更新加固方法进行优化。
在具体实施时,为实现BIOS flash中存储的setup配置值和CPU相关配置值之间的同步,逐一判断所述第二setup配置值是否为CPU相关需要写入CPU APCB table中的配置值,直至将BIOS flash中的所有setup配置值检查完成。若是,则将所述第二setup配置写入CPU APCB table,并将第一标志置位,以便根据第一标志的置位状态指示执行暖启动(warmreboot)操作。
在本发明实施例中,通过获取BIOS flash中存储的第一setup配置值和bmc中存储的第二setup配置值;进一步判断第一setup配置值和第二setup配置值是否一致;在第一setup配置值和第二setup配置值不一致的情况下,将第二setup配置值写入BIOS flash,可实现BIOS flash中setup配置值和bmc中setup配置值之间的同步;然后进一步判断第二setup配置值是否为CPU相关需要写入第一表格中的配置值,若是,则将第二setup配置写入第一表格,并将第一标志置位,第一标志为置位状态时用于指示执行暖启动操作,从而实现BIOS flash中setup配置值、bmc中setup配置值、以及CPU相关配置值之间的同步,提高BIOSsetup配置在BIOS、bmc、以及CPU之间的一致性,降低BIOS setup配置丢失或不生效的风险。
在一些实施例中,图4为本发明一个实施例提供的配置更新加固方法的流程示意图之三,如图4所示,所述方法还包括:
步骤410、在所述第一setup配置值和所述第二setup配置值一致的情况下,判断所述第二setup配置值是否为CPU相关需要写入所述第一表格中的配置值,若是,则读取所述第一表格;
在具体实施时,在获取到所述第一setup配置值和所述第二setup配置值后,判断二者是否一致,在判断结果为所述第一setup配置值和所述第二setup配置值一致的情况下,进一步逐一判断所述第二setup配置值是否为CPU相关需要写入所述CPU APCB table中的配置值,直至将BIOS flash中的所有setup配置值检查完成,以实现BIOS flash中setup配置值和CPU相关配置值之间的同步。若所述第二setup配置值是CPU相关需要写入所述CPUAPCB table中的配置值,则读取所述CPU APCB table。
步骤420、判断所述第一表格中的配置值与所述第一setup配置值是否一致,若不一致,则将所述第一setup配置写入所述第一表格,并记录所述第一标志;
进一步地,在读取到所述CPU APCB table后,判断所述CPU APCB table中的配置值与所述第一setup配置值是否一致,若不一致,则表明需要对BIOS flash中setup配置值和CPU相关配置值进行同步,具体通过将所述第一setup配置写入所述CPU APCB table,并记录配置写入CPU APCB table标志,即第一标志。
在本发明实施例中,在第一setup配置值和第二setup配置值一致的情况下,进一步判断第二setup配置值是否为CPU相关需要写入第一表格中的配置值,若是,则读取第一表格;然后判断第一表格中的配置值与第一setup配置值是否一致,若不一致,则将第一setup配置写入所述第一表格,并记录第一标志,从而实现BIOS flash中setup配置值、bmc中setup配置值、以及CPU相关配置值之间的同步,提高BIOS setup配置在BIOS、bmc、以及CPU之间的一致性,降低BIOS setup配置丢失或不生效的风险。
在一些实施例中,所述方法还包括:
在所述第一标志为置位状态的情况下,暖启动所述BIOS。
在具体实施时,在所述第二setup配置值是CPU相关需要写入第CPU APCB table中的配置值,将所述第二setup配置写入所述CPU APCB table,并将第一标志置位,在所述第一标志为置位状态的情况下,再执行暖启动所述BIOS,可降低CPU相关配置值丢失或不生效的风险。
在本发明实施例中,在第一标志为置位状态的情况下,暖启动BIOS,针对CPU相关配置值,增加了暖启动生效的步骤,可降低CPU相关配置值丢失或不生效的风险。
在一些实施例中,图5为本发明一个实施例提供的配置更新加固方法的流程示意图之四,如图5所示,所述方法还包括:
步骤510、在所述BIOS启动过程中,若检测到通过BIOS setup界面输入的第三setup配置值,则将所述第三setup配置值写入BIOS flash;
在具体实施时,在所述BIOS启动过程中,操作人员可通过长时间按压del键或Esc键进入setup配置界面,对setup配置进行修改。若配置更新加固装置检测到通过BIOSsetup界面输入的第三setup配置值,则将所述第三setup配置值写入BIOS flash。
步骤520、将所述第三setup配置值同步给所述bmc;
进一步地,通过ipmi指令将所述第三setup配置值同步给所述bmc,以实现BIOSflash中setup配置值和bmc中setup配置值之间的同步。
步骤530、判断所述第三setup配置值是否为CPU相关需要写入所述第一表格中的配置值,若是,则将所述第三setup配置值写入所述第一表格;
进一步地,判断所述第三setup配置值是否为CPU相关需要写入所述CPU APCBtable中的配置值,若是CPU相关需要写入所述CPU APCB table中的配置值,则将所述第三setup配置值写入所述CPU APCB table,以实现BIOS flash中setup配置值和CPU相关配置值之间的同步。
步骤540、重启所述BIOS。
需要说明的是,重启BIOS,会重新执行步骤110~步骤120。
通过重启所述BIOS,可进一步实现BIOS flash中setup配置值、bmc中setup配置值、以及CPU相关配置值之间的同步。
在本发明实施例中,在BIOS启动过程中,若检测到通过BIOS setup界面输入的第三setup配置值,则将第三setup配置值写入BIOS flash;然后将第三setup配置值同步给bmc;判断第三setup配置值是否为CPU相关需要写入第一表格中的配置值,若是,则将第三setup配置值写入第一表格;然后重启BIOS,本发明通过在BIOS启动过程中,检测到通过BIOS setup界面输入的第三setup配置值时,在BIOS flash中setup配置值、bmc中setup配置值、以及CPU相关配置值之间进行同步,从而实现BIOS flash中setup配置值、bmc中setup配置值、以及CPU相关配置值之间的同步,提高BIOS setup配置在BIOS、bmc、以及CPU之间的一致性,降低BIOS setup配置丢失或不生效的风险。
在一些实施例中,所述方法还包括:
若检测到通过带内配置方式输入的第四setup配置值,则将所述第四setup配置值写入所述BIOS flash,并同步至所述bmc,重启所述BIOS。
在具体实施时,在BIOS启动过程中,若配置更新加固装置检测到通过操作系统带内配置方式输入的第四setup配置值,则将所述第四setup配置值写入所述BIOS flash,并通过发送ipmi指令将所述第四setup配置值同步至所述bmc,以实现BIOS flash中setup配置值和bmc中setup配置值之间的同步。在同步至所述bmc后,再重启所述BIOS,即重新执行步骤110~120,以实现BIOS setup配置的更新加固。
在本发明实施例中,若检测到通过带内配置方式输入的第四setup配置值,则将第四setup配置值写入BIOS flash,并同步至bmc,可实现BIOS flash中setup配置值和bmc中setup配置值之间的同步。然后通过重启所述BIOS,可进一步实现BIOS flash中setup配置值、bmc中setup配置值、CPU相关配置值、以及操作系统之间的同步,提高BIOS setup配置在BIOS、bmc、CPU、以及操作系统之间的一致性,降低BIOS setup配置丢失或不生效的风险。
在一些实施例中,所述方法还包括:
若检测到通过bmc web方式输入的第五setup配置值,则将所述第五setup配置值存储至所述bmc,重启所述BIOS。
在具体实施时,在BIOS启动过程中,若配置更新加固装置检测到通过bmc web方式输入的第五setup配置值,则将所述第五setup配置值存储至所述bmc,然后重启所述BIOS,即重新执行步骤110~120。
在本发明实施例中,若检测到通过bmc web方式输入的第五setup配置值,则将第五setup配置值存储至bmc,然后重启所述BIOS,可实现BIOS flash中setup配置值、bmc中setup配置值、以及CPU相关配置值之间的同步,提高BIOS setup配置在BIOS、bmc、以及CPU之间的一致性,降低BIOS setup配置丢失或不生效的风险。
在一些实施例中,所述方法还包括:
在将setup配置写入BIOS flash、CPU APCB table或bmc时,执行失败重试机制,以及记录失败日志。
可以理解,失败重试机制用于在setup配置写入BIOS flash、CPU APCB table或bmc失败时,进行重新写入的机制。失败日志用于定位写入失败的问题,记录调用的接口、失败的次数等。
在具体实施时,在将setup配置写入BIOS flash、CPU APCB table、bmc时,通过判断写入返回状态,判断是否写入失败。若写入失败,发起失败重试,当失败重试次数达到失败重试次数预设阈值时,不再重试,并记录相应失败日志后继续向下执行。可选地,失败重试次数预设阈值可以为3次,本发明对此不作具体限定。
在本发明实施例中,通过在将setup配置写入BIOS flash、CPU APCB table或bmc时,执行失败重试机制,可提高BIOS setup配置在BIOS、bmc、以及CPU之间的一致性,通过记录失败日志,可快速定位写入失败的原因。
图6为本发明一个实施例提供的配置更新加固方法的流程示意图之五,如图6所示,该方法包括以下步骤:
步骤601、BIOS在PEI阶段读取BIOS flash FV_NVRAM中的setup配置值;
步骤602、通过从BIOS flash FV_NVRAM获取的setup值判断NVRAM分区是否为空;如果配置分区为空,setup配置值恢复为默认配置;
步骤603、BIOS在PEI阶段通过发送ipmi指令从bmc获取保存在bmc eeprom中的setup配置值;
步骤604、对比检查BIOS flash中的setup配置值与从bmc获取的setup配置值,当不一致时,执行步骤505;当一致时,执行步骤506;
步骤605、不一致时,将从bmc获取的setup配置写入BIOS flash;并逐一判断所述从bmc获取的setup配置是否为CPU相关需要写入CPU APCB table中的配置,直至将BIOSflash中的所有setup配置值检查完成;如果是,将配置值写入CPU APCB table,并记录第一标志;
步骤606、一致时,逐一判断所述从bmc获取的setup配置是否为CPU相关需要写入CPU APCB table中的配置,直至将BIOS flash中的所有setup配置值检查完成;如果是,读取CPU APCB table,并比较是否一致;不一致时,将配置值写入CPU APCB table,并记录标志;
步骤607、检查是否有写入CPU APCB table标志,如果有,执行warm reboot;如果没有,继续向下执行;
步骤608、按del或sec进入setup界面,修改setup配置,保存退出时进行如下操作后重启BIOS:
(1)将配置值写入BIOS flash;
(2)将配置值通过ipmi同步给bmc;
(3)判断配置值为CPU相关需要写入CPU APCB table中的配置,将配置值更新到CPU APCB table;
步骤609、bmc web修改setup配置,setup配置保存到bmc nvram中,重启BIOS;
步骤610、在BDS阶段,BIOS将BIOS flash配置同步到bmc;
步骤611、通过OS带内工具修改setup,setup配置写入BIOS flash,并通过ipmi指令同步给bmc,重启BIOS;
步骤612、setup配置在写入BIOS flash、CPU APCB table、bmc nvram是都执行失败重试机制,以及失败后的日志记录。
在本发明实施例中,通过在BIOS启动过程中的PEI阶段和BDS阶段,分别对BIOSflash中存储的setup配置值与bmc中存储的setup配置值进行同步,同时针对CPU相关配置值,增加了暖启动生效的步骤,另外,在将setup配置写入BIOS flash、CPU APCB table或bmc时,执行失败重试机制,并记录失败日志,可实现在升级BIOS版本时,可提高BIOS setup配置在BIOS、bmc、操作系统以及CPU之间的一致性,降低BIOS setup配置丢失或不生效的风险,提高BIOS setup配置在不同场景下的有效性和可靠性。
下面对本发明提供的配置更新加固装置进行描述,下文描述的配置更新加固装置与上文描述的配置更新加固方法可相互对应参照。
图7为本发明一个实施例提供的配置更新加固装置的结构示意图,如图7所示,该配置更新加固装置700包括:
第一同步单元710,用于在基本输入输出系统BIOS启动过程中的可扩展固件接口预先初始化PEI阶段,将基本输入输出系统闪存BIOS flash中存储的setup配置值与基板管理控制器bmc中存储的setup配置值进行同步;
第二同步单元720,用于在BIOS启动过程中的选择启动设备BDS阶段,将所述BIOSflash中存储的setup配置值同步至所述bmc,以实现BIOS setup配置更新加固。
在一些实施例中,所述将基本输入输出系统闪存BIOS flash中存储的setup配置值与基板管理控制器bmc中存储的setup配置值进行同步,包括:
获取BIOS flash中存储的第一setup配置值和bmc中存储的第二setup配置值;
判断所述第一setup配置值和所述第二setup配置值是否一致;
在所述第一setup配置值和所述第二setup配置值不一致的情况下,将所述第二setup配置值写入所述BIOS flash;
判断所述第二setup配置值是否为CPU相关需要写入第一表格中的配置值,若是,则将所述第二setup配置写入所述第一表格,并将第一标志置位,所述第一标志为置位状态时用于指示执行暖启动操作。
在一些实施例中,所述装置还包括:
第一判断单元,用于在所述第一setup配置值和所述第二setup配置值一致的情况下,判断所述第二setup配置值是否为CPU相关需要写入所述第一表格中的配置值,若是,则读取所述第一表格;
第二判断单元,用于判断所述第一表格中的配置值与所述第一setup配置值是否一致,若不一致,则将所述第一setup配置写入所述第一表格,并记录所述第一标志;
在一些实施例中,所述装置还包括:
暖启动单元,用于在所述第一标志为置位状态的情况下,暖启动所述BIOS。
在一些实施例中,所述装置还包括:
第一写入单元,用于在所述BIOS启动过程中,若检测到通过BIOS setup界面输入的第三setup配置值,则将所述第三setup配置值写入BIOS flash;
第三同步单元,用于将所述第三setup配置值同步给所述bmc;
第三判断单元,用于判断所述第三setup配置值是否为CPU相关需要写入所述第一表格中的配置值,若是,则将所述第三setup配置值写入所述第一表格;
重启单元,用于重启所述BIOS。
在一些实施例中,所述装置还包括:
第二写入单元,用于若检测到通过带内配置方式输入的第四setup配置值,则将所述第四setup配置值写入所述BIOS flash,并同步至所述bmc,重启所述BIOS。
在一些实施例中,所述装置还包括:
存储单元,用于若检测到通过bmc web方式输入的第五setup配置值,则将所述第五setup配置值存储至所述bmc,重启所述BIOS。
在此需要说明的是,本发明实施例提供的配置更新加固装置,能够实现上述配置更新加固方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
需要说明的是,本申请每一个实施方式可以自由组合、调换顺序或者单独执行,并不需要依靠或依赖固定的执行顺序。
图8为本发明一个实施例提供的电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行配置更新加固方法,该方法包括:在基本输入输出系统BIOS启动过程中的可扩展固件接口预先初始化PEI阶段,将基本输入输出系统闪存BIOS flash中存储的setup配置值与基板管理控制器bmc中存储的setup配置值进行同步;在BIOS启动过程中的选择启动设备BDS阶段,将所述BIOSflash中存储的setup配置值同步至所述bmc,以实现BIOS setup配置的更新加固。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的配置更新加固方法,该方法包括:在基本输入输出系统BIOS启动过程中的可扩展固件接口预先初始化PEI阶段,将基本输入输出系统闪存BIOS flash中存储的setup配置值与基板管理控制器bmc中存储的setup配置值进行同步;在BIOS启动过程中的选择启动设备BDS阶段,将所述BIOS flash中存储的setup配置值同步至所述bmc,以实现BIOS setup配置的更新加固。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的配置更新加固方法,该方法包括:在基本输入输出系统BIOS启动过程中的可扩展固件接口预先初始化PEI阶段,将基本输入输出系统闪存BIOS flash中存储的setup配置值与基板管理控制器bmc中存储的setup配置值进行同步;在BIOS启动过程中的选择启动设备BDS阶段,将所述BIOS flash中存储的setup配置值同步至所述bmc,以实现BIOS setup配置的更新加固。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种配置更新加固方法,其特征在于,包括:
在基本输入输出系统BIOS启动过程中的可扩展固件接口预先初始化PEI阶段,将基本输入输出系统闪存BIOS flash中存储的setup配置值与基板管理控制器bmc中存储的setup配置值进行同步;
在BIOS启动过程中的选择启动设备BDS阶段,将所述BIOS flash中存储的setup配置值同步至所述bmc,以实现BIOS setup配置更新加固。
2.根据权利要求1所述的配置更新加固方法,其特征在于,所述将基本输入输出系统闪存BIOS flash中存储的setup配置值与基板管理控制器bmc中存储的setup配置值进行同步,包括:
获取BIOS flash中存储的第一setup配置值和bmc中存储的第二setup配置值;
判断所述第一setup配置值和所述第二setup配置值是否一致;
在所述第一setup配置值和所述第二setup配置值不一致的情况下,将所述第二setup配置值写入所述BIOS flash;
判断所述第二setup配置值是否为CPU相关需要写入第一表格中的配置值,若是,则将所述第二setup配置写入所述第一表格,并将第一标志置位,所述第一标志为置位状态时用于指示执行暖启动操作。
3.根据权利要求2所述的配置更新加固方法,其特征在于,所述方法还包括:
在所述第一setup配置值和所述第二setup配置值一致的情况下,判断所述第二setup配置值是否为CPU相关需要写入所述第一表格中的配置值,若是,则读取所述第一表格;
判断所述第一表格中的配置值与所述第一setup配置值是否一致,若不一致,则将所述第一setup配置写入所述第一表格,并记录所述第一标志。
4.根据权利要求2或3所述的配置更新加固方法,其特征在于,所述方法还包括:
在所述第一标志为置位状态的情况下,暖启动所述BIOS。
5.根据权利要求2或3所述的配置更新加固方法,其特征在于,所述方法还包括:
在所述BIOS启动过程中,若检测到通过BIOS setup界面输入的第三setup配置值,则将所述第三setup配置值写入BIOS flash;
将所述第三setup配置值同步给所述bmc;
判断所述第三setup配置值是否为CPU相关需要写入所述第一表格中的配置值,若是,则将所述第三setup配置值写入所述第一表格;
重启所述BIOS。
6.根据权利要求2或3所述的配置更新加固方法,其特征在于,所述方法还包括:
若检测到通过带内配置方式输入的第四setup配置值,则将所述第四setup配置值写入所述BIOS flash,并同步至所述bmc,重启所述BIOS。
7.根据权利要求2或3所述的配置更新加固方法,其特征在于,所述方法还包括:
若检测到通过bmc web方式输入的第五setup配置值,则将所述第五setup配置值存储至所述bmc,重启所述BIOS。
8.一种配置更新加固装置,其特征在于,包括:
第一同步单元,用于在基本输入输出系统BIOS启动过程中的可扩展固件接口预先初始化PEI阶段,将基本输入输出系统闪存BIOS flash中存储的setup配置值与基板管理控制器bmc中存储的setup配置值进行同步;
第二同步单元,用于在BIOS启动过程中的选择启动设备BDS阶段,将所述BIOS flash中存储的setup配置值同步至所述bmc,以实现BIOS配置更新加固。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的配置更新加固方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的配置更新加固方法。
CN202311117479.2A 2023-08-31 2023-08-31 配置更新加固方法、装置、电子设备和存储介质 Pending CN117389598A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311117479.2A CN117389598A (zh) 2023-08-31 2023-08-31 配置更新加固方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311117479.2A CN117389598A (zh) 2023-08-31 2023-08-31 配置更新加固方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN117389598A true CN117389598A (zh) 2024-01-12

Family

ID=89470960

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311117479.2A Pending CN117389598A (zh) 2023-08-31 2023-08-31 配置更新加固方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN117389598A (zh)

Similar Documents

Publication Publication Date Title
US9471435B2 (en) Information processing device, information processing method, and computer program
CN104572229B (zh) 嵌入式系统的固件升级方法以及固件升级装置
EP2375323A1 (en) Firmware image update and management
CN106775610B (zh) 一种电子设备启动方法及一种电子设备
CN101329632B (zh) 一种使用boot启动cpu的方法与装置
CN101650662A (zh) 一种嵌入式系统的存储器件、固件启动及升级方法
US20090271660A1 (en) Motherboard, a method for recovering the bios thereof and a method for booting a computer
US20200394144A1 (en) Information processing system, information processing device, bios updating method for information processing device, and bios updating program for information processing device
CN106775674B (zh) 一种基于通用引导加载程序的设备及其启动方法
CN108345464A (zh) 一种安卓系统的启动方法及安卓车机
CN116932010B (zh) 系统固件升级方法、装置及服务器
CN111045712A (zh) 一种具有备份功能的单系统升级方法及系统
CN106325911A (zh) 一种实现bootrom升级的方法及装置
CN117130672A (zh) 服务器启动流程控制方法、系统、终端及存储介质
CN114047958A (zh) 一种服务器的基板管理控制器的启动方法、设备及介质
CN117215656A (zh) 基于Linux系统自适配车机芯片方法、装置、电子设备及车辆
CN115951949A (zh) 一种bios的配置参数的恢复方法、装置及计算设备
CN117389598A (zh) 配置更新加固方法、装置、电子设备和存储介质
CN115658152A (zh) 固件升级方法、固件、电子设备和计算机可读存储介质
CN104834574B (zh) 一种解决系统分区损坏的方法及装置
CN114115958A (zh) 程序启动方法及终端设备
CN114265603A (zh) 基于不对称分区的系统升级方法、装置和电子设备
CN109582370B (zh) 一种nor flash嵌入式设备的启动方法及装置
CN113377425A (zh) Bmc固件生成方法和装置、bmc启动方法和装置及存储介质
CN112148376A (zh) 一种终端启动方法及装置

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