掌桥专利:专业的专利平台
掌桥专利
首页

一种UEFI固件维护方法、装置、设备及介质

文献发布时间:2024-01-17 01:17:49


一种UEFI固件维护方法、装置、设备及介质

技术领域

本发明涉及计算机领域,尤其涉及一种UEFI固件维护方法、装置、设备及介质。

背景技术

UEFI(Unified Extensible Firmware Interface,通用可扩展接口)是在Intel主导下提出的新一代基本输入输出系统(Basic Input Output System,BIOS)技术,旨在定义一套操作系统与平台固件之间的统一接口规范。UEFI固件是固化到计算机内主板上一个ROM芯片的程序,其中保存着计算机最重要的基本输入输出程序、开机自检程序、系统自启动程序等。UEFI固件为计算机、服务器等设备提供底层的硬件控制,并向系统层提供参数,因此被广泛应用。

目前,传统的UEFI固件更新维护,一般是将用于更新的UEFI固件二进制文件存放于移动存储设备中,例如使用U盘,光盘,设备通过读取移动存储设备中的二进制文件完成UEFI固件的更新维护。这种UEFI固件更新维护的方法需要人工校验UEFI固件的md5值,需要移动存储设备的辅助,成本较高,并且客户现场更新时,如果移动存储设备损坏将导致UEFI固件更新维护失败。因此,亟需对传统的UEFI固件更新维护方式进行改进。

发明内容

有鉴于此,为了提供更为便捷、高效管理UEFI固件,本发明提供了一种UEFI固件维护方法、装置、设备及介质。

根据本发明的第一方面,提供了一种UEFI固件维护方法,所述方法包括由客户端服务器执行以下操作:

通过网络从服务端服务器下载最新版的UEFI固件文件;

对已安装的UEFI固件文件和最新版的UEFI固件文件进行比对分析以确定比对结果;

根据所述比对结果向RTC寄存器的预设地址中写入数据;

在已安装的UEFI固件文件加载过程中读取RTC寄存器的预设地址中的数据,并根据所读取的数据选择执行正常启动已安装的UEFI固件文件或者使用所下载的最新版的UEFI固件文件刷新闪存。

在一些实施例中,通过网络从服务端服务器下载最新版的UEFI固件文件,包括:

通过TCP/IP协议从服务端服务器拉取推送的最新版的UEFI固件文件对应的二进制数据到本地预设存储区域。

在一些实施例中,对已安装的UEFI固件文件和最新版的UEFI固件文件进行比对分析以确定比对结果,包括:

分别获取已安装的UEFI固件文件和新版的UEFI固件文件对应的版本号;

判断两个版本号是否一致,以得到版本一致或者不一致的比对结果。

在一些实施例中,根据所述比对结果向RTC寄存器的预设地址中写入数据,包括:

响应于比对结果为版本一致,则向RTC寄存器的预设地址写入第一数值;

响应于比对结果为版本不一致,则向RTC寄存器的预设地址写入第二数值;

其中,所述第一数值与所述第二数值不等。

在一些实施例中,根据所读取的数据选择执行正常启动已安装的UEFI固件文件或者使用所下载的最新版的UEFI固件文件刷新闪存,包括:

响应于读取的数据等于所述第一数值,则选择执行正常启动已安装的UEFI固件文件;

响应于读取的数据等于所述第二数值,则选择使用所下载的最新版的UEFI固件文件刷新闪存,以及在闪存刷新完成后将RTC寄存器的预设地址中数据修改为第一数值。

在一些实施例中,所述方法还包括:

响应于读取的数据等于所述第一数值,则将所下载的最新版的UEFI固件文件删除。

在一些实施例中,所述方法还包括:

在执行对已安装的UEFI固件文件和最新版的UEFI固件文件进行比对分析以确定比对结果的步骤之前,执行以下操作:

对所下载的最新版的UEFI固件文件进行md5值校验;

响应于校验通过,则允许执行对已安装的UEFI固件文件和最新版的UEFI固件文件进行比对分析以确定比对结果的步骤;

