System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及计算机领域,具体而言,涉及一种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控制权将上述固件模块更
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发送更新本文档来自技高网...
【技术保护点】
1.一种BIOS固件文件的更新方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,BIOS确定待更新固件模块之前,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,BMC从所述BIOS镜像文件中获取固件模块,包括:
4.根据权利要求1所述的方法,其特征在于,所述BMC在获取到所述BIOS的SPI控制权的情况下,所述BMC利用所述SPI控制权将所述固件模块更新至所述待更新固件模块中,得到目标固件模块之前,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述BMC在获取到所述BIOS的SPI控制权的情况下,所述BMC利用所述SPI控制权将所述固件模块更新至所述待更新固件模块中,得到目标固件模块,包括:
6.根据权利要求1或5所述的方法,其特征在于,所述BMC在获取到所述BIOS的SPI控制权的情况下,所述BMC利用所述SPI控制权将所述固件模块更新至所述待更新固件模块中,得到目标固件模块之后,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述BIOS在获取到所述
8.一种BIOS固件文件的更新装置,其特征在于,包括:
9.一种计算机可读存储介质,其特征在于,
10.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至7任一项中所述的方法的步骤。
...【技术特征摘要】
1.一种bios固件文件的更新方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,bios确定待更新固件模块之前,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,bmc从所述bios镜像文件中获取固件模块,包括:
4.根据权利要求1所述的方法,其特征在于,所述bmc在获取到所述bios的spi控制权的情况下,所述bmc利用所述spi控制权将所述固件模块更新至所述待更新固件模块中,得到目标固件模块之前,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述bmc在获取到所述bios的spi控制权的情况下,所述bmc利用所述spi控制权将所述固件模块更新至所述待更新固件模块中,得到目标固件模块,包括:
...
【专利技术属性】
技术研发人员:陈鹏,李道童,芦飞,金立江,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。