CN109684134B - 用于在多个设备间快速部署固件设定的方法及服务器 - Google Patents

用于在多个设备间快速部署固件设定的方法及服务器 Download PDF

Info

Publication number
CN109684134B
CN109684134B CN201811572758.7A CN201811572758A CN109684134B CN 109684134 B CN109684134 B CN 109684134B CN 201811572758 A CN201811572758 A CN 201811572758A CN 109684134 B CN109684134 B CN 109684134B
Authority
CN
China
Prior art keywords
firmware
setting information
server
firmware setting
information
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.)
Active
Application number
CN201811572758.7A
Other languages
English (en)
Other versions
CN109684134A (zh
Inventor
谢明伯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201811572758.7A priority Critical patent/CN109684134B/zh
Publication of CN109684134A publication Critical patent/CN109684134A/zh
Application granted granted Critical
Publication of CN109684134B publication Critical patent/CN109684134B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Abstract

本申请公开了一种用于在多个设备间快速部署固件设定的方法及服务器,该方法包括:第二设备接收来自第一设备的关于第一设备的第一固件设定信息的通知,第一固件设定信息存储在第一设备的基板管理控制器中;第二设备响应于通知判断是否重新启动;如果第二设备确定重新启动,则利用从第一设备接收的第一固件设定信息生成用于第二设备的第二固件设定信息。由于第二设备可以从第一设备的基板管理控制器中获取存储的第一固件设定信息,这使得获取方式更为灵活,而且可以随时对第二设备的固件进行设定。此外,由于第二设备无需对第一固件设定信息进行大的更改或者根本无需做修改,因此可以快速的对其固件进行设定,有效提高设备部署效率。

Description

用于在多个设备间快速部署固件设定的方法及服务器
技术领域
本申请涉及电子技术领域,特别涉及一种用于在多个设备间快速部署固件设定的方法及服务器。
背景技术
在用户场景上,常常需要将对一台服务器的固件的设定套入其他数十台甚至数百台相同的机型上,例如,对一台服务器的固件(如服务器的 BIOS,即基本输入输出系统)进行设定,将对该台服务器的固件的设定套入其他相同的服务器中。
现有的技术方案中,可以通过用来设定及维护服务器的集成工具-OneCli(OneClick一键设定)工具对多个服务器的BMC(基板管理控制器)进行设定,固件在POST(PowerOn Self Test,上电自检)的后期通过 UCM(unified configuration manager统一配置管理器)的功能来检测对BMC 的设定有没有变化,如果有变化的话,则同步后重启系统。该方案的缺点是,需要等很长的时间,只能在到达上电自检(POST)后期时才检查,才会完成对多个服务器的部署。
另外,还可以利用AMISDEDOS/AMISDEWIN工具(美国公司用于在 DOS系统下存取固件设定的工具/美国公司用于在WIN系统下存取固件设定的工具)在操作系统下直接通过固件把设定值存储在NVRAM (non-volatile RAM非易失性随机访问存储器)。该方案的缺点是, AMISDEDOS/AMISDEWIN工具必须在runtime(运行时刻)环境下使用,然后操作系统重启后可以利用NVRAM中的该设定值。
上述的方案中,均不能在上电自检整个阶段来快速的部署服务器,效率低下。
申请内容
本申请实施例的目的在于提供一种用于在多个设备间快速部署固件设定的方法及服务器,该方法及相应服务器能够在上电自检的整个阶段快速部署,方便对服务器进行部署。
为了解决上述技术问题,本申请的实施例采用了如下技术方案:一种用于在多个设备间快速部署固件设定的方法,包括:
第二设备接收来自第一设备的关于所述第一设备的第一固件设定信息的通知,所述第一固件设定信息存储在所述第一设备的基板管理控制器中;
所述第二设备响应于所述通知判断是否重新启动;
如果所述第二设备确定重新启动,则利用从所述第一设备接收的所述第一固件设定信息生成用于所述第二设备的第二固件设定信息。
作为优选,所述的第二设备接收来自第一设备的关于所述第一设备的第一固件设定信息的通知包括:
通过所述第二设备的基板管理控制器或预设工具从所述第一设备的基板管理控制器接收所述第一固件设定信息,并将相应的接收信息发送给所述第二设备的固件;
将接收的第一固件设定信息存储在预设存储空间中。
作为优选,所述的利用从所述第一设备接收的所述第一固件设定信息生成用于所述第二设备的第二固件设定信息包括:
当所述第二设备的固件在进行定点检查过程中检测到确定重启信息时,在所述第二设备的固件的第一启动阶段读取所述第一固件设定信息;
在所述第二设备的固件的第二启动阶段,将所述第一固件设定信息写入所述第二设备的固件中;
根据所述第一固件设定信息生成所述第二固件设定信息。
作为优选,所述方法还包括:
当所述第二设备的固件获取到所述第二固件设定信息后发送反馈信息至所述第二设备的基板管理控制器,以避免再次接收到所述通知。
作为优选,所述第一固件设定信息包括固件版本信息。
作为优选,所述第一固件设定信息包括所述第一设备的固件的初始设定数据与当前设定数据之间的差异数据。
本申请实施例还提供了一种服务器,包括:
通信模块,其配置为接收来自第一设备的关于所述第一设备的第一固件设定信息的通知,所述第一固件设定信息存储在所述第一设备的基板管理控制器中;
处理模块,其配置为响应于所述通知判断是否重新启动,如果所述服务器确定重新启动,则利用从所述第一设备接收的所述第一固件设定信息生成用于所述服务器的第二固件设定信息。
作为优选,所述通信模块进一步配置为:
通过所述服务器的基板管理控制器或预设工具从所述第一设备的基板管理控制器接收所述第一固件设定信息,并将相应的接收信息发送给所述服务器的固件;
将接收的第一固件设定信息存储在预设存储空间中。
作为优选,所述处理模块进一步配置为:
当所述服务器的固件在进行定点检查过程中检测到确定重启信息时,在所述服务器的固件的第一启动阶段读取所述第一固件设定信息;
在所述服务器的固件的第二启动阶段,将所述第一固件设定信息写入所述服务器的固件中;
根据所述第一固件设定信息生成所述第二固件设定信息。
作为优选,所述第一固件设定信息包括所述第一设备的固件的初始设定数据与当前设定数据之间的差异数据。
本申请实施例的有益效果在于:由于第二设备可以从第一设备的基板管理控制器中获取存储的第一固件设定信息,这使得获取方式更为灵活,可以通过网络或其他中介完成获取操作,也并不是必须在第二设备的特定时间段内完成(如无需被限定在第二设备的上电自检的后期),而是可以在任何时间,随时对第二设备的固件进行设定,设定方式更为灵活。此外,由于第二设备无需对第一固件设定信息进行大的更改或者根本无需做任何数据修改,因此第二设备可以基于第一固件设定信息而快速的对其固件进行设定,有效提高设备部署效率,特别是在第二设备的数量众多时更加能够体现出上述优势。
附图说明
图1示出了本申请实施例的用于在多个设备间快速部署固件设定的方法的流程图;
图2示出了本申请实施例的图1中步骤S1的一个具体实施例的流程图;
图3示出了本申请实施例的图1中步骤S3的一个具体实施例的流程图;
图4示出了本申请实施例的服务器的结构示意图。
具体实施方式
此处参考附图描述本申请的各种方案以及特征。
应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。
当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本申请的具体实施例;然而,应当理解,所公开的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所公开的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本申请的相同或不同实施例中的一个或多个。
本申请实施例提供了一种用于在多个设备间快速部署固件设定的方法,上述设备可以是服务器等电子设备,该设备具有固件(如该设备的基本输入输出系统,BIOS),如图1所示,该方法包括以下步骤:
S1,第二设备接收来自第一设备的关于第一设备的第一固件设定信息的通知,第一固件设定信息存储在第一设备的基板管理控制器中。第一固件设定信息为针对第一设备的相应固件的设定信息,以供第一设备使用,其可以包括第一设备所使用的担任着整个系统基础的、底层工作的软件或数据,如当第一设备是第一服务器,其固件为BIOS时,该第一固件设定信息是该第一服务器最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息,其主要功能是为第一服务器提供底层的、直接的硬件设置和控制。该第一固件设定信息可以存储在第一设备的基板管理控制器(BMC)中,以便第一设备可以灵活的将该第一固件设定信息发送至第二设备,而无需第一设备再重新从其固件中获取该第一固件设定信息,并再利用BMC配合进行发送。第二设备为不同于第一设备的电子设备,如第二设备是与第一服务器相同类型的第二服务器,其也具有固件而且该第二设备的固件可以使用第一设备的固件的第一固件设定信息,在第二设备的固件需要更新或者需要重新设定时,可以接收第一设备发出的第一固件设定信息的通知,以便对第二设备的固件进行更新或者重新设定。
S2,第二设备响应于通知判断是否重新启动。第二设备接收到通知后,可以依据用户的设定规定而判断是否重新启动系统,如预设规定可以是每当接收到通知后便立即重新启动,或者预设规定可以是在接收到通知后,判断是否有重要任务正在运行,如果有则等待运行完毕后在进行重新启动。在一个实施例中,第二设备可以基于其操作系统利用相应的预设软件或驱动来响应上述通知,并判断是否需要将第二设备进行重新启动。
S3,如果第二设备确定重新启动,则利用从第一设备接收的第一固件设定信息生成用于第二设备的第二固件设定信息。具体来说,第二设备可以直接利用第一固件设定信息,或者利用第一固件设定信息的主要数据来生成第二固件设定信息,如第二设备与第一设备为同一类型或相似类型的服务器,则第二设备可以利用第一设备的第一固件设定信息生成自己的固件所需要的第二固件设定信息(当然可以根据实际需要不对第一固件设定信息进行更改,也可以对第一固件设定信息进行局部的更改)。举例说明,一个实施例中,第二设备可以通过网络或其他媒介直接过间接的接收该第一固件设定信息,并将获取到的第一固件设定信息直接写入到第二设备的固件中使之成为第二固件设定信息;另一个实施例中,当第二设备获取到第一固件设定信息后,对第一固件设定信息进行了局部的数据修改,如仅对第一固件设定信息进行打补丁操作,或者仅根据更新前后的差异信息对部分内容进行修改,或者仅修改写入日期便形成第二固件设定信息等。
本方法中,由于第二设备可以从第一设备的基板管理控制器中获取存储的第一固件设定信息,这使得获取方式更为灵活,可以通过网络或其他中介完成获取操作,也并不是必须在第二设备的特定时间段内完成(如无需被限定在第二设备的上电自检的后期)。而是可以在任何时间,随时对第二设备的固件进行设定,设定方式更为灵活。此外,由于第二设备无需对第一固件设定信息进行大的更改或者根本无需做任何数据修改,因此第二设备可以基于第一固件设定信息而快速的对其固件进行设定,有效提高设备部署效率,特别是在第二设备的数量众多时更加能够体现出上述优势。
在本申请的一个实施例中,如图2所示,所述的第二设备接收来自第一设备的关于第一设备的第一固件设定信息的通知的步骤包括以下步骤:
S11,通过第二设备的基板管理控制器或预设工具从第一设备的基板管理控制器接收第一固件设定信息,并将相应的接收信息发送给第二设备的固件。基板管理控制器是一个专门的服务处理机,他可以对设备进行固件升级、查看设备硬件等操作。而预设工具可以是用户自定义工具能够用于将第一设备的第一固件设定信息通过直接或间接的发送给第二设备。本实施中,由于基板管理控制器或预设工具可以不受时间段的限制并且具有灵活传送数据的优势,因此第二设备可以在任何时间方便的获取到第一固件设定信息,此外,第二设备的基板管理控制器或预设工具可以将相应的接收信息发送给第二设备的固件(如BIOS),以使该固件获知已经获取到了第一固件设定信息,该固件可以进行随后的设定操作,如第二设备的BIOS 可以通知操作系统对第二设备进行重启操作。在另一个实施例中,第二设备的基板管理控制器或预设工具还可以将上述的接收信息发送给其他预设软件,如Runtime等软件,使其对第二设备进行重启或其他操作。
S12,将接收的第一固件设定信息存储在预设存储空间中。预设存储空间可以是用户根据实际使用需要来设定的一个或多个空间。在一个实施例中,该预设存储空间可以是至少以下一种:第二设备的基板管理控制器的存储空间,第二设备的BIOS的NVRAM,或者是与第二设备连接的外部空间。至于选择哪种存储形式(包括混合存储形式),可以根据需要设定在此不做限定。
在本申请的一个实施例中,如图3所示,所述的利用从第一设备接收的第一固件设定信息生成用于第二设备的第二固件设定信息的步骤包括以下步骤:
S31,当第二设备的固件在进行定点检查过程中检测到确定重启信息时,在第二设备的固件的第一启动阶段读取第一固件设定信息;
S32,在第二设备的固件的第二启动阶段,将第一固件设定信息写入第二设备的固件中;
S33,根据第一固件设定信息生成第二固件设定信息。
具体来说,第二设备确定要重新启动后,会对相关联的数据或标识位等信息进行更改。第二设备的固件要对上述信息进行定点检查,即逐步查看该固件所关联的数据、进程或标识位是否被修改,如果检测到上述信息中具有确定重启信息(该确定重启信息可用于表征需要第二设备立即重启),则会驱使第二设备立即重启。举例说明,当第二设备为服务器,其固件为BIOS时,BIOS在做定点检查时,如在PEI NVRAM Service Ready以后发现BIOS又被调用过,则会立即驱使第二设备重启。在第二设备的固件的第一启动阶段读取第一固件设定信息,即可以在第一启动阶段从预设存储空间中读取第一固件设定信息,在一个实施例中,第一固件设定信息包括第一设备的固件的初始设定数据与当前设定数据之间的差异数据,初始设定数据被存储到了第二设备的BIOS的NVRAM中,差异数据被存储到了第二设备的BMC中。读取第一固件设定信息时,可分别从上述两个存储空间读取初始设定数据和差异数据。在第二设备的固件的第二启动阶段,将初始设定数据和差异数据写入到第二设备的固件中,并根据差异数据对初始设定数据进行更改,当然如果没有差异数据即不需要对初始设定数据进行更改,便能够形成适用于第二设备的固件的第二固件设定信息。例如可以在BIOS的DXE阶段或者BDS阶段(在DXE/BDS NVRAM Service Ready以后),将差异数据从BMC中抓取到BIOS的NVRAM中,并根据差异数据对存储到BIOS的NVRAM中的初始设定数据进行更改,以形成第二固件设定信息。
在本申请的一个实施例中,所述方法还包括以下步骤:当第二设备的固件获取到第二固件设定信息后发送反馈信息至第二设备的基板管理控制器,以避免再次接收到通知。
具体来说,第二设备的固件获取到第二固件设定信息后,在一定时间段内便无需再次对第二固件设定信息进行更新或其他修改操作,第二设备的固件则将表征已经获取了第二固件设定信息的反馈信息发送给基板管理控制器(BMC),使得第二设备的基板管理控制器不再向第一设备的基板管理控制器获取第一固件设定信息,或者使得第二设备的基板管理控制器通知预设工具不再向第一设备的基板管理控制器获取第一固件设定信息。避免了对第二设备的固件做出相同的更新或写入操作,节省了系统资源。
在本申请的一个实施例中,第一固件设定信息包括固件版本信息。举例说明,当第一设备和第二设备是服务器,相应的固件为其各自的BIOS 时,第一固件设定信息包括BIOS的版本信息,这样便使用户能够根据版本信息获知第一固件设定信息是否满足自己的需要,以便决定是否对第二设备的BIOS进行数据更新或者写入的操作,避免了用户在不知情的情况下对第二设备的BIOS进行降低版本的数据操作。
此外,在本申请的一个实施例中,第一固件设定信息包括第一设备的固件的初始设定数据与当前设定数据之间的差异数据。结合上述内容进行说明,初始设定数据为第一设备的固件原始使用的数据,如第一设备的 BIOS的1.0版本的第一数据,而差异数据是第二设备的固件需要写入或更新的数据,如第二设备的BIOS的2.0版本的第二数据,而差异数据即为第一数据与第二数据之间的差异数据,使得通过该差异数据和初始设定数据便能够得到上述的第二数据,即第二固件设定信息,从而提高了生成第二固件设定信息的效率。
本申请实施例还提供了一种服务器,该服务器具有固件,如基本输入输出系统(BIOS),如图4所示,该服务器包括:
通信模块,其配置为接收来自第一设备的关于第一设备的第一固件设定信息的通知,所述第一固件设定信息存储在所述第一设备的基板管理控制器中。第一固件设定信息为针对第一设备的相应固件的设定信息,以供第一设备使用,其可以包括第一设备所使用的担任着整个系统基础的、底层工作的软件或数据,如当第一设备的固件为BIOS时,该第一固件设定信息是该第一设备最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息,其主要功能是为第一设备提供底层的、直接的硬件设置和控制。该第一固件设定信息可以存储在第一设备的基板管理控制器(BMC)中,以便第一设备可以灵活的将该第一固件设定信息发送至服务器,而无需第一设备再重新从其固件中获取该第一固件设定信息,并再利用BMC配合进行发送。服务器为不同于第一设备的电子设备,如服务器是与第一设备相同类型的设备,其也具有固件而且该服务器的固件可以使用第一设备的固件的第一固件设定信息,在服务器的固件需要更新或者需要重新设定时,通信模块可以接收第一设备发出的第一固件设定信息的通知,以便对服务器的固件进行更新或者重新设定。
处理模块,其配置为响应于通知判断是否重新启动,如果服务器确定重新启动,则利用从第一设备接收的第一固件设定信息生成用于服务器的第二固件设定信息。服务器接收到通知后,处理模块可以依据用户的设定规定而判断是否重新启动系统,如预设规定可以是每当接收到通知后便立即重新启动,或者预设规定可以是在接收到通知后,判断是否有重要任务正在运行,如果有则等待运行完毕后在进行重新启动。在一个实施例中,服务器可以基于其操作系统利用相应的预设软件或驱动来响应上述通知,并判断是否需要将服务器进行重新启动。处理模块可以直接利用第一固件设定信息,或者利用第一固件设定信息的主要数据来生成第二固件设定信息,如服务器与第一设备为同一类型或相似类型的服务器,则处理模块可以利用第一设备的第一固件设定信息生成自己的固件所需要的第二固件设定信息(当然可以根据实际需要不对第一固件设定信息进行更改,也可以对第一固件设定信息进行局部的更改)。举例说明,一个实施例中,服务器可以通过网络或其他媒介直接过间接的接收该第一固件设定信息,并将获取到的第一固件设定信息直接写入到服务器的固件中使之成为第二固件设定信息;另一个实施例中,当服务器获取到第一固件设定信息后,对第一固件设定信息进行了局部的数据修改,如仅对第一固件设定信息进行打补丁操作,或者仅根据更新前后的差异信息对部分内容进行修改,或者仅修改写入日期便形成第二固件设定信息等。
对于本实施例中的该服务器,由于服务器可以从第一设备的基板管理控制器中获取存储的第一固件设定信息,这使得获取方式更为灵活,可以通过网络或其他中介完成获取操作,也并不是必须在服务器的特定时间段内完成(如无需被限定在服务器的上电自检的后期)。而是可以在任何时间,随时对服务器的固件进行设定,设定方式更为灵活。此外,由于服务器无需对第一固件设定信息进行大的更改或者根本无需做任何数据修改,因此服务器可以基于第一固件设定信息而快速的对其固件进行设定,有效提高设备部署效率,特别是在服务器的数量众多时更加能够体现出上述优势。
在本申请的一个实施例中,通信模块进一步配置为:通过服务器的基板管理控制器或预设工具从第一设备的基板管理控制器接收第一固件设定信息,并将相应的接收信息发送给服务器的固件;将接收的第一固件设定信息存储在预设存储空间中。
基板管理控制器是一个专门的服务处理机,他可以对设备进行固件升级、查看设备硬件等操作。而预设工具可以是用户自定义工具能够用于将第一设备的第一固件设定信息通过直接或间接的发送给服务器。本实施中,由于基板管理控制器或预设工具可以不受时间段的限制并且具有灵活传送数据的优势,因此通信模块可以在任何时间方便的获取到第一固件设定信息,此外,服务器的基板管理控制器或预设工具可以将相应的接收信息发送给服务器的固件(如BIOS),以使该固件获知已经获取到了第一固件设定信息,该固件可以进行随后的设定操作,如服务器的BIOS可以通知操作系统对服务器进行重启操作。在另一个实施例中,通信模块还可以通过基板管理控制器或预设工具将上述的接收信息发送给其他预设软件,如 Runtime等软件,使其对服务器进行重启或其他操作。
预设存储空间可以是用户根据实际使用需要来设定的一个或多个空间。在一个实施例中,该预设存储空间可以是至少以下一种:服务器的基板管理控制器的存储空间,服务器的BIOS的NVRAM,或者是与服务器连接的外部空间。至于选择哪种存储形式(包括混合存储形式),可以根据需要设定在此不做限定。
在本申请的一个实施例中,处理模块进一步配置为:
当服务器的固件在进行定点检查过程中检测到确定重启信息时,在服务器的固件的第一启动阶段读取第一固件设定信息;
在服务器的固件的第二启动阶段,将第一固件设定信息写入服务器的固件中;
根据第一固件设定信息生成第二固件设定信息。
具体来说,服务器确定要重新启动后,会对相关联的数据或标识位等信息进行更改。服务器的固件要对上述信息进行定点检查,即逐步查看该固件所关联的数据、进程或标识位是否被修改,如果检测到上述信息中具有确定重启信息(该确定重启信息可用于表征需要服务器立即重启),则处理模块会驱使服务器立即重启。举例说明,当服务器固件为BIOS时,BIOS 在做定点检查时,如在PEI NVRAM Service Ready以后发现BIOS又被调用过,则处理模块会立即驱使服务器重启。在服务器的固件的第一启动阶段读取第一固件设定信息,即可以在第一启动阶段从预设存储空间中读取第一固件设定信息,在一个实施例中,第一固件设定信息包括第一设备的固件的初始设定数据与当前设定数据之间的差异数据,初始设定数据被存储到了服务器的BIOS的NVRAM中,差异数据被存储到了服务器的BMC 中。处理模块读取第一固件设定信息时,可分别从上述两个存储空间读取初始设定数据和差异数据。处理模块在服务器的固件的第二启动阶段,将初始设定数据和差异数据写入到服务器的固件中,并根据差异数据对初始设定数据进行更改,当然如果没有差异数据即不需要对初始设定数据进行更改,便能够形成适用于服务器的固件的第二固件设定信息。例如可以在 BIOS的DXE阶段或者BDS阶段(在DXE/BDS NVRAM Service Ready以后),将差异数据从BMC中抓取到BIOS的NVRAM中,并根据差异数据对存储到BIOS的NVRAM中的初始设定数据进行更改,以形成第二固件设定信息。
在本申请的一个实施例中,处理模块进一步配置为:当服务器的固件获取到第二固件设定信息后发送反馈信息至服务器的基板管理控制器,以避免再次接收到通知。
具体来说,服务器的固件获取到第二固件设定信息后,在一定时间段内便无需再次对第二固件设定信息进行更新或其他修改操作,服务器的固件则将表征已经获取了第二固件设定信息的反馈信息发送给基板管理控制器(BMC),使得服务器的基板管理控制器不再向第一设备的基板管理控制器获取第一固件设定信息,或者使得服务器的基板管理控制器通知预设工具不再向第一设备的基板管理控制器获取第一固件设定信息。避免了对服务器的固件做出相同的更新或写入操作,节省了系统资源。
在本申请的一个实施例中,第一固件设定信息包括固件版本信息。举例说明,当第一设备与服务器的固件为其各自的BIOS时,第一固件设定信息包括BIOS的版本信息,这样便使用户能够根据版本信息获知第一固件设定信息是否满足自己的需要,以便决定是否对服务器的BIOS进行数据更新或者写入的操作,避免了用户在不知情的情况下对服务器的BIOS 进行降低版本的数据操作。
此外,在本申请的一个实施例中,第一固件设定信息包括第一设备的固件的初始设定数据与当前设定数据之间的差异数据。结合上述内容进行说明,初始设定数据为第一设备的固件原始使用的数据,如第一设备的 BIOS的1.0版本的第一数据,而差异数据是服务器的固件需要写入或更新的数据,如服务器的BIOS的2.0版本的第二数据,而差异数据即为第一数据与第二数据之间的差异数据,使得通过该差异数据和初始设定数据便能够得到上述的第二数据,即第二固件设定信息,从而提高了生成第二固件设定信息的效率。
以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。

Claims (8)

1.一种用于在多个设备间快速部署固件设定的方法,包括:
第二设备接收来自第一设备的关于所述第一设备的第一固件设定信息的通知,所述第一固件设定信息存储在所述第一设备的基板管理控制器中;
所述第二设备响应于所述通知,依据设定规定而判断是否重新启动;
如果所述第二设备确定重新启动,则利用从所述第一设备接收的所述第一固件设定信息生成用于所述第二设备的第二固件设定信息,其中包括:直接利用所述第一固件设定信息生成所述第二固件设定信息,或者利用所述第一固件设定信息的主要数据来生成所述第二固件设定信息;其中,
所述的利用从所述第一设备接收的所述第一固件设定信息生成用于所述第二设备的第二固件设定信息,还包括:
当所述第二设备的固件在进行定点检查过程中检测到确定重启信息时,在所述第二设备的固件的第一启动阶段读取所述第一固件设定信息;
在所述第二设备的固件的第二启动阶段,将所述第一固件设定信息写入所述第二设备的固件中;
根据所述第一固件设定信息生成所述第二固件设定信息。
2.根据权利要求1所述的用于在多个设备间快速部署固件设定的方法,所述的第二设备接收来自第一设备的关于所述第一设备的第一固件设定信息的通知包括:
通过所述第二设备的基板管理控制器或预设工具从所述第一设备的基板管理控制器接收所述第一固件设定信息,并将相应的接收信息发送给所述第二设备的固件;
将接收的第一固件设定信息存储在预设存储空间中。
3.根据权利要求1所述的用于在多个设备间快速部署固件设定的方法,所述方法还包括:
当所述第二设备的固件获取到所述第二固件设定信息后发送反馈信息至所述第二设备的基板管理控制器,以避免再次接收到所述通知。
4.根据权利要求1所述的用于在多个设备间快速部署固件设定的方法,所述第一固件设定信息包括固件版本信息。
5.根据权利要求1所述的用于在多个设备间快速部署固件设定的方法,所述第一固件设定信息包括所述第一设备的固件的初始设定数据与当前设定数据之间的差异数据。
6.一种服务器,包括:
通信模块,其配置为接收来自第一设备的关于所述第一设备的第一固件设定信息的通知,所述第一固件设定信息存储在所述第一设备的基板管理控制器中;
处理模块,其配置为响应于所述通知,依据设定规定而判断是否重新启动,如果所述服务器确定重新启动,则利用从所述第一设备接收的所述第一固件设定信息生成用于所述服务器的第二固件设定信息,其中包括:直接利用所述第一固件设定信息生成所述第二固件设定信息,或者利用所述第一固件设定信息的主要数据来生成所述第二固件设定信息;其中,
所述处理模块进一步配置为:
当所述服务器的固件在进行定点检查过程中检测到确定重启信息时,在所述服务器的固件的第一启动阶段读取所述第一固件设定信息;
在所述服务器的固件的第二启动阶段,将所述第一固件设定信息写入所述服务器的固件中;
根据所述第一固件设定信息生成所述第二固件设定信息。
7.根据权利要求6所述的服务器,所述通信模块进一步配置为:
通过所述服务器的基板管理控制器或预设工具从所述第一设备的基板管理控制器接收所述第一固件设定信息,并将相应的接收信息发送给所述服务器的固件;
将接收的第一固件设定信息存储在预设存储空间中。
8.根据权利要求6所述的服务器,所述第一固件设定信息包括所述第一设备的固件的初始设定数据与当前设定数据之间的差异数据。
CN201811572758.7A 2018-12-21 2018-12-21 用于在多个设备间快速部署固件设定的方法及服务器 Active CN109684134B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811572758.7A CN109684134B (zh) 2018-12-21 2018-12-21 用于在多个设备间快速部署固件设定的方法及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811572758.7A CN109684134B (zh) 2018-12-21 2018-12-21 用于在多个设备间快速部署固件设定的方法及服务器

Publications (2)

Publication Number Publication Date
CN109684134A CN109684134A (zh) 2019-04-26
CN109684134B true CN109684134B (zh) 2021-07-16

Family

ID=66188870

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811572758.7A Active CN109684134B (zh) 2018-12-21 2018-12-21 用于在多个设备间快速部署固件设定的方法及服务器

Country Status (1)

Country Link
CN (1) CN109684134B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220358B (zh) * 2021-04-25 2023-08-08 山东英信计算机技术有限公司 一种多平台bios信息存储方法、系统及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130254527A1 (en) * 2012-03-20 2013-09-26 Hon Hai Precision Industry Co., Ltd. Bios firmware updating method and electronic device
CN107066305A (zh) * 2017-05-11 2017-08-18 北京百度网讯科技有限公司 用于更新服务器的服务器固件的方法和装置以及服务器
CN107729038A (zh) * 2017-11-27 2018-02-23 英业达科技有限公司 固件更新方法及可更新固件的基板管理控制器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130254527A1 (en) * 2012-03-20 2013-09-26 Hon Hai Precision Industry Co., Ltd. Bios firmware updating method and electronic device
CN107066305A (zh) * 2017-05-11 2017-08-18 北京百度网讯科技有限公司 用于更新服务器的服务器固件的方法和装置以及服务器
CN107729038A (zh) * 2017-11-27 2018-02-23 英业达科技有限公司 固件更新方法及可更新固件的基板管理控制器

Also Published As

Publication number Publication date
CN109684134A (zh) 2019-04-26

Similar Documents

Publication Publication Date Title
CN106648958B (zh) 基本输入输出系统回复管理系统及其方法以及程序产品
US9507604B2 (en) Boot method and boot system
US7373498B2 (en) Method and apparatus for updating a system configuration through an active or passive update
US10860425B2 (en) Method for recovering basic input/output system image file of a computer system and the computer system
US9710284B1 (en) System for programmably configuring a motherboard
US7512777B2 (en) Method and system for maintaining system management BIOS
CN109976816B (zh) 计算机系统配置方法及服务器
US11314665B2 (en) Information processing system, information processing device, BIOS updating method for information processing device, and BIOS updating program for information processing device
US8990366B2 (en) Method and apparatus for remote modification of system configuration
JP2019204488A (ja) リモートユーティリティによるファームウェアの更新
US11403113B2 (en) Server with system setting data synchronization function
CN109684134B (zh) 用于在多个设备间快速部署固件设定的方法及服务器
TW202131170A (zh) 韌體損壞恢復技術
CN106484442B (zh) 服务器系统及更新开机映像档的方法
CN108595292B (zh) 一种系统的优化方法、移动终端及计算机存储介质
US6629240B1 (en) Method for monitoring system boot by searching a temporary buffer for BIOS message
CN115221092A (zh) Pci-e卡可分配的总线确定方法、装置、设备及存储介质
CN112463466B (zh) 电脑测试方法
JP2020086606A (ja) 情報処理装置及び制御プログラム
TWI694452B (zh) 電腦測試方法
CN113688143B (zh) 具系统设定数据同步功能的服务器
CN110471677B (zh) 服务器机柜系统及其自动同步方法
CN115576584A (zh) 一种bios升级方法、装置、bmc和可读存储介质
TW201544962A (zh) 伺服器及查詢其部署狀態的方法
CN116938711A (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
GR01 Patent grant