基于Setup界面的BIOS更新方法、装置、设备及可读存储介质
文献发布时间:2023-06-19 11:29:13
技术领域
本申请涉及计算机技术领域,特别涉及一种基于Setup界面的BIOS更新方法、装置、设备及可读存储介质。
背景技术
近年来,随着大数据及云计算等业务的发展,服务器逐渐普及到各行各业,客户需求逐年增加。BIOS是一组固化到计算机主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息,其主要功能是为计算机提供最底层、最直接的硬件设置和控制。
供应给客户的服务器往往因为CPU的某些硬件问题需要通过更新BIOS来弥补。目前BIOS的更新方式为登录BMC WEB界面通过固件更新按钮进行更新,或者在系统下通过安装第三方升级工具并输入相应命令进行更新。上述更新方式在BMC故障或者用户无法熟练使用第三方工具输入命令时将导致BIOS升级困难,增加服务器供应商的技术支持工作量。
发明内容
本申请的目的是提供一种基于Setup界面的BIOS更新方法、装置、设备及可读存储介质,用以解决目前BIOS的更新方案较为复杂,导致服务器供应商的技术支持工作量较大的问题。其具体方案如下:
第一方面,本申请提供了一种基于Setup界面的BIOS更新方法,包括:
在Setup界面中展示BIOS更新选项;
根据用户对所述BIOS更新选项的选择操作,通过与所述BIOS更新选项关联的callback函数调用代码中新增的目标功能模块;
利用所述目标功能模块读取BIOS更新文件,确定BIOS FLASH更新区域,进而将所述BIOS更新文件写入所述BIOS FLASH更新区域。
优选的,在所述在Setup界面中展示BIOS更新选项之前,还包括:
在代码中增加目标功能模块;
在Setup界面中设置BIOS更新选项,并为所述BIOS更新选项关联callback函数。
优选的,所述BIOS更新选项包括更新BIOS,还包括更新BIOS及ME和/或更新时保留PHY参数。
优选的,在所述BIOS更新选项为更新BIOS时,所述BIOS更新选项还包括以下子选项:更新boot_BLOCK,更新Main_BLOCK,更新NV_BLOCK,更新EC_BLOCK。
优选的,所述将所述BIOS更新文件写入所述BIOS FLASH更新区域,包括:
依次确定所述BIOS FLASH更新区域中的子更新区域,将相应的标志位置起,进而将所述BIOS更新文件写入所述子更新区域。
优选的,所述将所述BIOS更新文件写入所述BIOS FLASH更新区域,包括:
对所述BIOS更新文件进行安全校验;
若校验通过,则将所述BIOS更新文件写入所述BIOS FLASH更新区域。
优选的,所述目标功能模块基于UEFI shell实现。
第二方面,本申请提供了一种基于Setup界面的BIOS更新装置,包括:
选项展示模块:用于在Setup界面中展示BIOS更新选项;
功能调用模块:用于根据用户对所述BIOS更新选项的选择操作,通过与所述BIOS更新选项关联的callback函数调用代码中新增的目标功能模块;
文件写入模块:用于利用所述目标功能模块读取BIOS更新文件,确定BIOS FLASH更新区域,进而将所述BIOS更新文件写入所述BIOS FLASH更新区域。
第三方面,本申请提供了一种基于Setup界面的BIOS更新设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上所述的基于Setup界面的BIOS更新方法。
第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的基于Setup界面的BIOS更新方法。
本申请所提供的一种基于Setup界面的BIOS更新方法,包括:在Setup界面中展示BIOS更新选项;根据用户对BIOS更新选项的选择操作,通过与BIOS更新选项关联的callback函数调用代码中新增的目标功能模块;利用目标功能模块读取BIOS更新文件,确定BIOS FLASH更新区域,进而将BIOS更新文件写入BIOS FLASH更新区域。可见,该方法在BIOS Setup界面中增加了BIOS更新选项,在用户选择BIOS更新选项之后,通过与BIOS更新选项关联的callback函数调用代码中新增的目标功能模块,进而利用目标功能模块实现BIOS更新过程。最终基于Setup界面中的BIOS更新选项实现一键更新,不需要用户输入任何命令,也无需依赖第三方软件或工具即可完成BIOS更新过程,方便服务器客户独立进行BIOS升级操作,降低服务器供应商的技术支持工作量。
此外,本申请还提供了一种基于Setup界面的BIOS更新装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应,这里不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请所提供的一种基于Setup界面的BIOS更新方法实施例一的流程图;
图2为本申请所提供的一种基于Setup界面的BIOS更新方法实施例二的流程图;
图3为本申请所提供的一种基于Setup界面的BIOS更新装置实施例的功能框图;
图4为本申请所提供的一种基于Setup界面的BIOS更新设备实施例的结构示意图。
具体实施方式
本申请的核心是提供一种基于Setup界面的BIOS更新方法、装置、设备及可读存储介质,基于Setup界面中新增的BIOS更新选项实现一键更新BIOS,不需要用户输入任何命令,也无需依赖第三方软件或工具,降低服务器供应商的技术支持工作量。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面对本申请提供的基于Setup界面的BIOS更新方法实施例一进行介绍,参见图1,实施例一包括:
S101、在Setup界面中展示BIOS更新选项;
S102、根据用户对BIOS更新选项的选择操作,通过与BIOS更新选项关联的callback函数调用代码中新增的目标功能模块;
S103、利用目标功能模块读取BIOS更新文件,确定BIOS FLASH更新区域,进而将BIOS更新文件写入BIOS FLASH更新区域。
上述BIOS全称Basic Input Output System,即基本输入输出系统。Setup界面是指服务器BIOS配置界面。
本实施例预先在代码中增加目标功能模块,该目标功能模块用于实现BIOS更新过程。在Setup界面中增加BIOS更新选项,建立BIOS更新选项与目标功能模块之间的管理,以便于用户在选择BIOS更新选项时能够自动调用目标功能模块。具体的,本实施例将callback函数与BIOS更新选项关联起来,当用户选择BIOS更新选项时采用callback函数的方式调用目标功能模块。
作为一种具体的实施方式,本实施例基于UEFI(Unified Extensible FirmwareInterface,通用可扩展固件接口)shell实现上述目标功能模块。
进一步的,本实施例中BIOS更新选项可以包括更新BIOS,还包括可以更新BIOS及ME(Management Engine),和/或更新时保留PHY参数,以适应不同的情景需求。
当用户选择BIOS更新选项中的更新BIOS或更新BIOS及ME时,考虑到BIOS镜像具体分为以下子区域:boot_BLOCK,Main_BLOCK,NV_BLOCK,EC_BLOCK,因此,BIOS更新选项还可以进一步包括以下子选项:更新boot_BLOCK,更新Main_BLOCK,更新NV_BLOCK,更新EC_BLOCK。具体可以默认全部更新。
相应的,在更新BIOS时,首先根据上述子选项的选择结果确定BIOS FLASH更新区域中的子更新区域,将相应的标志位置起,进而将BIOS更新文件写入该子更新区域。
此外,为保证安全性,在获取到BIOS更新文件之后,可以对BIOS更新文件进行安全校验;当且仅当校验通过,将BIOS更新文件写入BIOS FLASH更新区域。
本实施例所提供的基于Setup界面的BIOS更新方法,在BIOS Setup界面中增加了BIOS更新选项,在用户选择BIOS更新选项之后,通过与BIOS更新选项关联的callback函数调用代码中新增的目标功能模块,进而利用目标功能模块实现BIOS更新过程。最终基于Setup界面中的BIOS更新选项实现一键更新,不需要用户输入任何命令,也无需依赖第三方软件或工具即可完成BIOS更新过程,方便服务器客户独立进行BIOS升级操作,降低服务器供应商的技术支持工作量。
下面开始详细介绍本申请提供的基于Setup界面的BIOS更新方法实施例二,实施例二基于前述实施例一实现,并在实施例一的基础上进行了一定程度上的拓展。
参见图2,实施例二具体包括:
S201、设置Setup界面中的BIOS更新选项。
上述BIOS更新选项具体包括:(1)BIOS updata,仅更新BIOS区域;(2)ME updata:更新BIOS及ME;(3)Save PHY Configuration:升级时保留PHY参数。
S201、在用户选择BIOS更新选项之后,通过callback函数调用代码中预设的目标功能模块,触发SMI。
上述SMI,全称System Management Interrupt,即系统管理中断。本实施例将目标功能模块记为AFU PROTOCAL。
S203、获取外设中预存的BIOS更新文件及BIOS FLASH更新区域的地址及大小。
S204、对BIOS更新文件进行安全校验,并将其加载到内存;
S205、选择ROM section,并将其标志位置起。
上述ROM section即前文所指的子更新区域,具体包括:
bit 0:boot_BLOCK;
bit1:Main_BLOCK;
Bit2:NV_BLOCK;
Bit3:EC_BLOCK。
S206、BIOS FLASH写入,写入完成后自动重启。
综上,本实施例提供的基于Setup界面的BIOS更新方法,在代码中增加基于UEFIshell的目标功能模块,并通过BIOS SETUP界面中的BIOS更新选项对其进行调用,实现在SETUP界面中通过选择BIOS更新选项一键更新BIOS的目的。可见,本实施例只需在外设中准备BIOS更新文件,即可通过SETUP界面中的BIOS更新选项进行一键更新,不需要输入任何命令,也无需依赖第三方软件或工具即可完成BIOS的更新,具备便捷、迅速、独立性强的特点,方便服务器客户独立进行BIOS升级操作,极大的节省技术支持的工作量。有效地提升研发效率和问题处理速度。
下面对本申请实施例提供的基于Setup界面的BIOS更新装置进行介绍,下文描述的基于Setup界面的BIOS更新装置与上文描述的基于Setup界面的BIOS更新方法可相互对应参照。
如图3所示,本实施例基于Setup界面的BIOS更新装置,包括:
选项展示模块301:用于在Setup界面中展示BIOS更新选项;
功能调用模块302:用于根据用户对所述BIOS更新选项的选择操作,通过与所述BIOS更新选项关联的callback函数调用代码中新增的目标功能模块;
文件写入模块303:用于利用所述目标功能模块读取BIOS更新文件,确定BIOSFLASH更新区域,进而将所述BIOS更新文件写入所述BIOS FLASH更新区域。
本实施例的基于Setup界面的BIOS更新装置用于实现前述的基于Setup界面的BIOS更新方法,因此该装置中的具体实施方式可见前文中的基于Setup界面的BIOS更新方法的实施例部分,例如,选项展示模块301、功能调用模块302、文件写入模块303,分别用于实现上述基于Setup界面的BIOS更新方法中步骤S101,S102,S103。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的基于Setup界面的BIOS更新装置用于实现前述的基于Setup界面的BIOS更新方法,因此其作用与上述方法的作用相对应,这里不再赘述。
此外,本申请还提供了一种基于Setup界面的BIOS更新设备,如图4所示,包括:
存储器100:用于存储计算机程序;
处理器200:用于执行所述计算机程序,以实现如上文所述的基于Setup界面的BIOS更新方法。
最后,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上文所述的基于Setup界面的BIOS更新方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
- 基于Setup界面的BIOS更新方法、装置、设备及可读存储介质
- 一种BIOS setup中PCIE丝印信息更新方法、装置、受控终端及存储介质