CN115576584A - 一种bios升级方法、装置、bmc和可读存储介质 - Google Patents
一种bios升级方法、装置、bmc和可读存储介质 Download PDFInfo
- Publication number
- CN115576584A CN115576584A CN202211293035.XA CN202211293035A CN115576584A CN 115576584 A CN115576584 A CN 115576584A CN 202211293035 A CN202211293035 A CN 202211293035A CN 115576584 A CN115576584 A CN 115576584A
- Authority
- CN
- China
- Prior art keywords
- bios
- image file
- upgraded
- new version
- upgrading
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及BIOS升级领域,公开了一种BIOS升级方法、装置、BMC和可读存储介质,包括当接收到BIOS升级命令,获取新版BIOS镜像文件的第一BIOS ID;获取待升级BIOS镜像文件的第二BIOS ID;判断第一BIOS ID和第二BIOS ID是否相同;若第一BIOS ID和第二BIOS ID不相同,则停止对待升级BIOS升级;若第一BIOS ID和第二BIOS ID相同,则利用新版BIOS镜像文件对待升级BIOS升级。本申请通过判断新版BIOS镜像文件和待升级BIOS镜像文件的BIOS ID是否相同,若相同,表明新版BIOS镜像文件与当前机型匹配,可以升级,提升BIOS升级的安全性。
Description
技术领域
本申请涉及BIOS升级领域,特别是涉及一种BIOS升级方法、装置、BMC和计算机可读存储介质。
背景技术
BIOS(Basic Input Output System,基本输入输出系统)保存着计算机最重要的基本输入输出的程序、系统设置信息、开机上电自检程序和系统启动自举程序,它主要的功能是为计算机提供最底层的、最直接的硬件设置和控制。
BIOS是服务器不可或缺的一部分,服务器部署到客户现场后,当BIOS出现问题时,有时需要升级BIOS固件。使用BMC(Baseboard Manager Controller,基板管理控制器)带外管理模块对BIOS固件进行升级是目前一种升级方法,该升级方法会对机型的完整性进行校验,若完整则直接进行升级,否则不进行升级。但是,该升级方法存在的技术问题是,存在BIOS固件版本不匹配的问题,当在一个设备节点上升级了与该机型不匹配的BIOS固件版本,会导致系统开不了机,或者系统运行不稳定等风险。
因此,如何解决上述技术问题应是本领域技术人员重点关注的。
发明内容
本申请的目的是提供一种BIOS升级方法、装置、BMC和计算机可读存储介质,以解决因BIOS升级过程中的版本与机型不匹配导致升级后的BIOS不可用的问题,提升BIOS升级的安全性。
为解决上述技术问题,本申请提供一种BIOS升级方法,包括:
当接收到BIOS升级命令,获取新版BIOS镜像文件的第一BIOS ID;
获取待升级BIOS镜像文件的第二BIOS ID;
判断所述第一BIOS ID和所述第二BIOS ID是否相同;
若所述第一BIOS ID和所述第二BIOS ID不相同,则停止对待升级BIOS升级;
若所述第一BIOS ID和所述第二BIOS ID相同,则利用所述新版BIOS镜像文件对待升级BIOS升级。
可选的,当所述第一BIOS ID和所述第二BIOS ID相同,还包括:
从所述新版BIOS镜像文件的签名值中解密得到第一哈希值;
去掉所述新版BIOS镜像文件的头,得到处理后镜像文件;
确定所述处理后镜像文件的第二哈希值;
判断所述第一哈希值和所述第二哈希值是否相等;
若所述第一哈希值和所述第二哈希值相等,则执行利用所述新版BIOS镜像文件对待升级BIOS升级的步骤;
若所述第一哈希值和所述第二哈希值不相等,则停止对待升级BIOS升级。
可选的,所述获取新版BIOS镜像文件的第一BIOS ID包括:
当接收镜像上传请求,接收所述新版BIOS镜像文件;
解析所述新版BIOS镜像文件,得到所述第一BIOS ID。
可选的,所述BIOS升级方法还包括:
保存所述新版BIOS镜像文件。
可选的,所述利用所述新版BIOS镜像文件对待升级BIOS升级包括:
接收升级指令;
根据所述升级指令,擦除所述待升级BIOS的flash中的旧版BIOS固件;
将所述新版BIOS镜像文件写入所述待升级BIOS的flash中。
可选的,所述停止对待升级BIOS升级之后,还包括:
发送校验失败信息至web界面;
所述利用所述新版BIOS镜像文件对待升级BIOS升级之后,还包括:
发送升级完成信息至web界面。
可选的,所述判断所述第一BIOS ID和所述第二BIOS ID的值是否相同之前,还包括:
获取所述新版BIOS镜像文件的大小;
判断所述新版BIOS镜像文件的大小是否等于预设值;
若所述新版BIOS镜像文件的大小等于所述预设值,则执行判断所述第一BIOS ID和所述第二BIOS ID的值是否相等的步骤;
若所述新版BIOS镜像文件的大小不等于所述预设值,则停止对待升级BIOS升级。
本申请还提供一种BIOS升级装置,包括:
第一获取模块,用于当接收到BIOS升级命令,获取新版BIOS镜像文件的第一BIOSID;
第二获取模块,用于获取待升级BIOS镜像文件的第二BIOS ID;
第一判断模块,用于判断所述第一BIOS ID和所述第二BIOS ID是否相同;
第一停止升级模块,用于若所述第一BIOS ID和所述第二BIOS ID不相同,则停止对待升级BIOS升级;
升级模块,用于若所述第一BIOS ID和所述第二BIOS ID相同,则利用所述新版BIOS镜像文件对待升级BIOS升级。
本申请还提供一种BMC,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任一种所述BIOS升级方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种所述BIOS升级方法的步骤。
本申请所提供的一种BIOS升级方法,包括:当接收到BIOS升级命令,获取新版BIOS镜像文件的第一BIOS ID;获取待升级BIOS镜像文件的第二BIOS ID;判断所述第一BIOS ID和所述第二BIOS ID是否相同;若所述第一BIOS ID和所述第二BIOS ID不相同,则停止对待升级BIOS升级;若所述第一BIOS ID和所述第二BIOS ID相同,则利用所述新版BIOS镜像文件对待升级BIOS升级。
可见,本申请中在对BIOS进行升级时,通过获取新版BIOS镜像文件的第一BIOSID、待升级BIOS镜像文件的第二BIOS ID,判断第一BIOS ID和第二BIOS ID是否相同,若第一BIOS ID和第二BIOS ID相同,则表明新版BIOS镜像文件与当前机型匹配,可以升级,否则表明新版BIOS镜像文件并不适用于当前机型,不能进行升级。所以,本申请有效解决了因BIOS升级过程中的版本与机型不匹配导致升级后的BIOS不可用的问题,提升BIOS升级的安全性。
此外,本申请还提供一种具有上述优点的BIOS升级装置、BMC和计算机可读存储介质。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种BIOS升级方法的流程图;
图2为本申请实施例所提供的另一种BIOS升级方法的流程图;
图3为本申请实施例所提供的另一种BIOS升级方法的流程图;
图4为本申请实施例所提供的另一种BIOS升级方法的流程图;
图5为本申请实施例所提供的另一种BIOS升级方法的流程图;
图6为本申请实施例所提供的另一种BIOS升级方法的流程图;
图7为本申请实施例所提供的一种BIOS升级方法的流程图;
图8为本申请实施例提供的一种BIOS升级装置的结构框图;
图9为本申请实施例提供的一种BMC的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
BMC是IPMI(Intelligent Platform Management Interface)协议即智能平台管理接口所定义的服务器管理体系中的核心组件。BMC提供IPMI架构中的智能特性。它是嵌入在计算机(通常是服务器)主板上的专用微控制器。BMC负责管理系统管理软件和平台硬件之间的接口。
正如背景技术部分所述,目前在利用BMC升级BIOS时,会对机型的完整性进行校验,若完整则直接进行升级。但是,该升级方法存在BIOS固件版本不匹配的问题,当在一个设备节点上升级了与该机型不匹配的BIOS固件版本,会导致系统开不了机,或者系统运行不稳定等风险。
有鉴于此,本申请提供了一种BIOS升级方法,请参考图1,该方法包括:
步骤S101:当接收到BIOS升级命令,获取新版BIOS镜像文件的第一BIOS ID。
本申请中的BIOS升级方法也是利用BMC进行升级,具体在flasher进程中进行。
新版BIOS镜像文件也即升级后的BIOS固件版本。
用户登录BMC web界面后,点击web升级BIOS标签,web Client发出BIOS升级请求至web Server,当web Server接收到BIOS升级请求,发出BIOS升级命令。
新版BIOS镜像文件包括两部分,一部分是头,另一部分是新版镜像文件本身,其中,新版BIOS镜像文件的第一BIOS ID位于头中。
需要说明的是,在进行升级时,BMC已经获得了待升级BIOS的flash的控制权。待升级BIOS的flash的控制权默认是在CPU(Central Processing Unit,中央处理器)一端,将待升级BIOS的flash的引脚与BMC连接,即将控制权转移至BMC。当验证完成之后,BMC再将控制权释放。
步骤S102:获取待升级BIOS镜像文件的第二BIOS ID。
待升级BIOS镜像文件包括两部分,一部分是头,另一部分是待升级镜像文件本身,其中,待升级BIOS镜像文件的第二BIOS ID位于头中。
步骤S103:判断所述第一BIOS ID和所述第二BIOS ID是否相同。
步骤S104:若所述第一BIOS ID和所述第二BIOS ID不相同,则停止对待升级BIOS升级。
步骤S105:若所述第一BIOS ID和所述第二BIOS ID相同,则利用所述新版BIOS镜像文件对待升级BIOS升级。
第一BIOS ID和第二BIOS ID可以为字符串,可以判断这两个字符串中的字符是相同。当这两个字符串中每个位置上的字符均相同时,也即第一BIOS ID和第二BIOS ID相同,说明新版BIOS镜像文件和待升级BIOS镜像文件两者版本相同,可以互刷;当这两个字符串中每个位置上的字符只要有一个不相同时,也即第一BIOS ID和第二BIOS ID不相同。也就是说,本申请中在升级BIOS的过程中,通过BIOS ID对新版BIOS镜像文件进行校验。
本申请中在对BIOS进行升级时,通过获取新版BIOS镜像文件的第一BIOS ID、待升级BIOS镜像文件的第二BIOS ID,判断第一BIOS ID和第二BIOS ID是否相同,若第一BIOSID和第二BIOS ID相同,则表明新版BIOS镜像文件与当前机型匹配,可以升级,否则表明新版BIOS镜像文件并不适用于当前机型,不能进行升级。所以,本申请有效解决了因BIOS升级过程中的版本与机型不匹配导致升级后的BIOS不可用的问题,提升BIOS升级的安全性。
请参考图2,在上述实施例的基础上,在本申请的一个实施例中,BIOS升级方法包括:
步骤S201:当接收到BIOS升级命令,获取新版BIOS镜像文件的第一BIOS ID。
步骤S202:获取待升级BIOS镜像文件的第二BIOS ID。
步骤S203:判断所述第一BIOS ID和所述第二BIOS ID是否相同。
步骤S204:若所述第一BIOS ID和所述第二BIOS ID不相同,则停止对待升级BIOS升级。
步骤S205:若所述第一BIOS ID和所述第二BIOS ID相同,从所述新版BIOS镜像文件的签名值中解密得到第一哈希值。
新版BIOS镜像文件包括两部分,一部分是头,另一部分是新版镜像文件本身,其中,新版BIOS镜像文件的签名值位于头中。也即,新版BIOS镜像文件的头中包括新版BIOS镜像文件的第一BIOS ID和新版BIOS镜像文件的签名值。
第一哈希值由新版BIOS镜像文件的签名值得到。
步骤S206:去掉所述新版BIOS镜像文件的头,得到处理后镜像文件。
新版BIOS镜像文件包括两部分,一部分是头,另一部分是新版镜像文件本身,处理后镜像文件也即新版镜像文件本身。
步骤S207:确定所述处理后镜像文件的第二哈希值。
本步骤中第二哈希值由新版镜像文件自身得到。
步骤S208:判断所述第一哈希值和所述第二哈希值是否相等。
步骤S209:若所述第一哈希值和所述第二哈希值相等,则执行利用所述新版BIOS镜像文件对待升级BIOS升级的步骤。
步骤S210:若所述第一哈希值和所述第二哈希值不相等,则停止对待升级BIOS升级。
需要说明的是,步骤S201、S202、S203和S204请参考上述实施例,本实施例中不再详细赘述。
本实施例中的BIOS升级方法在升级BIOS时,先对新版BIOS镜像文件的第一BIOSID、待升级BIOS镜像文件的第二BIOS ID进行判断,当第一BIOS ID和第二BIOS ID不同时,停止升级,当第一BIOS ID和第二BIOS ID相同时,进一步对新版BIOS镜像文件中的签名值进行验证。对新版BIOS镜像文件的签名值中解密得到第一哈希值和从新版镜像文件自身得到的第二哈希值进行比较,当第一哈希值和第二哈希值不相等时,停止升级,当第一哈希值和第二哈希值相等时,利用新版BIOS镜像文件对待升级BIOS进行升级,保证新版BIOS镜像文件的完整性,进一步提升BIOS升级的安全性、可靠性。
请参考图3,在上述实施例的基础上,在本申请的一个实施例中,BIOS升级方法包括:
步骤S301:当接收到BIOS升级命令和接收镜像上传请求,接收所述新版BIOS镜像文件。
客户登录BMC web界面后,选择新版BIOS镜像文件,点击镜像上传按钮,也即发送镜像上传请求。
步骤S302:解析所述新版BIOS镜像文件,得到所述第一BIOS ID。
新版BIOS镜像文件包括两部分,一部分是头,另一部分是新版镜像文件本身,其中,新版BIOS镜像文件的第一BIOS ID位于头中。
可选的,为了方便后续查询新版BIOS镜像文件,还包括:
保存所述新版BIOS镜像文件。
可以将新版BIOS镜像文件保存在本地目录/var/rom.ima。
步骤S303:获取待升级BIOS镜像文件的第二BIOS ID。
步骤S304:判断所述第一BIOS ID和所述第二BIOS ID是否相同。
步骤S305:若所述第一BIOS ID和所述第二BIOS ID不相同,则停止对待升级BIOS升级。
步骤S306:若所述第一BIOS ID和所述第二BIOS ID相同,则利用所述新版BIOS镜像文件对待升级BIOS升级。
需要说明的是,步骤S303、S304、S305和S306请参考上述实施例,本实施例中不再详细赘述。
请参考图4,在上述实施例的基础上,在本申请的一个实施例中,BIOS升级方法包括:
步骤S401:当接收到BIOS升级命令,获取新版BIOS镜像文件的第一BIOS ID。
步骤S402:获取待升级BIOS镜像文件的第二BIOS ID。
步骤S403:判断所述第一BIOS ID和所述第二BIOS ID是否相同。
步骤S404:若所述第一BIOS ID和所述第二BIOS ID不相同,则停止对待升级BIOS升级。
步骤S405:若所述第一BIOS ID和所述第二BIOS ID相同,接收升级指令。
客户登录BMC web界面后,点击升级按钮,web Client发出升级请求至webServer,当web Server接收到升级请求,发出升级指令。
步骤S406:根据所述升级指令,擦除所述待升级BIOS的flash中的旧版BIOS固件。
旧版BIOS固件也即待升级BIOS镜像文件。
步骤S407:将所述新版BIOS镜像文件写入所述待升级BIOS的flash中。
可以理解的是,在将新版BIOS镜像文件写入待升级BIOS的flash中之前,已经将待升级BIOS的flash的挂载分区查找完成,将新版BIOS镜像文件写入待升级BIOS的flash的挂载分区中。
将新版BIOS镜像文件写入待升级BIOS的flash中,也即对待升级BIOS进行升级。
需要说明的是,步骤S401、S402、S403和S404请参考上述实施例,本实施例中不再详细赘述。
请参考图5,在上述实施例的基础上,在本申请的一个实施例中,BIOS升级方法包括:
步骤S501:当接收到BIOS升级命令,获取新版BIOS镜像文件的第一BIOS ID。
步骤S502:获取待升级BIOS镜像文件的第二BIOS ID。
步骤S503:判断所述第一BIOS ID和所述第二BIOS ID是否相同。
步骤S504:若所述第一BIOS ID和所述第二BIOS ID不相同,则停止对待升级BIOS升级。
步骤S505:发送校验失败信息至web界面。
步骤S506:若所述第一BIOS ID和所述第二BIOS ID相同,则利用所述新版BIOS镜像文件对待升级BIOS升级。
步骤S507:发送升级完成信息至web界面。
需要说明的是,步骤S501、S502、S503、S504和S506请参考上述实施例,本实施例中不再详细赘述。
本实施例中的BIOS升级方法在停止对BIOS进行升级后,发送校验失败信息至web界面,可以及时通知用户新版BIOS镜像文件与待升级BIOS镜像文件验证失败,不能对待升级BIOS进行升级。同时,在完成对待升级BIOS的升级之后,发送升级完成信息至web界面,可以及时通知用户升级完成,使得用户及时了解升级情况。
请参考图6,在上述实施例的基础上,在本申请的一个实施例中,BIOS升级方法包括:
步骤S601:当接收到BIOS升级命令,获取新版BIOS镜像文件的第一BIOS ID。
步骤S602:获取待升级BIOS镜像文件的第二BIOS ID。
步骤S603:获取所述新版BIOS镜像文件的大小。
步骤S604:判断所述新版BIOS镜像文件的大小是否等于预设值。
需要指出的是,本申请中对预设值不做限定,视情况而定。例如,预设值的大小可以为16M。
步骤S605:若所述新版BIOS镜像文件的大小不等于预设值,则停止对待升级BIOS升级。
当新版BIOS镜像文件的大小不等于预设值,表明新版BIOS镜像文件不能对待升级BIOS进行升级,停止升级,避免造成系统无法开机等问题。
步骤S606:若所述新版BIOS镜像文件的大小等于所述预设值,则判断所述第一BIOS ID和所述第二BIOS ID是否相同。
步骤S607:若所述第一BIOS ID和所述第二BIOS ID不相同,则停止对待升级BIOS升级。
步骤S608:发送校验失败信息至web界面。
步骤S609:若所述第一BIOS ID和所述第二BIOS ID相同,则利用所述新版BIOS镜像文件对待升级BIOS升级。
步骤S610:发送升级完成信息至web界面。
本实施例中的BIOS升级方法,在对新版BIOS镜像文件的第一BIOS ID、待升级BIOS镜像文件的第二BIOS ID进行判断之前,相对新版BIOS镜像文件的大小进行判断。当新版BIOS镜像文件的大小与预设值的大小不相等时,表明新版BIOS镜像文件不能对待升级BIOS进行升级,停止升级,避免造成系统无法开机等问题;当新版BIOS镜像文件的大小与预设值的大小相等时,进一步对新版BIOS镜像文件的第一BIOS ID、待升级BIOS镜像文件的第二BIOS ID进行判断,当新版BIOS镜像文件的第一BIOS ID、待升级BIOS镜像文件的第二BIOSID不相同时,同样停止升级,当新版BIOS镜像文件的第一BIOS ID、待升级BIOS镜像文件的第二BIOS ID相同时,可以对待升级BIOS进行升级,进一步提升升级的安全性和可靠性。
下面以一具体情况对本申请中的BIOS升级方法进行阐述,请参考图7。
步骤1、用户通过BMC Web界面选择要升级的新版BIOS镜像文件,点击上传,WebClient发送镜像上传请求,将新版BIOS镜像文件上传到BMC。
步骤2、Web Server接收并解析请求,将新版BIOS镜像文件保存到本地目录/var/rom.ima。
步骤3、Web Client发送镜像校验请求,Web Server接收并解析镜像校验请求,并封装BIOS镜像校验指令发送给flasher进程。
步骤4、BMC获取待升级BIOS的flash的控制权。
步骤5、BMC获取rom.ima新版镜像文件的大小,并判断是否为预设值。
步骤6、若新版镜像文件的大小不等于预设值,则停止升级。
步骤7、若新版镜像文件的大小等于预设值,查找待升级BIOS flash挂载的分区。
步骤8、打开设备文件,读取指定偏移地址处的待升级BIOS镜像文件的第二BIOSID。
步骤9、读取指定偏移地址处的新版BIOS镜像文件的第一BIOS ID。
步骤10、比较第一BIOS ID和第二BIOS ID的值是否相等。
步骤11、当第一BIOS ID和第二BIOS ID的值不相等,退出升级流程,报错镜像校验失败。
步骤12、当第一BIOS ID和第二BIOS ID的值相等,说明新版镜像文件和当前机型匹配,可以继续进行升级流程,进入步骤13。
步骤13、通过新版BIOS镜像文件的头中的签名值得到第一哈希值,并根据新版BIOS镜像文件自身得到第二哈希值。
步骤14、判断第一哈希值和第二哈希值是否相等。
步骤15、当第一哈希值和第二哈希值不相等,停止升级,报错镜像校验失败。
步骤16、当第一哈希值和第二哈希值相等,验签成功,BMC释放BIOS flash控制权,并继续升级流程,进入步骤17。
步骤17、用户通过BMC Web点击升级按钮,Web Client发送BIOS升级请求,WebServer接收并解析升级请求,将升级命令发送给flasher进程。
步骤18、flasher进程接收到升级指令,将待升级BIOS flash中的旧版本BIOS固件擦除,然后将新版BIOS镜像文件写入待升级BIOS flash中。
下面对本申请实施例提供的BIOS升级装置进行介绍,下文描述的BIOS升级装置与上文描述的BIOS升级方法可相互对应参照。
图8为本申请实施例提供的BIOS升级装置的结构框图,参照图8BIOS升级装置可以包括:
第一获取模块100,用于当接收到BIOS升级命令,获取新版BIOS镜像文件的第一BIOS ID;
第二获取模块200,用于获取待升级BIOS镜像文件的第二BIOS ID;
第一判断模块300,用于判断所述第一BIOS ID和所述第二BIOS ID是否相同;
第一停止升级模块400,用于若所述第一BIOS ID和所述第二BIOS ID不相同,则停止对待升级BIOS升级;
升级模块500,用于若所述第一BIOS ID和所述第二BIOS ID相同,则利用所述新版BIOS镜像文件对待升级BIOS升级。
本实施例的BIOS升级装置用于实现前述的BIOS升级方法,因此BIOS升级装置中的具体实施方式可见前文中的BIOS升级方法的实施例部分,例如,第一获取模块100,第二获取模块200,第一判断模块300,第一停止升级模块400,升级模块500,分别用于实现上述BIOS升级方法中步骤S101,S102,S103,S104和S105,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
本申请BIOS升级装置在对BIOS进行升级时,通过获取新版BIOS镜像文件的第一BIOS ID、待升级BIOS镜像文件的第二BIOS ID,判断第一BIOS ID和第二BIOS ID是否相同,若第一BIOS ID和第二BIOS ID相同,则表明新版BIOS镜像文件与当前机型匹配,可以升级,否则表明新版BIOS镜像文件并不适用于当前机型,不能进行升级。所以,本申请有效解决了因BIOS升级过程中的版本与机型不匹配导致升级后的BIOS不可用的问题,提升BIOS升级的安全性。
可选的,当第一BIOS ID和第二BIOS ID相同,BIOS升级装置还包括:
解密模块,用于从所述新版BIOS镜像文件的签名值中解密得到第一哈希值;
处理模块,用于去掉所述新版BIOS镜像文件的头,得到处理后镜像文件;
确定模块,用于确定所述处理后镜像文件的第二哈希值;
第二判断模块,用于判断所述第一哈希值和所述第二哈希值是否相等;
第一执行模块,用于若所述第一哈希值和所述第二哈希值相等,则执行利用所述新版BIOS镜像文件对待升级BIOS升级的步骤;
第二停止升级模块,用于若所述第一哈希值和所述第二哈希值不相等,则停止对待升级BIOS升级。
本实施例中的BIOS升级装置在升级BIOS时,先对新版BIOS镜像文件的第一BIOSID、待升级BIOS镜像文件的第二BIOS ID进行判断,当第一BIOS ID和第二BIOS ID不同时,停止升级,当第一BIOS ID和第二BIOS ID相同时,进一步对新版BIOS镜像文件中的签名值进行验证。对新版BIOS镜像文件的签名值中解密得到第一哈希值和从新版镜像文件自身得到的第二哈希值进行比较,当第一哈希值和第二哈希值不相等时,停止升级,当第一哈希值和第二哈希值相等时,利用新版BIOS镜像文件对待升级BIOS进行升级,保证新版BIOS镜像文件的完整性,进一步提升BIOS升级的安全性、可靠性。
可选的,BIOS升级装置中第一获取模块100包括:
接收单元,用于当接收镜像上传请求,接收所述新版BIOS镜像文件;
解析单元,用于解析所述新版BIOS镜像文件,得到所述第一BIOS ID。
可选的,BIOS升级装置还包括:
保存模块,用于保存所述新版BIOS镜像文件。
可选的,BIOS升级装置中升级模块500包括:
接收单元,用于接收升级指令;
擦除单元,用于根据所述升级指令,擦除所述待升级BIOS的flash中的旧版BIOS固件;
写入单元,用于将所述新版BIOS镜像文件写入所述待升级BIOS的flash中。
可选的,BIOS升级装置还包括:
第一发送模块,用于发送校验失败信息至web界面;
第二发送模块,用于发送升级完成信息至web界面。
本实施例中的BIOS升级装置在停止对BIOS进行升级后,发送校验失败信息至web界面,可以及时通知用户新版BIOS镜像文件与待升级BIOS镜像文件验证失败,不能对待升级BIOS进行升级。同时,在完成对待升级BIOS的升级之后,发送升级完成信息至web界面,可以及时通知用户升级完成,使得用户及时了解升级情况。
可选的,BIOS升级装置还包括:
第三获取模块,用于获取所述新版BIOS镜像文件的大小;
第三判断模块,用于判断所述新版BIOS镜像文件的大小是否等于预设值;
第二执行模块,用于若所述新版BIOS镜像文件的大小等于所述预设值,则执行判断所述第一BIOS ID和所述第二BIOS ID的值是否相等的步骤;
第三停止升级模块,用于若所述新版BIOS镜像文件的大小不等于所述预设值,则停止对待升级BIOS升级。
本实施例中的BIOS升级装置,在对新版BIOS镜像文件的第一BIOS ID、待升级BIOS镜像文件的第二BIOS ID进行判断之前,相对新版BIOS镜像文件的大小进行判断。当新版BIOS镜像文件的大小与预设值的大小不相等时,表明新版BIOS镜像文件不能对待升级BIOS进行升级,停止升级,避免造成系统无法开机等问题;当新版BIOS镜像文件的大小与预设值的大小相等时,进一步对新版BIOS镜像文件的第一BIOS ID、待升级BIOS镜像文件的第二BIOS ID进行判断,当新版BIOS镜像文件的第一BIOS ID、待升级BIOS镜像文件的第二BIOSID不相同时,同样停止升级,当新版BIOS镜像文件的第一BIOS ID、待升级BIOS镜像文件的第二BIOS ID相同时,可以对待升级BIOS进行升级,进一步提升升级的安全性和可靠性。
下面对本申请实施例提供的BMC进行介绍,下文描述的BMC与上文描述的BIOS升级方法可相互对应参照。
请参考图9,本申请还提供一种BMC,包括:
存储器11,用于存储计算机程序;
处理器12,用于执行所述计算机程序时实现上述任一实施例所述BIOS升级方法的步骤。
本申请中的BMC在对BIOS进行升级时,通过获取新版BIOS镜像文件的第一BIOSID、待升级BIOS镜像文件的第二BIOS ID,判断第一BIOS ID和第二BIOS ID是否相同,若第一BIOS ID和第二BIOS ID相同,则表明新版BIOS镜像文件与当前机型匹配,可以升级,否则表明新版BIOS镜像文件并不适用于当前机型,不能进行升级。所以,本申请有效解决了因BIOS升级过程中的版本与机型不匹配导致升级后的BIOS不可用的问题,提升BIOS升级的安全性。
下面对本申请实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的BIOS升级方法可相互对应参照。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述BIOS升级方法的步骤。
本申请中的计算机可读存储介质在对BIOS进行升级时,通过获取新版BIOS镜像文件的第一BIOS ID、待升级BIOS镜像文件的第二BIOS ID,判断第一BIOS ID和第二BIOS ID是否相同,若第一BIOS ID和第二BIOS ID相同,则表明新版BIOS镜像文件与当前机型匹配,可以升级,否则表明新版BIOS镜像文件并不适用于当前机型,不能进行升级。所以,本申请有效解决了因BIOS升级过程中的版本与机型不匹配导致升级后的BIOS不可用的问题,提升BIOS升级的安全性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的BIOS升级方法、装置、BMC和计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种BIOS升级方法,其特征在于,包括:
当接收到BIOS升级命令,获取新版BIOS镜像文件的第一BIOS ID;
获取待升级BIOS镜像文件的第二BIOS ID;
判断所述第一BIOS ID和所述第二BIOS ID是否相同;
若所述第一BIOS ID和所述第二BIOS ID不相同,则停止对待升级BIOS升级;
若所述第一BIOS ID和所述第二BIOS ID相同,则利用所述新版BIOS镜像文件对待升级BIOS升级。
2.如权利要求1所述的BIOS升级方法,其特征在于,当所述第一BIOS ID和所述第二BIOS ID相同,还包括:
从所述新版BIOS镜像文件的签名值中解密得到第一哈希值;
去掉所述新版BIOS镜像文件的头,得到处理后镜像文件;
确定所述处理后镜像文件的第二哈希值;
判断所述第一哈希值和所述第二哈希值是否相等;
若所述第一哈希值和所述第二哈希值相等,则执行利用所述新版BIOS镜像文件对待升级BIOS升级的步骤;
若所述第一哈希值和所述第二哈希值不相等,则停止对待升级BIOS升级。
3.如权利要求1所述的BIOS升级方法,其特征在于,所述获取新版BIOS镜像文件的第一BIOS ID包括:
当接收镜像上传请求,接收所述新版BIOS镜像文件;
解析所述新版BIOS镜像文件,得到所述第一BIOS ID。
4.如权利要求3所述的BIOS升级方法,其特征在于,还包括:
保存所述新版BIOS镜像文件。
5.如权利要求1所述的BIOS升级方法,其特征在于,所述利用所述新版BIOS镜像文件对待升级BIOS升级包括:
接收升级指令;
根据所述升级指令,擦除所述待升级BIOS的flash中的旧版BIOS固件;
将所述新版BIOS镜像文件写入所述待升级BIOS的flash中。
6.如权利要求1所述的BIOS升级方法,其特征在于,所述停止对待升级BIOS升级之后,还包括:
发送校验失败信息至web界面;
所述利用所述新版BIOS镜像文件对待升级BIOS升级之后,还包括:
发送升级完成信息至web界面。
7.如权利要求1至6任一项所述的BIOS升级方法,其特征在于,所述判断所述第一BIOSID和所述第二BIOS ID的值是否相同之前,还包括:
获取所述新版BIOS镜像文件的大小;
判断所述新版BIOS镜像文件的大小是否等于预设值;
若所述新版BIOS镜像文件的大小等于所述预设值,则执行判断所述第一BIOS ID和所述第二BIOS ID的值是否相等的步骤;
若所述新版BIOS镜像文件的大小不等于所述预设值,则停止对待升级BIOS升级。
8.一种BIOS升级装置,其特征在于,包括:
第一获取模块,用于当接收到BIOS升级命令,获取新版BIOS镜像文件的第一BIOS ID;
第二获取模块,用于获取待升级BIOS镜像文件的第二BIOS ID;
第一判断模块,用于判断所述第一BIOS ID和所述第二BIOS ID是否相同;
第一停止升级模块,用于若所述第一BIOS ID和所述第二BIOS ID不相同,则停止对待升级BIOS升级;
升级模块,用于若所述第一BIOS ID和所述第二BIOS ID相同,则利用所述新版BIOS镜像文件对待升级BIOS升级。
9.一种BMC,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述BIOS升级方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述BIOS升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211293035.XA CN115576584A (zh) | 2022-10-21 | 2022-10-21 | 一种bios升级方法、装置、bmc和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211293035.XA CN115576584A (zh) | 2022-10-21 | 2022-10-21 | 一种bios升级方法、装置、bmc和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115576584A true CN115576584A (zh) | 2023-01-06 |
Family
ID=84586272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211293035.XA Pending CN115576584A (zh) | 2022-10-21 | 2022-10-21 | 一种bios升级方法、装置、bmc和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115576584A (zh) |
-
2022
- 2022-10-21 CN CN202211293035.XA patent/CN115576584A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8640118B2 (en) | Managing firmware on a system board | |
CN110045991B (zh) | 服务器的raid配置方法、装置、计算机设备和存储介质 | |
CN108509215B (zh) | 一种系统软件的更换方法、装置、终端设备及存储介质 | |
US5987625A (en) | Method and apparatus for testing network bootable devices | |
CN109739619B (zh) | 一种基于容器化应用的处理方法、装置及存储介质 | |
CN111104147A (zh) | 一种bmc升级方法、装置、终端及存储介质 | |
JP2019139373A (ja) | 情報処理システム、情報処理装置、情報処理装置のbios更新方法、及び情報処理装置のbios更新プログラム | |
US7363632B2 (en) | Clientless external storage device | |
US8949588B1 (en) | Mobile telephone as bootstrap device | |
CN114115917A (zh) | 操作系统安装方法及装置 | |
US20070157014A1 (en) | Apparatus for remote flashing of a bios memory in a data processing system | |
CN112433769A (zh) | 一种bmc启动方法、装置、计算机设备及存储介质 | |
CN106484442B (zh) | 服务器系统及更新开机映像档的方法 | |
CN116755749A (zh) | 板载mcu的升级方法、板载mcu、板卡及信息处理系统 | |
CN115576584A (zh) | 一种bios升级方法、装置、bmc和可读存储介质 | |
CN109684134B (zh) | 用于在多个设备间快速部署固件设定的方法及服务器 | |
Cisco | Miscellaneous System Tasks | |
CN114741119A (zh) | 系统的启动方法、装置、计算机设备和存储介质 | |
Cisco | Miscellaneous System Tasks | |
Cisco | Miscellaneous System Tasks | |
Cisco | Miscellaneous System Tasks | |
Cisco | Miscellaneous System Tasks | |
Cisco | Miscellaneous System Tasks | |
Cisco | Miscellaneous System Tasks | |
Cisco | Miscellaneous System Tasks |
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 |