响应于校验未通过,则禁止执行对已安装的UEFI固件文件和最新版的UEFI固件文件进行比对分析以确定比对结果的步骤,生成报错日志并删除所下载的最新版的UEFI固件文件。

根据本发明的第二方面,提供了一种UEFI固件维护装置,所述装置包括在客户端服务器添加以下模块:

下载模块,配置用于通过网络从服务端服务器下载最新版的UEFI固件文件;

比对模块,配置用于对已安装的UEFI固件文件和最新版的UEFI固件文件进行比对分析以确定比对结果;

写入模块,配置用于根据所述比对结果向RTC寄存器的预设地址中写入数据;

选择模块,配置用于在已安装的UEFI固件文件加载过程中读取RTC寄存器的预设地址中的数据,并根据所读取的数据选择执行正常启动已安装的UEFI固件文件或者使用所下载的最新版的UEFI固件文件刷新闪存。

根据本发明的第三方面,还提供了一种计算机设备,该计算机设备包括:

至少一个处理器;以及

存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的UEFI固件维护方法。

根据本发明的第四方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的UEFI固件维护方法。

上述一种UEFI固件维护方法,客户端服务器通过网络协议从服务端服务器自动拉取最新版的UEFI固件文件,并对版本号进行对比分析,确认版本升级则进行更新维护,无需移动存储设备的辅助,也不需要单独的协助更新设备,使得UEFI固件更新维护更加方便快捷,对客户需求变更响应更加及时,显著提升UEFI固件维护的效率。

此外,本发明还提供了一种UEFI固件维护装置、一种计算机设备和一种计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。

图1为本发明一个实施例提供的一种UEFI固件维护方法的流程图;

图2为本发明另一个实施例提供的文件传输流程图;

图3为本发明另一个实施例提供的系统层固件更新维护流程图;

图4为本发明另一个实施例提供的固件层固件更新维护流程图;

图5为本发明另一个实施例提供的一种UEFI固件维护装置的结构示意图;

图6为本发明另一个实施例中计算机设备的内部结构图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

在一个实施例中,请参照图1所示,本发明提供了一种UEFI固件维护方法100,具体来说,所述方法包括由客户端服务器执行以下操作:

步骤101,通过网络从服务端服务器下载最新版的UEFI固件文件;

步骤102,对已安装的UEFI固件文件和最新版的UEFI固件文件进行比对分析以确定比对结果;

步骤103,根据所述比对结果向RTC寄存器的预设地址中写入数据;

步骤104,在已安装的UEFI固件文件加载过程中读取RTC寄存器的预设地址中的数据,并根据所读取的数据选择执行正常启动已安装的UEFI固件文件或者使用所下载的最新版的UEFI固件文件刷新闪存。

上述一种UEFI固件维护方法,客户端服务器通过网络协议从服务端服务器自动拉取最新版的UEFI固件文件,并对版本号进行对比分析,确认版本升级则进行更新维护,无需移动存储设备的辅助,也不需要单独的协助更新设备,使得UEFI固件更新维护更加方便快捷,对客户需求变更响应更加及时,显著提升UEFI固件维护的效率。

在一些实施例中,前述步骤101,通过网络从服务端服务器下载最新版的UEFI固件文件,包括:

通过TCP/IP协议从服务端服务器拉取推送的最新版的UEFI固件文件对应的二进制数据到本地预设存储区域。

在一些实施例中,前述步骤102,对已安装的UEFI固件文件和最新版的UEFI固件文件进行比对分析以确定比对结果,包括:

分别获取已安装的UEFI固件文件和新版的UEFI固件文件对应的版本号;

判断两个版本号是否一致,以得到版本一致或者不一致的比对结果。

在一些实施例中,前述步骤103,根据所述比对结果向RTC寄存器的预设地址中写入数据,包括:

响应于比对结果为版本一致,则向RTC寄存器的预设地址写入第一数值;

响应于比对结果为版本不一致,则向RTC寄存器的预设地址写入第二数值;

其中,所述第一数值与所述第二数值不等。

在一些实施例中,前述步骤104中根据所读取的数据选择执行正常启动已安装的UEFI固件文件或者使用所下载的最新版的UEFI固件文件刷新闪存,包括:

响应于读取的数据等于所述第一数值,则选择执行正常启动已安装的UEFI固件文件;

响应于读取的数据等于所述第二数值,则选择使用所下载的最新版的UEFI固件文件刷新闪存,以及在闪存刷新完成后将RTC寄存器的预设地址中数据修改为第一数值。

在一些实施例中,所述方法还包括:

响应于读取的数据等于所述第一数值,则将所下载的最新版的UEFI固件文件删除。

在一些实施例中,所述方法还包括:

在执行对已安装的UEFI固件文件和最新版的UEFI固件文件进行比对分析以确定比对结果的步骤之前,执行以下操作:

对所下载的最新版的UEFI固件文件进行md5值校验;

响应于校验通过,则允许执行对已安装的UEFI固件文件和最新版的UEFI固件文件进行比对分析以确定比对结果的步骤;

响应于校验未通过,则禁止执行对已安装的UEFI固件文件和最新版的UEFI固件文件进行比对分析以确定比对结果的步骤,生成报错日志并删除所下载的最新版的UEFI固件文件。

在另一个实施例中,为了便于理解本发明的方案,下面以数据中的一台服务器为例详细,本实施例提供了应用于该服务器的一种UEFI固件维护方法,具体实施过程参考如下:

步骤一,数据中心服务器进行固件更新维护时,首先数据中心的服务器要接收服务端服务器推送的最新UEFI固件文件;图2示出了UEFI固件文件从客户端服务器到达数据中心服务器的过程图,对于能够进行网络通信的服务器,可以直接内嵌到一个到服务器的接口,直接下载到系统盘的指定路径。

步骤二,如图3所示数据中心服务器开机进入操作系统后自动从服务器下载最新版本的UEFI固件,进行md5值校验,校验成功则进行下一步,校验失败则会生成错误日志,以便排查更新失败原因。

步骤三,校验通过后分别对下载的UEFI固件版本号及已安装的UEFI固件版本号进行提取,然后将二者进行对比。

步骤四,若版本号一致,则表明数据中心服务器所使用的UEFI固件即为最新版本,无需进行更新维护,并将已下载保存的UEFI固件文件删除;若版本号不一致,则需对数据中心服务器进行UEFI固件的更新维护操作。当数据中心服务器需要进行UEFI固件更新维护操作时,会通过RTC寄存器设置标志位,保证数据中心服务器掉电后,标志位依然有效,然后自动重启数据中心服务器进入固件更新。

步骤五,如图4所示数据中心服务器执行重启操作后,已安装的UEFI固件加载过程中会对寄存器中标志位值进行读取,若标志位为1,则刷新标志位,并进行闪存(flash)刷新操作,以此来完成数据中心服务器UEFI固件更新操作。

本实施例的一种UEFI固件维护方法至少具备以下有益技术效果:使得服务器开机会自动进行固件更新维护操作,先从服务器端自动拉取最新版的UEFI固件文件,再进行md5值校验保证文件的正确性,最后再通过版本比对自动确认是否对固件版本升级则进行更新维,无需移动存储设备的辅助,也不需要单独的协助更新设备,使得UEFI固件更新维护更加方便快捷,对客户需求变更响应更加及时,极大的减少了维护的工作量,提升运维管理效率。

根据本发明的另一方面,请参照图5所示,本发明还提供了一种UEFI固件维护装置200,所述装置包括在客户端服务器添加以下模块:

下载模块201,配置用于通过网络从服务端服务器下载最新版的UEFI固件文件;

比对模块202,配置用于对已安装的UEFI固件文件和最新版的UEFI固件文件进行比对分析以确定比对结果;

写入模块203,配置用于根据所述比对结果向RTC寄存器的预设地址中写入数据;

选择模块204,配置用于在已安装的UEFI固件文件加载过程中读取RTC寄存器的预设地址中的数据,并根据所读取的数据选择执行正常启动已安装的UEFI固件文件或者使用所下载的最新版的UEFI固件文件刷新闪存。

