BIOS固件文件的更新方法及装置、存储介质、电子设备与流程

文档序号:37466948发布日期:2024-03-28 18:49阅读:10来源:国知局
BIOS固件文件的更新方法及装置、存储介质、电子设备与流程

本技术实施例涉及计算机领域,具体而言,涉及一种bios固件文件的更新方法及装置、存储介质、电子设备。


背景技术:

1、在当前服务器应用的场景中,用户想要导入更新的部件驱动、修复的漏洞以及导入新的功能,通常需要更新完整的基本输入/输出系统只读存储器(basic input/outputsystem read-only memory,简称为bios rom)来实现,并且服务器会进行冷重启。服务器在冷重启过程中载入新的固件程序,整个更新过程更改范围比较大,服务器恢复使用场景耗时较长。并且,传统的bios固件文件的更新方式通常是将整个bios固件文件一次性地更新到设备中,需要将整个bios固件文件传输到设备中,占用大量的时间和带宽资源。因此,现有技术中对bios固件文件的更新方式效率较低。


技术实现思路

1、本技术实施例提供了一种bios固件文件的更新方法及装置、存储介质、电子设备,以至少解决相关技术中对bios固件文件的更新方式效率较低的问题。

2、根据本技术的一个实施例,提供了一种bios固件文件的更新方法,包括:bios确定待更新固件模块,其中,上述待更新固件模块由一个或多个bios flash fv组成,上述biosflash fv是基于对bios flash进行模块划分得到的;bmc从上述bios镜像文件中获取固件模块,其中,上述固件模块是和上述待更新固件模块对应的模块;上述bmc在获取到上述bios的spi控制权的情况下,上述bmc利用上述spi控制权将上述固件模块更新至上述待更新固件模块中,得到目标固件模块;上述bios在获取到上述spi控制权的情况下,上述bios利用上述spi控制权触发对上述目标固件模块的生效,其中,上述目标固件模块的生效方式和上述目标固件模块的属性相关,上述目标固件模块的生效方式包括以下之一:上述bios触发重启计算机系统,上述bios触发重新加载上述目标固件模块,上述bios触发热重启上述目标固件模块。

3、在一个示例性实施例中,bios确定待更新固件模块之前,上述方法还包括:上述bios将多个上述固件模块分别存储至多个上述bios flash fv中;上述bios生成多个上述固件模块对应的存储区域映射表,其中,上述存储区域映射表中包括以下至少之一:每个上述固件模块对应的存储地址,每个上述固件模块的存储空间,每个上述固件模块的用途,多个上述固件模块之间的映射关系;上述bios设置每个上述固件模块在上述bios镜像文件中对应的镜像模块,其中,每个上述固件模块与对应的上述镜像模块的文件大小、文件对应的存储地址均相同。

4、在一个示例性实施例中,bmc从上述bios镜像文件中获取固件模块,包括:上述bios向上述bmc发送更新指令,其中,上述更新指令中包括上述待更新固件模块的固件信息;上述bmc响应上述更新指令,从上述bios镜像文件中查找与上述待更新固件模块的固件信息匹配的上述固件模块。

5、在一个示例性实施例中,上述bmc在获取到上述bios的spi控制权的情况下,上述bmc利用上述spi控制权将上述固件模块更新至上述待更新固件模块中,得到目标固件模块之前,上述方法还包括:上述bmc向me发送第一控制指令,其中,第一控制指令用于获取对上述spi的第一控制权;上述bmc向上述bios发送第二控制指令,其中,上述第二控制指令用于获取对上述bios flash的第二控制权;上述bmc利用上述第一控制权和上述第二控制权控制其他设备对上述待更新固件模块的读写操作的权限。

6、在一个示例性实施例中,上述bmc在获取到上述bios的spi控制权的情况下,上述bmc利用上述spi控制权将上述固件模块更新至上述待更新固件模块中,得到目标固件模块,包括:上述bmc在获取到上述bios的spi控制权的情况下,上述bmc通过spi将上述固件模块写入至上述待更新固件模块中,以更新上述待更新固件模块,得到上述目标固件模块。

7、在一个示例性实施例中,上述bmc在获取到上述bios的spi控制权的情况下,上述bmc利用上述spi控制权将上述固件模块更新至上述待更新固件模块中,得到目标固件模块之后,上述方法还包括:上述bmc向上述bios发送第三控制指令,其中,上述第三控制指令用于指示上述bios恢复上述spi控制权;上述bmc向me发送第四控制指令,其中,第四控制指令用于指示上述me恢复上述spi控制权;上述bios和上述me利用上述spi控制权控制其他设备对上述bios flash的读写操作的权限。

8、在一个示例性实施例中,上述bios在获取到上述spi控制权的情况下,上述bios利用上述spi控制权触发对上述目标固件模块的生效,包括:上述bios根据上述目标固件模块的属性确定上述目标固件模块的生效方式,其中,上述目标固件模块的属性包括以下至少之一:上述目标固件模块的模块类型,上述目标固件模块中包括的文件内容,支持上述目标固件模块的硬件的类型,支持上述目标固件模块的软件的兼容性;上述bios基于上述生效方式使能上述目标固件模块,以生效上述目标固件模块。

