CN113934445A - 设备固件升级系统、方法、装置、计算机设备和存储介质 - Google Patents
设备固件升级系统、方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113934445A CN113934445A CN202111298704.8A CN202111298704A CN113934445A CN 113934445 A CN113934445 A CN 113934445A CN 202111298704 A CN202111298704 A CN 202111298704A CN 113934445 A CN113934445 A CN 113934445A
- Authority
- CN
- China
- Prior art keywords
- firmware
- bios
- upgrading
- file
- hard disk
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004590 computer program Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000004806 packaging method and process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
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升级文件刷新BIOS,所述BIOS升级文件中包括硬盘镜像,所述硬盘镜像中包括操作系统、固件升级程序及所述目标服务器中待升级的目标设备的固件文件;所述目标服务器用于在刷新BIOS后重启,通过所述BIOS将所述硬盘镜像解压缩至目标内存中以得到虚拟硬盘,加载所述虚拟硬盘中的所述操作系统后,在所述操作系统中运行所述固件升级程序及所述固件文件,以对所述目标设备进行固件升级。采用本系统能够提高固件升级效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种设备固件升级系统、方法、装置、计算机设备和存储介质。
背景技术
对于服务器,在出厂时会配备很多网卡,例如:硬盘控制器,NVME(Non VolatileMemory Host Controller Interface Specification,非易失性内存主机控制器接口规范)硬盘等PCIE(peripheral component interconnect express,高速串行计算机扩展总线标准)设备。
服务器在生产过程中,若PCIE设备存在漏洞,往往通过刷新PCIE设备的固件来修复。目前服务器内PCIE设备需要进行固件升级时,往往通过人工手动刷新固件,耗费大量人力成本,固件升级效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高固件升级效率的设备固件升级系统、方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种设备固件升级系统,所述系统包括控制平台及目标服务器,其中,
所述控制平台用于向所述目标服务器发送基础输入输出系统BIOS升级文件,并控制所述目标服务器根据所述BIOS升级文件刷新BIOS,所述BIOS升级文件中包括硬盘镜像,所述硬盘镜像中包括操作系统、固件升级程序及所述目标服务器中待升级的目标设备的固件文件;
所述目标服务器用于在刷新BIOS后重启,通过所述BIOS将所述硬盘镜像解压缩至目标内存中以得到虚拟硬盘,加载所述虚拟硬盘中的所述操作系统后,在所述操作系统中运行所述固件升级程序及所述固件文件,以对所述目标设备进行固件升级。
采用本申请提供的设备固件升级系统,服务器可以通过控制平台发送的BIOS升级文件中的硬盘镜像得到虚拟硬盘,进一步根据虚拟硬盘中的操作系统及固件升级程序和固件文件进行固件升级,也即可以通过BIOS实现设备固件的自动化升级,可以降低人力成本,提高固件升级效率。
在其中一个实施例中,所述目标服务器包括基板管理控制器BMC,所述目标服务器用于通过所述BMC接收所述BIOS升级文件及刷新指令,并响应于所述刷新指令根据所述BIOS升级文件刷新所述BIOS。
采用本申请提供的设备固件升级系统,在服务器内未安装任何操作系统的情况下,服务器可以通过BMC接收控制平台发送的BIOS升级文件,以基于BIOS升级文件刷新服务器的BIOS,刷新后的BIOS可以基于BIOS升级文件中的硬盘镜像得到虚拟硬盘,进一步根据虚拟硬盘中的操作系统及固件升级程序和固件文件进行固件升级,实现设备固件的自动化升级,可以降低人力成本,提高固件升级效率。
在其中一个实施例中,所述BIOS升级文件中还包括读写接口,所述操作系统用于调用所述读写接口从所述虚拟硬盘中加载所述固件升级程序及所述固件文件,以根据所述固件升级程序及所述固件文件对所述目标设备进行固件升级。
采用本申请提供的设备固件升级系统,可以通过构造读写接口,以使得加载的操作系统可以读写虚拟硬盘内,进而使得操作系统执行虚拟硬盘内的固件升级程序,以通过固件文件实现固件升级,可以实现设备固件的自动化升级,降低人力成本,提高固件升级效率。
在其中一个实施例中,所述BIOS升级文件中还包括自启动脚本,所述操作系统用于调用所述读写接口从所述虚拟硬盘中加载并运行所述自启动脚本,在运行结果表征所述目标设备需要更新的情况下,对所述目标设备进行固件升级。
采用本申请提供的设备固件升级系统,可以通过自启动脚本判断是否需要对目标服务器进行固件升级,无需人手动启动固件升级处理,可以实现设备固件的自动化升级,降低人力成本,提高固件升级效率。
第二方面,本申请提供了一种设备固件升级方法。所述方法包括:
根据控制平台发送的基础输入输出系统BIOS升级文件刷新BIOS后,通过所述BIOS将所述BIOS升级文件内打包的硬盘镜像解压缩至目标内存中,得到虚拟硬盘,所述硬盘镜像中包括操作系统、固件升级程序及所述服务器中待升级的目标设备的固件文件;
通过所述BIOS从所述虚拟硬盘中加载所述操作系统;
在所述操作系统中运行所述固件升级程序,以采用所述固件文件对所述目标设备进行升级。
采用本申请提供的设备固件升级方法,服务器可以通过控制平台发送的BIOS升级文件中的硬盘镜像得到虚拟硬盘,进一步根据虚拟硬盘中的操作系统及固件升级程序和固件文件进行固件升级,也即可以通过BIOS实现设备固件的自动化升级,可以降低人力成本,提高固件升级效率。
第三方面,本申请提供了一种设备固件升级方法。所述方法包括:
获取BIOS升级文件,所述BIOS升级文件中包括硬盘镜像,所述硬盘镜像中包括操作系统、固件升级程序及服务器中待升级的目标设备的固件文件;
向所述服务器发送所述BIOS升级文件,以使所述服务器根据所述BIOS升级文件刷新BIOS后,根据所述BIOS内的所述硬盘镜像对所述目标设备进行固件升级。
采用本申请提供的设备固件升级方法,可以通过生成硬盘镜像并基于硬盘镜像升级服务器的BIOS,使得服务器可以通过控制平台发送的BIOS升级文件中的硬盘镜像得到虚拟硬盘,进一步根据虚拟硬盘中的操作系统及固件升级程序和固件文件进行固件升级,也即可以通过BIOS实现设备固件的自动化升级,可以降低人力成本,提高固件升级效率。
第四方面,本申请提供了一种设备固件升级装置,所述装置包括:
处理模块,用于根据控制平台发送的基础输入输出系统BIOS升级文件刷新BIOS后,通过所述BIOS将所述BIOS升级文件内打包的硬盘镜像解压缩至目标内存中,得到虚拟硬盘,所述硬盘镜像中包括操作系统、固件升级程序及所述服务器中待升级的目标设备的固件文件;
加载模块,用于通过所述BIOS从所述虚拟硬盘中加载所述操作系统;
升级模块,用于在所述操作系统中运行所述固件升级程序,以采用所述固件文件对所述目标设备进行升级。
第五方面,本申请提供了一种设备固件升级装置,所述装置包括:
获取模块,用于获取BIOS升级文件,所述BIOS升级文件中包括硬盘镜像,所述硬盘镜像中包括操作系统、固件升级程序及服务器中待升级的目标设备的固件文件;
发送模块,用于向所述服务器发送所述BIOS升级文件,以使所述服务器根据所述BIOS升级文件刷新BIOS后,根据所述BIOS内的所述硬盘镜像对所述目标设备进行固件升级。
第六方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以上方法。
第七方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上方法。
第八方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以上方法。
上述设备固件升级系统、方法、装置、计算机设备和存储介质,控制平台用于向目标服务器发送基础输入输出系统BIOS升级文件,并控制目标服务器根据BIOS升级文件刷新BIOS,BIOS升级文件中包括硬盘镜像,硬盘镜像中包括操作系统、固件升级程序及目标服务器中待升级的目标设备的固件文件;目标服务器用于在刷新BIOS后重启,通过BIOS将硬盘镜像解压缩至目标内存中以得到虚拟硬盘,加载虚拟硬盘中的操作系统后,在操作系统中运行固件升级程序及固件文件,以对目标设备进行固件升级。本申请提供的设备固件升级系统、方法、装置、计算机设备和存储介质,服务器可以通过控制平台发送的BIOS升级文件中的硬盘镜像得到虚拟硬盘,进一步根据虚拟硬盘中的操作系统及固件升级程序和固件文件进行固件升级,也即可以通过BIOS实现设备固件的自动化升级,可以降低人力成本,提高固件升级效率。
附图说明
图1为一个实施例中设备固件升级系统的结构框图;
图2为一个实施例中设备固件升级方法的流程示意图;
图3为一个实施例中设备固件升级方法的流程示意图;
图4为一个实施例中设备固件升级方法的示意图;
图5为一个实施例中设备固件升级装置的结构框图;
图6为一个实施例中设备固件升级装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,本申请提供了一种设备固件升级系统,包括:控制平台102及目标服务器104,其中,
控制平台102用于向目标服务器104发送基础输入输出系统BIOS升级文件,并控制目标服务器104根据BIOS升级文件刷新BIOS,BIOS升级文件中包括硬盘镜像,硬盘镜像中包括操作系统、固件升级程序及目标服务器104中待升级的目标设备的固件文件;
目标服务器104用于在刷新BIOS后重启,通过BIOS将硬盘镜像解压缩至目标内存中以得到虚拟硬盘,加载虚拟硬盘中的操作系统后,在操作系统中运行固件升级程序及固件文件,以对目标设备进行固件升级。
本申请实施例中,控制平台102包括用于对服务器进行远程控制的设备,可以用独立的服务器或者是多个服务器组成的服务器集群来实现。目标服务器104的数量可以为一个或者多个,本公开实施例中对于目标服务器104的数量不做具体限定,也即本公开实施例可以实现批量对服务器进行固件升级。
其中,目标服务器包括尚未安装操作系统及计算机壳层shell,且存在目标设备的服务器,目标设备可以为待进行固件升级的PCIE设备,示例性的,目标设备可以包括网卡,硬盘控制器,NVME硬盘等PCIE设备。
控制平台102可以基于用于对目标设备进行升级的固件文件、目标设备对应的固件升级程序、以及操作系统(例如:DOS操作系统或者UEFI SHELL),制作一个硬盘镜像,并将该硬盘镜像打包入BIOS(Basic Input Output System,基础输入输出系统)文件中,得到BIOS升级文件。控制平台102可以向目标服务器104发送BIOS升级文件,并远程控制目标服务器104基于该BIOS升级文件刷新BIOS,也即更新BIOS固件。
目标服务器104在完成BIOS刷新后重启。重启后,可以通过刷新后的BIOS为硬盘镜像分配一块内存作为目标内存,并将硬盘镜像解压缩至该目标内存中后,将该存储了解压缩后的硬盘镜像的目标内存作为虚拟内存,也即该虚拟硬盘中包括操作系统、固件升级程序及固件文件。BIOS可以加载虚拟硬盘中的操作系统,并在该操作系统中运行该固件升级程序,以根据固件文件对目标设备进行固件升级,例如:采用固件文件覆盖掉目标设备中的原始固件文件。
上述设备固件升级系统,控制平台用于向目标服务器发送BIOS升级文件,并控制目标服务器根据BIOS升级文件刷新BIOS,BIOS升级文件中包括硬盘镜像,硬盘镜像中包括操作系统、固件升级程序及目标服务器中待升级的目标设备的固件文件;目标服务器用于在刷新BIOS后重启,通过BIOS将硬盘镜像解压缩至目标内存中以得到虚拟硬盘,加载虚拟硬盘中的操作系统后,在操作系统中运行固件升级程序及固件文件,以对目标设备进行固件升级。本申请提供的设备固件升级系统,服务器可以通过控制平台发送的BIOS升级文件中的硬盘镜像得到虚拟硬盘,进一步根据虚拟硬盘中的操作系统及固件升级程序和固件文件进行固件升级,也即可以通过BIOS实现设备固件的自动化升级,可以降低人力成本,提高固件升级效率。
在一个实施例中,目标服务器104包括基板管理控制器BMC,目标服务器104用于通过BMC接收BIOS升级文件及刷新指令,并响应于刷新指令根据BIOS升级文件刷新BIOS。
本申请实施例中,目标服务器104中可以包括BMC(Baseboard ManagementController,基板管理控制器),控制平台102可以通过目标服务器104中的BMC控制服务器104进行BIOS刷新。示例性的,目标服务器104可以通过BMC接收控制平台102发送的BIOS升级文件、以及用于指示目标服务器进行BIOS刷新的刷新指令。BMC接收到控制平台102发送的BIOS升级文件及刷新指令后,可以响应于刷新指令通过BIOS升级文件进行BIOS的刷新,也即根据BIOS升级文件对BIOS的BIOS固件进行刷新。
刷新后的BIOS可以为硬盘镜像分配一块目标内存,并将硬盘镜像解压缩至该目标内存中,得到虚拟硬盘,并基于该虚拟硬盘实现目标设备的固件升级,具体固件升级过程参照前述实施例的相关描述即可,本公开实施例对此不再赘述。
根据本申请提供的设备固件升级系统,在服务器内未安装任何操作系统的情况下,服务器可以通过BMC接收控制平台发送的BIOS升级文件,以基于BIOS升级文件刷新服务器的BIOS,刷新后的BIOS可以基于BIOS升级文件中的硬盘镜像得到虚拟硬盘,进一步根据虚拟硬盘中的操作系统及固件升级程序和固件文件进行固件升级,可以实现设备固件的自动化升级,降低人力成本,提高固件升级效率。
在一个实施例中,BIOS升级文件中还包括读写接口,操作系统用于调用读写接口从虚拟硬盘中加载固件升级程序及固件文件,以根据固件升级程序及固件文件对目标设备进行固件升级。
本申请实施例中,在制作硬盘镜像时,可以在BIOS升级文件中构建一个读写接口,该读写接口可以用于从虚拟硬盘中读写数据。示例性的,在硬盘镜像内的操作系统为DOS系统的情况下,可以hook一个int 13接口函数,该int 13接口函数可以通过串行接口SMI读写该虚拟硬盘;或者,在硬盘镜像内的操作系统为UEFI SHELL的情况下,可以重写一个UEFIDiskIO函数以从虚拟硬盘中读写数据。
在加载操作系统后,操作系统可以通过调用读写接口从虚拟硬盘中加载固件升级程序及固件文件,以在操作系统内执行固件升级程序,该固件升级程序可以通过固件文件覆盖目标设备的原始固件文件,以实现对目标设备的固件升级。
根据本申请提供的设备固件升级系统,可以通过构造读写接口,以使得加载的操作系统可以读写虚拟硬盘内,进而使得操作系统执行虚拟硬盘内的固件升级程序,以通过固件文件实现固件升级,可以实现设备固件的自动化升级,降低人力成本,提高固件升级效率。
在一个实施例中,BIOS升级文件中还包括自启动脚本,操作系统用于调用读写接口从虚拟硬盘中加载并运行自启动脚本,在运行结果表征目标设备需要更新的情况下,对目标设备进行固件升级。
本申请实施例中,在制作硬盘镜像时,可以编写自启动脚本,并与操作系统一起包入硬盘镜像内。该自启动脚本可以用于判断是否需要对目标设备进行更新,并在确定需要对目标设备进行更新的情况下,运行固件升级程序,采用固件文件对目标设备的固件进行升级。
或者,当目标服务器完成固件升级后进行了重启,在重启后可以通过自启动脚本确定是否需要对目标服务器进行固件升级,此时目标服务器已完成了固件升级,故不再需要执行固件升级程序对目标服务器进行固件升级,故可以直接退出虚拟硬盘,BIOS继续开机自检流程。
根据本申请提供的设备固件升级系统,可以通过自启动脚本判断是否需要对目标服务器进行固件升级,无需人手动启动固件升级处理,可以实现设备固件的自动化升级,降低人力成本,提高固件升级效率。
在一个实施例中,如图2所示,提供了一种设备固件升级方法,本实施例以该方法应用于服务器为例,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤202,根据控制平台发送的基础输入输出系统BIOS升级文件刷新BIOS后,通过BIOS将BIOS升级文件内打包的硬盘镜像解压缩至目标内存中,得到虚拟硬盘,硬盘镜像中包括操作系统、固件升级程序及服务器中待升级的目标设备的固件文件;
步骤204,通过BIOS从虚拟硬盘中加载操作系统;
步骤206,在操作系统中运行固件升级程序,以采用固件文件对目标设备进行升级。
本申请实施例中,控制平台可以将预先制作的硬盘镜像包入BIOS文件中,得到BIOS升级文件后,将BIOS升级文件发送至服务器。其中,硬盘镜像中可以包括操作系统、固件升级程序及服务器中待升级的目标设备的固件文件。
服务器响应于控制平台的远程控制,根据BIOS升级文件刷新BIOS后,通过BIOS为BIOS升级文件中的硬盘镜像分配内存,将硬盘镜像解压缩至内存中,得到虚拟硬盘。并从该虚拟硬盘中加载及运行操作系统,在操作系统中运行固件升级程序,以采用固件文件覆盖目标设备中的原始固件文件,实现对目标设备进行自动化的固件更新。具体固件更新过程可以参照前述实施例中的相关描述,本公开实施例中对此不做具体赘述。
本申请提供的设备固件升级方法,服务器根据控制平台发送的基础输入输出系统BIOS升级文件刷新BIOS后,通过BIOS将BIOS升级文件内打包的硬盘镜像解压缩至目标内存中,得到虚拟硬盘,硬盘镜像中包括操作系统、固件升级程序及服务器中待升级的目标设备的固件文件,并通过BIOS从虚拟硬盘中加载操作系统,以在操作系统中运行固件升级程序,以采用固件文件对目标设备进行升级。基于本申请提供的设备固件升级方法,服务器可以通过控制平台发送的BIOS升级文件中的硬盘镜像得到虚拟硬盘,进一步根据虚拟硬盘中的操作系统及固件升级程序和固件文件进行固件升级,也即可以通过BIOS实现设备固件的自动化升级,可以降低人力成本,提高固件升级效率。
在一个实施例中,如图3所示,提供了一种设备固件升级方法,本实施例以该方法应用于服务器为例,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤302,获取BIOS升级文件,BIOS升级文件中包括硬盘镜像,硬盘镜像中包括操作系统、固件升级程序及服务器中待升级的目标设备的固件文件;
步骤304,向服务器发送BIOS升级文件,以使服务器根据BIOS升级文件刷新BIOS后,根据BIOS内的硬盘镜像对目标设备进行固件升级。
本申请实施例中,可以预先生成一个硬盘镜像,该硬盘镜像中可以包括操作系统、固件升级程序及服务器中待升级的目标设备的固件文件。并将该硬盘镜像压缩打包至BIOS文件中,可以得到BIOS升级文件。可以将该BIOS升级文件发送至服务器,远程控制服务器根据BIOS升级文件更新BIOS,以使得更新后的BIOS根据硬盘镜像得到虚拟硬盘,并在虚拟硬盘内的操作系统中运行固件升级程序,以根据固件文件对目标设备进行固件升级。具体固件更新过程可以参照前述实施例中的相关描述,本公开实施例中对此不做具体赘述。
由于BIOS容量限制,故可以为虚拟硬盘设置较小的内存,例如:6M。本申请实施例以下以生成含有UEFI.SHELL的硬盘镜像为例,生成含有DOS系统的硬盘镜像可以利用硬件导向系统转移ghost技术实现,本申请在此不做过多赘述)。
具体地:
步骤A.dd if=/dev/zero of=disk.img bs=512count=12288(制作6M大镜像)
步骤B.losetup/dev/loop0 disk.img(挂载硬盘镜像到loop0设备)
步骤C.Mkfs.fat/dev/loop0(制作文件系统)
步骤D.Mount/dev/loop0/mnt(挂载loop0设备到mnt目录)
步骤E.复制shell.efi、固件升级程序、固件文件、自启动脚本到/mnt目录
步骤F.Umount/mnt
步骤G.losetup-d/dev/loop0(硬盘镜像制作完成)
需要说明的是,以上生成硬盘镜像的方式仅作为本申请实施例中生成硬盘镜像的一种方式,而不理解为使对硬盘镜像生成方式的一种限定,实际上,任一可以生成硬盘镜像的方式均在本申请实施例的适用范围内,本申请实施例不对硬盘镜像的生成方式做具体限定。
本申请提供的设备固件升级方法,控制平台获取BIOS升级文件,BIOS升级文件中包括硬盘镜像,硬盘镜像中包括操作系统、固件升级程序及服务器中待升级的目标设备的固件文件;向服务器发送BIOS升级文件,以使服务器根据BIOS升级文件刷新BIOS后,根据BIOS内的硬盘镜像对目标设备进行固件升级。基于本申请提供的设备固件升级方法,可以通过生成硬盘镜像并基于硬盘镜像升级服务器的BIOS,使得服务器可以通过控制平台发送的BIOS升级文件中的硬盘镜像得到虚拟硬盘,进一步根据虚拟硬盘中的操作系统及固件升级程序和固件文件进行固件升级,可以通过BIOS实现设备固件的自动化升级,可以降低人力成本,提高固件升级效率。
为使本领域技术人员更好的理解本申请实施例,以下通过具体示例对本申请实施例加以说明。
参照图4,编写自启动脚本,该自启动脚本用于判断当前设备是否需要更新固件,如果需要,则执行固件更新程序,根据固件文件进行固件升级。
生成硬盘镜像,硬盘镜像内打包DOS操作系统或者UEFI.SHELL、固件升级程序,固件文件,自启动脚本。将硬盘镜像压缩打包至BIOS文件中,得到BIOS升级文件。远程控制服务器根据BIOS升级文件升级BIOS后,服务器重启。
重启后,服务器中BIOS在上电自检post过程中抓取硬盘镜像,为其分配内存后,解压缩硬盘镜像到该内存中,得到虚拟硬盘。BIOS可以提供读写接口,用于对虚拟硬盘进行读写。BIOS加载虚拟硬盘中的操作系统,运行自启动脚本。自启动脚本判断目标设备固件是否需要更新,如果需要,调用固件升级程序,根据固件文件更新固件。更新完成,退出虚拟硬盘,继续BIOS流程。
本申请通过生成硬盘镜像,硬盘镜像中安装了DOS系统或者UEFI Shell、及拷贝了固件升级程序和固件文件以及自启动脚本。通过该硬盘镜像更新BIOS文件,采用更新后的BIOS文件远程刷新服务器的BIOS后,刷新后的BIOS加载硬盘镜像,采用硬盘镜像虚拟硬盘,最终BIOS启动到虚拟硬盘,执行固件升级程序进行设备固件升级,实现BIOS自动更新设备固件功能,降低产线人力投入时间和成本,提高固件更新效率。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的设备固件升级方法的设备固件升级装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个设备固件升级装置实施例中的具体限定可以参见上文中对于设备固件升级方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种设备固件升级装置500,包括:处理模块502、加载模块504和升级模块506,其中:
处理模块502,用于根据控制平台发送的基础输入输出系统BIOS升级文件刷新BIOS后,通过所述BIOS将所述BIOS升级文件内打包的硬盘镜像解压缩至目标内存中,得到虚拟硬盘,所述硬盘镜像中包括操作系统、固件升级程序及所述服务器中待升级的目标设备的固件文件;
加载模块504,用于通过所述BIOS从所述虚拟硬盘中加载所述操作系统;
升级模块506,用于在所述操作系统中运行所述固件升级程序,以采用所述固件文件对所述目标设备进行升级。
本申请提供的设备固件升级装置,服务器根据控制平台发送的基础输入输出系统BIOS升级文件刷新BIOS后,通过BIOS将BIOS升级文件内打包的硬盘镜像解压缩至目标内存中,得到虚拟硬盘,硬盘镜像中包括操作系统、固件升级程序及服务器中待升级的目标设备的固件文件,并通过BIOS从虚拟硬盘中加载操作系统,以在操作系统中运行固件升级程序,以采用固件文件对目标设备进行升级。基于本申请提供的设备固件升级装置,服务器可以通过控制平台发送的BIOS升级文件中的硬盘镜像得到虚拟硬盘,进一步根据虚拟硬盘中的操作系统及固件升级程序和固件文件进行固件升级,也即可以通过BIOS实现设备固件的自动化升级,可以降低人力成本,提高固件升级效率。
在一个实施例中,如图6所示,提供了一种设备固件升级装置600,包括:获取模块602及发送模块604;
获取模块602,用于获取BIOS升级文件,所述BIOS升级文件中包括硬盘镜像,所述硬盘镜像中包括操作系统、固件升级程序及服务器中待升级的目标设备的固件文件;
发送模块604,用于向所述服务器发送所述BIOS升级文件,以使所述服务器根据所述BIOS升级文件刷新BIOS后,根据所述BIOS内的所述硬盘镜像对所述目标设备进行固件升级。
本申请提供的设备固件升级装置,控制平台获取BIOS升级文件,BIOS升级文件中包括硬盘镜像,硬盘镜像中包括操作系统、固件升级程序及服务器中待升级的目标设备的固件文件;向服务器发送BIOS升级文件,以使服务器根据BIOS升级文件刷新BIOS后,根据BIOS内的硬盘镜像对目标设备进行固件升级。基于本申请提供的设备固件升级装置,服务器可以通过控制平台发送的BIOS升级文件中的硬盘镜像得到虚拟硬盘,进一步根据虚拟硬盘中的操作系统及固件升级程序和固件文件进行固件升级,也即可以通过BIOS实现设备固件的自动化升级,可以降低人力成本,提高固件升级效率。
上述设备固件升级装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储执行上述设备固件升级方法所需或产生的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种设备固件升级方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种设备固件升级系统,其特征在于,所述系统包括控制平台及目标服务器,其中,
所述控制平台用于向所述目标服务器发送基础输入输出系统BIOS升级文件,并控制所述目标服务器根据所述BIOS升级文件刷新BIOS,所述BIOS升级文件中包括硬盘镜像,所述硬盘镜像中包括操作系统、固件升级程序及所述目标服务器中待升级的目标设备的固件文件;
所述目标服务器用于在刷新BIOS后重启,通过所述BIOS将所述硬盘镜像解压缩至目标内存中以得到虚拟硬盘,加载所述虚拟硬盘中的所述操作系统后,在所述操作系统中运行所述固件升级程序及所述固件文件,以对所述目标设备进行固件升级。
2.根据权利要求1所述的系统,其特征在于,所述目标服务器包括基板管理控制器BMC,所述目标服务器用于通过所述BMC接收所述BIOS升级文件及刷新指令,并响应于所述刷新指令根据所述BIOS升级文件刷新所述BIOS。
3.根据权利要求1或2所述的系统,其特征在于,所述BIOS升级文件中还包括读写接口,所述操作系统用于调用所述读写接口从所述虚拟硬盘中加载所述固件升级程序及所述固件文件,以根据所述固件升级程序及所述固件文件对所述目标设备进行固件升级。
4.根据权利要求3中所述的系统,其特征在于,所述BIOS升级文件中还包括自启动脚本,所述操作系统用于调用所述读写接口从所述虚拟硬盘中加载并运行所述自启动脚本,在运行结果表征所述目标设备需要更新的情况下,对所述目标设备进行固件升级。
5.一种设备固件升级方法,其特征在于,应用于服务器,所述方法包括:
根据控制平台发送的基础输入输出系统BIOS升级文件刷新BIOS后,通过所述BIOS将所述BIOS升级文件内打包的硬盘镜像解压缩至目标内存中,得到虚拟硬盘,所述硬盘镜像中包括操作系统、固件升级程序及所述服务器中待升级的目标设备的固件文件;
通过所述BIOS从所述虚拟硬盘中加载所述操作系统;
在所述操作系统中运行所述固件升级程序,以采用所述固件文件对所述目标设备进行升级。
6.一种设备固件升级方法,其特征在于,应用于控制平台,所述方法包括:
获取BIOS升级文件,所述BIOS升级文件中包括硬盘镜像,所述硬盘镜像中包括操作系统、固件升级程序及服务器中待升级的目标设备的固件文件;
向所述服务器发送所述BIOS升级文件,以使所述服务器根据所述BIOS升级文件刷新BIOS后,根据所述BIOS内的所述硬盘镜像对所述目标设备进行固件升级。
7.一种设备固件升级装置,其特征在于,所述装置包括:
处理模块,用于根据控制平台发送的基础输入输出系统BIOS升级文件刷新BIOS后,通过所述BIOS将所述BIOS升级文件内打包的硬盘镜像解压缩至目标内存中,得到虚拟硬盘,所述硬盘镜像中包括操作系统、固件升级程序及所述服务器中待升级的目标设备的固件文件;
加载模块,用于通过所述BIOS从所述虚拟硬盘中加载所述操作系统;
升级模块,用于在所述操作系统中运行所述固件升级程序,以采用所述固件文件对所述目标设备进行升级。
8.一种设备固件升级装置,其特征在于,所述装置包括:
获取模块,用于获取BIOS升级文件,所述BIOS升级文件中包括硬盘镜像,所述硬盘镜像中包括操作系统、固件升级程序及服务器中待升级的目标设备的固件文件;
发送模块,用于向所述服务器发送所述BIOS升级文件,以使所述服务器根据所述BIOS升级文件刷新BIOS后,根据所述BIOS内的所述硬盘镜像对所述目标设备进行固件升级。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求5至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求5至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111298704.8A CN113934445B (zh) | 2021-11-04 | 2021-11-04 | 设备固件升级系统、方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111298704.8A CN113934445B (zh) | 2021-11-04 | 2021-11-04 | 设备固件升级系统、方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113934445A true CN113934445A (zh) | 2022-01-14 |
CN113934445B CN113934445B (zh) | 2024-10-18 |
Family
ID=79285645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111298704.8A Active CN113934445B (zh) | 2021-11-04 | 2021-11-04 | 设备固件升级系统、方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113934445B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816481A (zh) * | 2022-04-30 | 2022-07-29 | 苏州浪潮智能科技有限公司 | 一种固件批量升级方法、装置、设备及存储介质 |
CN115061701A (zh) * | 2022-08-16 | 2022-09-16 | 新华三信息技术有限公司 | 服务器带外安装方法和装置 |
WO2024007800A1 (zh) * | 2022-07-05 | 2024-01-11 | 中兴通讯股份有限公司 | 云终端系统升级方法、装置、云终端和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080005733A1 (en) * | 2006-06-29 | 2008-01-03 | Balaji Ramachandran | Method and apparatus for updating firmware and software |
KR20080069072A (ko) * | 2007-01-22 | 2008-07-25 | 삼성전자주식회사 | 주변기기의 펌웨어 갱신 장치 및 방법 |
CN105740012A (zh) * | 2016-01-25 | 2016-07-06 | 合肥联宝信息技术有限公司 | 一种更新电脑的bios程序的方法 |
CN113448598A (zh) * | 2021-05-28 | 2021-09-28 | 新华三信息技术有限公司 | 一种部件升级方法、装置以及服务器 |
-
2021
- 2021-11-04 CN CN202111298704.8A patent/CN113934445B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080005733A1 (en) * | 2006-06-29 | 2008-01-03 | Balaji Ramachandran | Method and apparatus for updating firmware and software |
KR20080069072A (ko) * | 2007-01-22 | 2008-07-25 | 삼성전자주식회사 | 주변기기의 펌웨어 갱신 장치 및 방법 |
CN105740012A (zh) * | 2016-01-25 | 2016-07-06 | 合肥联宝信息技术有限公司 | 一种更新电脑的bios程序的方法 |
CN113448598A (zh) * | 2021-05-28 | 2021-09-28 | 新华三信息技术有限公司 | 一种部件升级方法、装置以及服务器 |
Non-Patent Citations (1)
Title |
---|
拳头: "升级固件提高IBM硬盘的稳定性", 《电脑自做》, 30 November 2003 (2003-11-30), pages 1 - 3 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816481A (zh) * | 2022-04-30 | 2022-07-29 | 苏州浪潮智能科技有限公司 | 一种固件批量升级方法、装置、设备及存储介质 |
CN114816481B (zh) * | 2022-04-30 | 2024-10-15 | 苏州浪潮智能科技有限公司 | 一种固件批量升级方法、装置、设备及存储介质 |
WO2024007800A1 (zh) * | 2022-07-05 | 2024-01-11 | 中兴通讯股份有限公司 | 云终端系统升级方法、装置、云终端和存储介质 |
CN115061701A (zh) * | 2022-08-16 | 2022-09-16 | 新华三信息技术有限公司 | 服务器带外安装方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113934445B (zh) | 2024-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113934445B (zh) | 设备固件升级系统、方法、装置、计算机设备和存储介质 | |
CN111492347B (zh) | 用于更新容器的系统和方法 | |
US9507604B2 (en) | Boot method and boot system | |
JP2015165417A (ja) | ネットワーク化されたリカバリシステム | |
CN110825419B (zh) | 一种固件刷新方法、装置及电子设备和存储介质 | |
CN111989656A (zh) | 可配置的恢复状态 | |
CN111651304B (zh) | 基于双芯智能电表的软件恢复方法、装置和计算机设备 | |
CN117555563B (zh) | 平台镜像的构建方法、装置、计算机设备和存储介质 | |
CN111026417A (zh) | 一种嵌入式设备的升级方法及嵌入式设备 | |
TWI486877B (zh) | 韌體更新方法 | |
CN114237638A (zh) | 操作系统安装方法、装置、计算机设备和存储介质 | |
CN116841586A (zh) | 终端设备的系统升级方法、装置、电子设备及存储介质 | |
CN114756261B (zh) | 一种容器集群的升级方法、系统、电子设备及介质 | |
CN111868698A (zh) | 空闲空间直通 | |
CN115576743A (zh) | 操作系统恢复方法、装置、计算机设备和存储介质 | |
JP2011175352A (ja) | ファームウエア更新装置、通信装置、電子機器、ファームウエア更新システム、ファームウエア更新方法及びプログラム | |
CN114691180A (zh) | 处理器芯片的软件升级方法、装置、处理器和处理器系统 | |
CN114020308A (zh) | 一种摄像设备升级方法、装置、设备及介质 | |
CN114237720A (zh) | 深度相机的加载设备、装置、方法及存储介质 | |
KR20070060448A (ko) | 2단계 부트로더를 이용한 시스템 업그레이드 장치 및 방법 | |
CN112148377A (zh) | EFI Shell环境下防止SSD异常掉电的方法和装置 | |
CN111831349A (zh) | 移动装置及其数据共享方法 | |
CN115480912A (zh) | 内存频率配置方法、装置、电子设备和存储介质 | |
CN117573295B (zh) | 一种基于k8s的多集群组件管理方法、装置及计算机设备 | |
CN114281351A (zh) | 应用操作方法、电子设备及存储介质 |
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 | ||
GR01 | Patent grant |