上述一种UEFI固件维护装置,客户端服务器通过网络协议从服务端服务器自动拉取最新版的UEFI固件文件,并对版本号进行对比分析,确认版本升级则进行更新维护,无需移动存储设备的辅助,也不需要单独的协助更新设备,使得UEFI固件更新维护更加方便快捷,对客户需求变更响应更加及时,显著提升UEFI固件维护的效率。

在一些实施例中,所述下载模块201进一步配置用于:

通过TCP/IP协议从服务端服务器拉取推送的最新版的UEFI固件文件对应的二进制数据到本地预设存储区域。

在一些实施例中,所述比对模块202进一步配置用于:

分别获取已安装的UEFI固件文件和新版的UEFI固件文件对应的版本号;

判断两个版本号是否一致,以得到版本一致或者不一致的比对结果。

在一些实施例中,所述写入模块203进一步配置用于:

响应于比对结果为版本一致,则向RTC寄存器的预设地址写入第一数值;

响应于比对结果为版本不一致,则向RTC寄存器的预设地址写入第二数值;

其中,所述第一数值与所述第二数值不等。

在一些实施例中,所述选择模块204进一步配置用于:

响应于读取的数据等于所述第一数值,则选择执行正常启动已安装的UEFI固件文件;

响应于读取的数据等于所述第二数值,则选择使用所下载的最新版的UEFI固件文件刷新闪存,以及在闪存刷新完成后将RTC寄存器的预设地址中数据修改为第一数值。

在一些实施例中所述装置还包括删除模块,所述删除模块配置用于:

响应于读取的数据等于所述第一数值,则将所下载的最新版的UEFI固件文件删除。

在一些实施例中,所述装置还包括校验模块,所述检验模块进一步配置用于:

在执行对已安装的UEFI固件文件和最新版的UEFI固件文件进行比对分析以确定比对结果的步骤之前,执行以下操作:

对所下载的最新版的UEFI固件文件进行md5值校验;

响应于校验通过,则允许执行对已安装的UEFI固件文件和最新版的UEFI固件文件进行比对分析以确定比对结果的步骤;

响应于校验未通过,则禁止执行对已安装的UEFI固件文件和最新版的UEFI固件文件进行比对分析以确定比对结果的步骤,生成报错日志并删除所下载的最新版的UEFI固件文件。

需要说明的是,关于UEFI固件维护装置的具体限定可以参见上文中对UEFI固件维护方法的限定,在此不再赘述。上述UEFI固件维护装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

根据本发明的另一方面,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图请参照图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现以上所述的UEFI固件维护方法,具体来说,所述方法包括由客户端服务器执行以下操作:

通过网络从服务端服务器下载最新版的UEFI固件文件;

对已安装的UEFI固件文件和最新版的UEFI固件文件进行比对分析以确定比对结果;

根据所述比对结果向RTC寄存器的预设地址中写入数据;

在已安装的UEFI固件文件加载过程中读取RTC寄存器的预设地址中的数据,并根据所读取的数据选择执行正常启动已安装的UEFI固件文件或者使用所下载的最新版的UEFI固件文件刷新闪存。

根据本发明的又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上所述的UEFI固件维护方法,具体来说,所述方法包括由客户端服务器执行以下操作:

通过网络从服务端服务器下载最新版的UEFI固件文件;

对已安装的UEFI固件文件和最新版的UEFI固件文件进行比对分析以确定比对结果;

根据所述比对结果向RTC寄存器的预设地址中写入数据;

在已安装的UEFI固件文件加载过程中读取RTC寄存器的预设地址中的数据,并根据所读取的数据选择执行正常启动已安装的UEFI固件文件或者使用所下载的最新版的UEFI固件文件刷新闪存。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 一种固件更新的方法、系统、装置、设备及存储介质
  • 一种基于BMC带安全认证的胶囊式UEFI固件远程管控方法
  • 一种基于可信UEFI固件引导虚拟机启动的方法及系统
  • 跨平台显卡固件翻译执行方法、装置、设备及可读介质
  • 一种硬盘的固件安全测试方法、装置及存储介质
  • 基于可信的UEFI固件恢复方法、装置、介质和设备
  • 一种固件维护方法、系统、设备以及介质
技术分类

06120116116854