9、根据本技术的另一个实施例,提供了一种bios固件文件的更新的装置,包括:第一确定模块,用于bios确定待更新固件模块,其中,上述待更新固件模块由一个或多个biosflash fv组成,上述bios flash fv是基于对bios flash进行模块划分得到的;第一获取模块,用于bmc从上述bios镜像文件中获取固件模块,其中,上述固件模块是和上述待更新固件模块对应的模块;第一更新模块,用于上述bmc在获取到上述bios的spi控制权的情况下,上述bmc利用上述spi控制权将上述固件模块更新至上述待更新固件模块中,得到目标固件模块;第一触发模块,用于上述bios在获取到上述spi控制权的情况下,上述bios利用上述spi控制权触发对上述目标固件模块的生效,其中,上述目标固件模块的生效方式和上述目标固件模块的属性相关,上述目标固件模块的生效方式包括以下之一:上述bios触发重启计算机系统,上述bios触发重新加载上述目标固件模块,上述bios触发热重启上述目标固件模块。

10、在一个示例性实施例中,上述装置还包括:第一存储模块,用于bios确定待更新固件模块之前,上述bios将多个上述固件模块分别存储至多个上述bios flash fv中;第一生成模块,用于上述bios生成多个上述固件模块对应的存储区域映射表,其中,上述存储区域映射表中包括以下至少之一:每个上述固件模块对应的存储地址,每个上述固件模块的存储空间,每个上述固件模块的用途,多个上述固件模块之间的映射关系;第一设置模块,用于上述bios设置每个上述固件模块在上述bios镜像文件中对应的镜像模块,其中,每个上述固件模块与对应的上述镜像模块的文件大小、文件对应的存储地址均相同。

11、在一个示例性实施例中,上述第一确定获取模块,包括:第一发送单元,用于上述bios向上述bmc发送更新指令,其中,上述更新指令中包括上述待更新固件模块的固件信息接收更新指令,其中,上述更新指令中包括待更新的固件信息;第一响应单元,用于上述bmc响应上述更新指令,从上述bios镜像文件中查找与上述待更新固件模块的固件信息匹配的上述固件模块响应上述更新指令,从多个上述固件模块中查找与上述待更新的固件信息匹配的固件模块,得到上述待更新固件模块。

12、在一个示例性实施例中,上述装置还包括:第一发送模块,用于上述bmc在获取到上述bios的spi控制权的情况下,上述bmc利用上述spi控制权将上述固件模块更新至上述待更新固件模块中,得到目标固件模块之前,上述bmc向me发送第一控制指令,其中,第一控制指令用于获取对上述spi的第一控制权;第二发送模块,用于上述bmc向上述bios发送第二控制指令,其中,上述第二控制指令用于获取对上述bios flash的第二控制权;第一控制模块,用于上述bmc利用上述第一控制权和上述第二控制权控制其他设备对上述待更新固件模块的读写操作的权限。

13、在一个示例性实施例中,上述第一更新模块,包括:第一写入单元,用于上述bmc在获取到上述bios的spi控制权的情况下,上述bmc通过spi将上述固件模块写入至上述待更新固件模块中,以更新上述待更新固件模块,得到上述目标固件模块。

14、在一个示例性实施例中,上述装置还包括:第二发送模块,用于上述bmc在获取到上述bios的spi控制权的情况下,上述bmc利用上述spi控制权将上述固件模块更新至上述待更新固件模块中,得到目标固件模块之后,上述bmc向上述bios发送第三控制指令,其中,上述第三控制指令用于指示上述bios恢复上述spi控制权;第三发送模块,用于上述bmc向me发送第四控制指令,其中,第四控制指令用于指示上述me恢复上述spi控制权;第一控制模块,用于上述bios和上述me利用上述spi控制权控制其他设备对上述bios flash的读写操作的权限。

15、在一个示例性实施例中,上述第一触发模块,包括:第一确定单元,用于上述bios根据上述目标固件模块的属性确定上述目标固件模块的生效方式,其中,上述目标固件模块的属性包括以下至少之一:上述目标固件模块的模块类型,上述目标固件模块中包括的文件内容,支持上述目标固件模块的硬件的类型,支持上述目标固件模块的软件的兼容性;第一生效单元,用于上述bios基于上述生效方式使能上述目标固件模块,以生效上述目标固件模块。

16、根据本技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

17、通过本技术,由于对bios flash进行模块划分得到多个bios flash fv(firmwarevolume)基本输入输出系统固件卷,可以选择性的对bios flash中待更新模块进行更新操作得到目标固件模块,并根据目标固件模块的属性确定目标固件模块的生效方式,从而使目标固件模块更新生效。并不需要将整个bios固件文件传输到设备中,也不会占用大量的时间和带宽资源。因此,可以解决相关技术中对bios固件文件的更新方式效率较低的问题,达到提高bios固件文件的更新效率的效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1