CN115934184A - Bios的重启方法及装置 - Google Patents

Bios的重启方法及装置 Download PDF

Info

Publication number
CN115934184A
CN115934184A CN202211448361.3A CN202211448361A CN115934184A CN 115934184 A CN115934184 A CN 115934184A CN 202211448361 A CN202211448361 A CN 202211448361A CN 115934184 A CN115934184 A CN 115934184A
Authority
CN
China
Prior art keywords
bios
psu
determining
bmc
refreshing
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.)
Pending
Application number
CN202211448361.3A
Other languages
English (en)
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202211448361.3A priority Critical patent/CN115934184A/zh
Publication of CN115934184A publication Critical patent/CN115934184A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请实施例提供了一种BIOS的重启方法及装置,其中,该方法包括:确定基板管理控制器BMC的基本输入输出系统BIOS的升级结果;在确定所述BIOS的升级结果为升级成功的情况下,修改所述BIOS对应的刷新标志位,得到修改后的刷新标志位;基于所述修改后的刷新标志位确定用于控制电源供应器PSU的控制指令,并根据所述控制指令控制所述PSU的工作状态,以重启所述BIOS。通过本申请,解决了如何实现BIOS的重启以提高重启效率的问题,进而达到了提高BIOS重启效率的效果。

Description

BIOS的重启方法及装置
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种BIOS的重启方法及装置。
背景技术
在当下的科技社会中,在服务器技术的快速发展的技术背景下,服务器的服务领域随着服务性能和应用广泛性的不断增强而不断扩大。随着服务器的功能种类的增多,服务器的稳定性与可靠性可能会随之下降。在服务器的工作过程中,为了满足用户对服务器系统的稳定性和可靠性的基本要求,经常会进行BIOS程序的升级,以提供新的功能对应的服务或者对已有功能对应的服务遇到的问题进行修复和处理。升级BIOS程序后,往往需要操作系统执行Global Reset这一全局重启的步骤,以便能够让BIOS程序中的ME(Management Engine,管理引擎)部分。
相关技术中,存在一种方法,通常在升级完BIOS(含ME部分)程序后,通过让系统执行cold reset冷重启,但是这种方法仅能够实现ME部分的部分区域的重启,并不能实现ME部分的全局重启。也有另一种方法,是通过人工手动通断电源实现。再者,还可以在服务器开机过程中利用BIOS代码新增执行Global Reset的步骤,但这些方案也都有各自不可避免的弊端问题,例如过人工手动通断电源的过程可能具有危险性,客户的体验度也不高,而BIOS代码在执行新增的Global Reset时会额外增加服务的时间。也就是说,相关技术中,存在如何实现BIOS的重启以提高重启效率的问题。
因此,针对相关技术中,急需找到如何实现BIOS的重启以提高重启效率的有效方案。
发明内容
本申请实施例提供了一种BIOS的重启方法及装置,以至少解决相关技术中如何实现BIOS的重启以提高重启效率的问题。
根据本申请的一个实施例,提供了一种BIOS的重启方法,包括:确定基板管理控制器BMC的基本输入输出系统BIOS的升级结果;在确定所述BIOS的升级结果为升级成功的情况下,修改所述BIOS对应的刷新标志位,得到修改后的刷新标志位;基于所述修改后的刷新标志位确定用于控制电源供应器PSU的控制指令,并根据所述控制指令控制所述PSU的工作状态,以重启所述BIOS。
在一个示例性实施例中,确定基板管理控制器BMC的基本输入输出系统BIOS的升级结果,包括:根据所述BMC对所述BIOS的镜像文件进行刷新,得到刷新结果;在所述刷新结果为刷新成功的情况下,确定所述BIOS的升级结果为升级成功;在所述刷新结果为刷新失败的情况下,确定所述BIOS的升级结果为升级失败。
在一个示例性实施例中,确定基板管理控制器BMC的基本输入输出系统BIOS的升级结果,包括:确定集成南桥PCH的通用输入与输出GPIO接口与所述BMC的GPIO接口连接成功,其中,所述PCH的GPIO接口为所述BMC的GPIO接口的输入接口,且,所述BMC的GPIO接口的电平状态与所述PCH的电平状态一致;在使用第三方刷新工具对所述BIOS的镜像文件进行刷新的过程中,将获取到的所述PCH的电平状态更新为所述BMC的GPIO接口的电平状态;在确定所述BMC的GPIO接口的电平状态为高电平的情况下,确定所述BIOS的升级结果为升级成功。
在一个示例性实施例中,基于所述修改后的刷新标志位确定用于控制电源供应器PSU的控制指令,包括:获取预先设置的所述刷新标志位和所述控制指令之间的对应关系;在确定所述刷新标志位为第一预设值的情况下,根据所述对应关系确定所述控制指令为关闭电源供应;在确定所述刷新标志位为第二预设值的情况下,根据所述对应关系确定所述控制指令为打开电源供应。
在一个示例性实施例中,在确定所述刷新标志位为第二预设值的情况下,根据所述对应关系确定所述控制指令为打开电源供应,包括:确定所述刷新标志位从所述第一预设值切换为所述第二预设值的切换时间;在确定所述切换时间满足所述BMC和所述PSU预先约定的约定时间的情况下,根据所述对应关系确定所述控制指令为打开电源供应。
在一个示例性实施例中,在根据所述控制指令控制所述PSU的工作状态,以重启所述BIOS的过程中,所述方法还包括:将所述控制指令发送至所述PSU的固件模块,其中,所述PSU的固件模块用于执行所述控制指令;在确定为所述固件模块提供电源的独立电源正常工作的情况下,根据所述控制指令控制所述PSU的工作状态;在确定所述PSU的工作状态包括在电源关闭和电源打开之间切换的情况下,确定所述BIOS实现重启。
在一个示例性实施例中,在根据所述控制指令控制所述PSU的工作状态,以重启所述BIOS的过程中,所述方法还包括:对于多个PSU,确定所述多个PSU的每一PSU的电源电量,得到多个第一电量值;获取所述多个第一电量值大于预设电量值的第二电量值,其中,所述预设电量值表示能够支持所述PSU正常工作的电量值;使用所述控制指令控制所述第二电量值对应的PSU的工作状态以实现所述BIOS的重启。
根据本申请的另一个实施例,提供了一种BIOS的重启装置,包括:确定模块,用于确定基板管理控制器BMC的基本输入输出系统BIOS的升级结果;修改模块,用于在确定所述BIOS的升级结果为升级成功的情况下,修改所述BIOS对应的刷新标志位,得到修改后的刷新标志位;控制模块,用于基于所述修改后的刷新标志位确定用于控制电源供应器PSU的控制指令,并根据所述控制指令控制所述PSU的工作状态,以重启所述BIOS。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,由于通过BMC识别BIOS镜像的刷新动作,在识别到BIOS刷新完成后,通过与PSU交互,控制PSU执行操作系统的下电操和上电操作,从而实现操作系统进行Global Reset的方案,可以解决相关技术中,如何实现BIOS的重启以提高重启效率的问题,从而达到提高BIOS重启效率的效果。
附图说明
图1是本申请实施例的一种BIOS的重启方法的移动终端的硬件结构框图;
图2是根据本申请实施例的BIOS的重启方法的流程图;
图3是根据本申请实施例的BIOS的重启过程的流程示意图;
图4是根据本申请实施例的PCH和BMC连接结构的示意图;
图5是根据本申请实施例的BIOS的重启装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本申请实施例的一种BIOS的重启方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的BIOS的重启方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
接下来,对本申请中用到的技术术语的含义进行解释:
GPIO,General Purpose Input Output,通用输入输出接口。
BIOS,Basic Insput Output System,基本输入输出系统。
BMC,Board Management Controller,基板管理控制器。
Global Reset,全局重启。
ME Management Engine,管理引擎。
其中,对于GPIO,可以具有一个或者多个引脚,每个引脚可以供使用者由程控自由使用,例如,PIN脚依现实考量可作为通用输入(GPI)或通用输出(GPO)或通用输入与输出(GPIO)等。既然一个引脚可以用于输入、输出或其他特殊功能,那么一定有寄存器用来选择这些功能。对于输入,一定可以通过读取某个寄存器来确定引脚电位的高低;对于输出,一定可以通过写入某个寄存器来让这个引脚输出高电位或者低电位;对于其他特殊功能,则有另外的寄存器来控制它们。
其中,对于BIOS(Basic Input Output System)基本输入输出系统,作为服务器主板最底层的、最直接的硬件设置和控制的管理者,能为服务器提供更多简单的易用性功能。BIOS是一组固化到主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序,其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。
其中,对于BMC基板管理控制器,即执行伺服器远端管理控制器,可以在设备未开机的状态下,执行设备固件升级,设备状态查看等操作。这种控制器非常适合用于多种远程管理,比如刀锋型伺服器、公用桌上型电脑、印表机、集线器和家庭网路设备(网路闸道、数位视讯转换盒)等。BMC具备基本的IPMI功能和系统工作监视功能,并且,通过利用2个快闪记忆体之一储存以前的BIOS,mBMC还能实现BIOS快速元件的选择和保护。例如,在远程BIOS升级后系统不能启动时,远程管理人员可以切换回以前工作的BIOS映像来启动系统。一旦BIOS升级后,BIOS映像还能被锁住,可有效防止病毒对它的侵害。
其中,对于Global Reset全局重启,可以实现soft reset的功能,即将CPU的INIT#信号拉低16个PCI clock。CPU会重新启动,重新从reset vector执行程序,还可以实现hardreset的功能,即通过assert PLTRST#信号,通知所有芯片,包括网卡等一起reset,CPU也会从开始执行程序,也可以实现CPU的寄存器和南桥芯片组寄存器的reset。并且,在对ME和BMC进行Global Reset时,需要设置对应的标志位。
其中,对于ME管理引擎,是位于PCH芯片组中的嵌入式微控制器,通过使用主机不可见的资源运行管理固件,以提供特定的管理功能。此固件由英特尔进行数字签名,并在执行前由ME进行身份验证。在PCH内部,有一组管理引擎接口电路,称为MEI(ManagementEngine Interface)。用于在主机软件和ME固件之间传递消息。主机和ME之间的消息使用一组循环缓冲区和控制状态寄存器(CSR)进行交换。
在本实施例中提供了一种运行于上述移动终端的BIOS的重启方法,图2是根据本申请实施例的BIOS的重启方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,确定基板管理控制器BMC的基本输入输出系统BIOS的升级结果;
步骤S204,在确定所述BIOS的升级结果为升级成功的情况下,修改所述BIOS对应的刷新标志位,得到修改后的刷新标志位;
步骤S206,基于所述修改后的刷新标志位确定用于控制电源供应器PSU的控制指令,并根据所述控制指令控制所述PSU的工作状态,以重启所述BIOS。
通过上述步骤,通过确定基板管理控制器BMC的基本输入输出系统BIOS的升级结果;在确定所述BIOS的升级结果为升级成功的情况下,修改所述BIOS对应的刷新标志位,得到修改后的刷新标志位;基于所述修改后的刷新标志位确定用于控制电源供应器PSU的控制指令,并根据所述控制指令控制所述PSU的工作状态,以重启所述BIOS,可以解决相关技术中,如何实现BIOS的重启以提高重启效率的问题,达到了提高BIOS重启效率的效果。
其中,上述步骤的执行主体可以为服务器、终端等,但不限于此。
步骤S202和步骤S204的执行顺序是不可以互换的,即先执行步骤S204,然后再执行S202。
在一个示例性实施例中,为了更好的对上述步骤S202中确定基板管理控制器BMC的基本输入输出系统BIOS的升级结果的过程进行说明,提出了一种技术方案,具体步骤可以包括:根据所述BMC对所述BIOS的镜像文件进行刷新,得到刷新结果;在所述刷新结果为刷新成功的情况下,确定所述BIOS的升级结果为升级成功;在所述刷新结果为刷新失败的情况下,确定所述BIOS的升级结果为升级失败。
可选的,在一个示例性实施例中,上述升级失败的原因例如可以包括以下之一:所述BIOS的镜像文件存在缺失,所述PSU停止供电,所述BIOS升级时的内存空间不足。
进一步的,在确定升级失败的原因至少包括以下之一:所述BIOS的镜像文件存在缺失,所述PSU停止供电,所述BIOS升级时的内存空间不足的情况下,再次根据所述BMC对所述BIOS的镜像文件进行刷新。
在一个示例性实施例中,进一步的,提出了另一种对上述步骤S202中确定基板管理控制器BMC的基本输入输出系统BIOS的升级结果的过程进行解释的技术方案,具体步骤可以包括:确定集成南桥PCH的通用输入与输出GPIO接口与所述BMC的GPIO接口连接成功,其中,所述PCH的GPIO接口为所述BMC的GPIO接口的输入接口,且,所述BMC的GPIO接口的电平状态与所述PCH的电平状态一致;在使用第三方刷新工具对所述BIOS的镜像文件进行刷新的过程中,将获取到的所述PCH的电平状态更新为所述BMC的GPIO接口的电平状态;在确定所述BMC的GPIO接口的电平状态为高电平的情况下,确定所述BIOS的升级结果为升级成功。
其中,需要说明的是,对于BMC来说,刷新固件是BMC自身提供的一个很重要的功能。BMC能够通过带内刷新工具、带外刷新工具对BMC自身以及bios等固件进行刷新。带内刷新固件是指在服务器的操作系统中通过执行指定的命令、脚本或安装程序实现本台服务器上的BMC以及bios等固件的刷新,这对生产、维护有很重要的作用。带内刷新固件一般通过kcs或者usb通道进行刷新,其中kcs通道的速度相对较慢而usb通道的速度比较快。
需要说明的是,BMC是一个独立的系统,它不依赖与系统上的其它硬件(比如CPU、内存等),也不依赖与BIOS、OS等(但是BMC可以与BIOS和OS交互,这样可以起到更好的平台管理作用,OS下有系统管理软件可以与BMC协同工作以达到更好的管理效果)。
对于上述使用第三方刷新工具对所述BIOS的镜像文件进行刷新的过程,可以基于带内刷新固件来实现。
可选的,在一个示例性实施例中,在确定所述BMC的GPIO接口的电平状态为低电平的情况下,可以确定所述BIOS的升级结果为升级失败。
基于上述实施例,在确定升级失败的原因至少包括以下之一:所述BIOS的镜像文件存在缺失,所述PSU停止供电,所述BIOS升级时的内存空间不足的情况下,再次根据使用第三方刷新工具对所述BIOS的镜像文件进行刷新。
在一个示例性实施例中,对于上述步骤S206中的基于所述修改后的刷新标志位确定用于控制电源供应器PSU的控制指令的实现过程,提出了一种实现方案,具体步骤可以包括:获取预先设置的所述刷新标志位和所述控制指令之间的对应关系;在确定所述刷新标志位为第一预设值的情况下,根据所述对应关系确定所述控制指令为关闭电源供应;在确定所述刷新标志位为第二预设值的情况下,根据所述对应关系确定所述控制指令为打开电源供应。
其中,需要说明的是,上述第一预设值的取值范围为自然数,例如可以为0,则确定所述刷新标志位为0的情况下,根据所述对应关系确定所述控制指令为关闭电源供应。
相似的,对于第二预设值的取值,可以参照上述第一预设值的说明,,例如可以为1,则确定所述刷新标志位为1的情况下,根据所述对应关系确定所述控制指令为打开电源供应。
可选的,在一个实施例中,基于所述修改后的刷新标志位确定用于控制电源供应器PSU的控制指令的过程可以包括:在确定所述修改后的刷新标志位为第一预设值的情况下,根据所述对应关系确定所述控制指令为关闭电源供应;在确定所述修改后的刷新标志位为第二预设值的情况下,根据所述对应关系确定所述控制指令为打开电源供应。
在一个示例性实施例中,进一步的,还提出了一种在确定所述刷新标志位为第二预设值的情况下,根据所述对应关系确定所述控制指令为打开电源供应的技术方案,具体步骤可以包括:确定所述刷新标志位从所述第一预设值切换为所述第二预设值的切换时间;在确定所述切换时间满足所述BMC和所述PSU预先约定的约定时间的情况下,根据所述对应关系确定所述控制指令为打开电源供应。
其中,需要说明的是,上述切换时间的时间单位例如可以为小时、分钟或者秒等,上述切换时间的时间范围例如可以为一天、一周或者一月等,本申请不会上述切换时间的时间单位或者上述切换时间的时间范围进行限定。
可选的,在一个实施例中,在确定所述切换时间满足所述BMC和所述PSU预先约定的约定时间的情况下,根据所述对应关系确定所述控制指令为打开电源供应的过程中,还可以包括以下方案:在确定所述切换时间满足所述BMC和所述PSU预先约定的约定时间的情况下,获取PSU的内存信息,在确定PSU的内存信息满足条件的情况下,根据所述对应关系确定所述控制指令为打开电源供应。其中,PSU的内存信息满足条件可以理解为PSU的内存信息小于预设阈值。
在确定所述切换时间满足所述BMC和所述PSU预先约定的约定时间的情况下,获取PSU的硬件状况,在确定PSU的硬件状况满足条件的情况下,根据所述对应关系确定所述控制指令为打开电源供应。其中,硬件状况满足条件可以理解为PSU的硬件型号与预先存储的BMC的可控型号一致。
在一个示例性实施例中,进一步的,在根据所述控制指令控制所述PSU的工作状态,以重启所述BIOS的过程中,还提出了其他实现方法,具体步骤可以包括:将所述控制指令发送至所述PSU的固件模块,其中,所述PSU的固件模块用于执行所述控制指令;在确定为所述固件模块提供电源的独立电源正常工作的情况下,根据所述控制指令控制所述PSU的工作状态;在确定所述PSU的工作状态包括在电源关闭和电源打开之间切换的情况下,确定所述BIOS实现重启。
可选的,在一个实施例中,可以通过以下方式确定为所述固件模块提供电源的独立电源正常工作:方式1、独立电源的端电压与负载电流为非过载。方式2、独立电源处于非短路状态。方式3、独立电源处于空载状态。
在一个示例性实施例中,在根据所述控制指令控制所述PSU的工作状态,以重启所述BIOS的过程中,进一步提出了以下技术方案,具体步骤可以包括:对于多个PSU,确定所述多个PSU的每一PSU的电源电量,得到多个第一电量值;获取所述多个第一电量值大于预设电量值的第二电量值,其中,所述预设电量值表示能够支持所述PSU正常工作的电量值;使用所述控制指令控制所述第二电量值对应的PSU的工作状态以实现所述BIOS的重启。
其中,需要说明的是,PSU电源就是一种电能转换类的电源(有别于电池供电类的电源),负责将标准交流电转成低压稳定的直流电,给设备内其它的组件所使用。例如PSU正常工作时,输入电压的范围可以包括100V至250V,输入交流电可以为50Hz或60Hz,输出电压可以包括12V、5V及3.3V等稳定的直流电压。
可选的,上述PSU正常工作的电量值可以由人工设置,也可以根据上述PSU正常工作时的输入电压、上述PSU正常工作时的输入交流电频率和上述PSU正常工作时的输出电压得到。例如,在上述PSU的输入电压为100V,上述PSU的输入交流电频率为50Hz时,上述PSU的输出电压为12V对应于30%的PSU的电量值的情况下,确定上述预设电量值为30%。
进一步的,在一个实施例中,对于多个PSU,可以从多个PSU中确定出主PSU和备用PSU,从而在控制主PSU失败的情况下,继续控制备用PSU进行上下电。
进一步的,本申请结合图3还提供了其他实现BIOS的重启过程的方法,图3是根据本申请实施例的BIOS的重启过程的流程示意图,在以下实施例中,如图3所示,具体流程如下:
在BIOS的重启过程开始后,执行步骤S301至步骤S306。
步骤S301,BMC或OS下的带内刷新BIOS。即,使用BMC代码对BIOS进行刷新,或者使用操作系统下的带内刷新工具刷新镜像。
步骤S302,确定是否刷新成功;在确定刷新镜像成功的情况下,执行步骤S303,在确定刷新镜像失败的情况下,执行步骤S302。
步骤S303,根据BMC中的记录刷新BIOS的标记。
步骤S304,BMC按约定向PSU内填写寄存器。
步骤S305,PSU控制系统进行上电和下电。
步骤S306,系统进行Global Reset。
另外,在另一个实施例中,通过以下步骤对如何实现BIOS重启的过程进行说明:
步骤S01:在BMC代码中增加用于进行BIOS镜像是否刷新成功的判断步骤,例如,可以增加标志位,来标记刷新BIOS镜像的结果是否成功。
在一个示例性实施例中,步骤S01还包括步骤S01-1和步骤S01-2,具体如下:
步骤S01-1:如果是通过BMC代码刷新BIOS镜像,则从BMC主动监控的信息中解析出刷新BIOS镜像对应的动作,那么进而,使用BMC代码可以新增BIOS镜像刷新判断的步骤时,增加一个标志位。在需要通过BMC刷新BIOS镜像的情况下,在判断出BIOS镜像刷新后,设置对应的标志位;其中,例如标志位为0表示刷新成功,标志位为1表示刷新失败。
S01-2:如果是在操作系统(OS)下使用带内刷新工具执行刷新镜像的步骤,则BMC无法获得BIOS镜像是否刷新对应的动作。在这种情况下,需要利用在硬件上预留好的集成南桥PCH端和BMC端相连的两个输入输出的接口GPIO识别是否有刷新BIOS镜像的动作,当判断出BIOS镜像刷新后,设置对应的标志位;
其中,需要说明的是,上述通过GPIO识别是否有刷新BIOS镜像的动作的过程可以结合图4进行说明,如图4所示,PCH端的GPIO作为输出端口,BMC端的GPIO作为输入端口,在确定使用带内刷新工具对BIOS镜像进行刷新后,使用BIOS程序将把PCH端的GPIO拉高为高电平,那么,相应地BMC端的GPIO的电平状态也会相应的转换为高电平,此时,可以通过读取BMC端的GPIO状态识别出刷新BIOS镜像的动作。
例如,在BMC端的GPIO的电平状态为低电平的情况下,判定没有刷新BIOS镜像的动作,在BMC端的GPIO的电平状态为高电平的情况下,判定有刷新BIOS镜像的动作。
步骤S02:增加BMC基板管理控制器控制PSU(Power Supply Unit)进行上下电的控制模块,其中,BMC控制PSU进行上下电的命令可以提前约定好。
需要说明的是,除了可以使用BMC控制PSU进行上下电。可选的,在其他实施例中,还可以使用BMC控制PSU执行其他命令,其他命令的例如可以包括控制PSU上下电的时间,控制PSU进行错峰上下电。
其中,控制PSU进行错峰上下电的控制条件与PSU的内存信息和PSU的硬件状况有关。例如,在控制PSU下电之后,如果确定PSU的内存信息大于预设阈值的情况下,则继续监测PSU的内存信息,直至PSU的内存信息小于预设阈值,进行上电,从而实现错峰上下电。
可选的,在一个示例性实施例中,对于存在多个PSU的情况,可以从多个PSU中确定出主PSU和备用PSU,从而在控制主PSU失败的情况下,继续控制备用PSU进行上下电。
其中,需要说明的是,备用PSU可以执行与主PSU完全相同的功能,并且,本申请不对备用PSU的数量做任何限制。
步骤S03:在BMC与PSU约定控制上下电的命令的过程中,BMC和PSU约定时间单位,并通过向对应的PSU寄存器中写入不同的数值,以便设置控制PSU在下电后重新上电的上电时间,例如,在时间单位为秒的情况下,写入00000011可以表示3秒,写入00000001可以表示1秒,写入00000010可以表示2秒,或者,在时间单位为分钟的情况下,00000100可以表示4分钟,写入00000111可以表示7分钟,写入00000101可以表示5分钟。
步骤S04:在PSU的FW(firmware,固件)中收到BMC下发的指令的情况下,FW对操作系统进行下电,并根据上述上电时间内对系统上电,从而实现操作系统完成全局重启Global Reset。
通过上述步骤,针对Intel服务器系统,能够简化操作系统进行Global Reset的步骤,例如,可以精简BIOS升级后操作系统进行Global Reset的过程,即刷新BIOS后必须手动控制AC的通断控制系统重启,或者在开机过程中增加控制系统重启的步骤。
简单来说,本申请通过BMC识别BIOS镜像的刷新动作,在识别到BIOS刷新完成后,通过与PSU交互,控制PSU执行操作系统的下电操和上电操作,从而实现操作系统进行Global Reset的方案,这样,可以减少人工通断电源或者必须依赖BIOS代码新增的重启步骤来实现操作系统进行Global Reset的方案。
在上述实施例中是以Intel平台的服务器架构对本申请的方法进行说明的,但本申请的方法不仅仅限于Intel平台的服务器,也不仅仅局限于服务器系统,在其它平台的服务器系统或者其他计算机系统上仍然具有通用的应用价值,本申请对此不作限制。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种BIOS的重启装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本申请实施例的BIOS的重启装置的结构框图,如图5所示,该装置具体包括以下模块:
确定模块42,用于确定基板管理控制器BMC的基本输入输出系统BIOS的升级结果;
修改模块44,用于在确定所述BIOS的升级结果为升级成功的情况下,修改所述BIOS对应的刷新标志位,得到修改后的刷新标志位;
控制模块46,用于基于所述修改后的刷新标志位确定用于控制电源供应器PSU的控制指令,并根据所述控制指令控制所述PSU的工作状态,以重启所述BIOS。
通过上述模块,通过确定基板管理控制器BMC的基本输入输出系统BIOS的升级结果;在确定所述BIOS的升级结果为升级成功的情况下,修改所述BIOS对应的刷新标志位,得到修改后的刷新标志位;基于所述修改后的刷新标志位确定用于控制电源供应器PSU的控制指令,并根据所述控制指令控制所述PSU的工作状态,以重启所述BIOS,可以解决相关技术中,如何实现BIOS的重启以提高重启效率的问题,达到了提高BIOS重启效率的效果。
在一个示例性实施例中,上述确定模块42还用于:根据所述BMC对所述BIOS的镜像文件进行刷新,得到刷新结果;在所述刷新结果为刷新成功的情况下,确定所述BIOS的升级结果为升级成功;在所述刷新结果为刷新失败的情况下,确定所述BIOS的升级结果为升级失败。
可选的,在一个示例性实施例中,上述升级失败的原因例如可以包括以下之一:所述BIOS的镜像文件存在缺失,所述PSU停止供电,所述BIOS升级时的内存空间不足。
进一步的,在确定升级失败的原因至少包括以下之一:所述BIOS的镜像文件存在缺失,所述PSU停止供电,所述BIOS升级时的内存空间不足的情况下,再次根据所述BMC对所述BIOS的镜像文件进行刷新。
在一个示例性实施例中,进一步的,上述确定模块42还用于:确定集成南桥PCH的通用输入与输出GPIO接口与所述BMC的GPIO接口连接成功,其中,所述PCH的GPIO接口为所述BMC的GPIO接口的输入接口,且,所述BMC的GPIO接口的电平状态与所述PCH的电平状态一致;在使用第三方刷新工具对所述BIOS的镜像文件进行刷新的过程中,将获取到的所述PCH的电平状态更新为所述BMC的GPIO接口的电平状态;在确定所述BMC的GPIO接口的电平状态为高电平的情况下,确定所述BIOS的升级结果为升级成功。
其中,需要说明的是,对于BMC来说,刷新固件是BMC自身提供的一个很重要的功能。BMC能够通过带内刷新工具、带外刷新工具对BMC自身以及bios等固件进行刷新。带内刷新固件是指在服务器的操作系统中通过执行指定的命令、脚本或安装程序实现本台服务器上的BMC以及bios等固件的刷新,这对生产、维护有很重要的作用。带内刷新固件一般通过kcs或者usb通道进行刷新,其中kcs通道的速度相对较慢而usb通道的速度比较快。
需要说明的是,BMC是一个独立的系统,它不依赖与系统上的其它硬件(比如CPU、内存等),也不依赖与BIOS、OS等(但是BMC可以与BIOS和OS交互,这样可以起到更好的平台管理作用,OS下有系统管理软件可以与BMC协同工作以达到更好的管理效果)。
对于上述使用第三方刷新工具对所述BIOS的镜像文件进行刷新的过程,可以基于带内刷新固件来实现。
可选的,在一个示例性实施例中,在确定所述BMC的GPIO接口的电平状态为低电平的情况下,可以确定所述BIOS的升级结果为升级失败。
基于上述实施例,在确定升级失败的原因至少包括以下之一:所述BIOS的镜像文件存在缺失,所述PSU停止供电,所述BIOS升级时的内存空间不足的情况下,再次根据使用第三方刷新工具对所述BIOS的镜像文件进行刷新。
在一个示例性实施例中,上述控制模块42还用于:获取预先设置的所述刷新标志位和所述控制指令之间的对应关系;在确定所述刷新标志位为第一预设值的情况下,根据所述对应关系确定所述控制指令为关闭电源供应;在确定所述刷新标志位为第二预设值的情况下,根据所述对应关系确定所述控制指令为打开电源供应。
其中,需要说明的是,上述第一预设值的取值范围为自然数,例如可以为0,则确定所述刷新标志位为0的情况下,根据所述对应关系确定所述控制指令为关闭电源供应。
相似的,对于第二预设值的取值,可以参照上述第一预设值的说明,,例如可以为1,则确定所述刷新标志位为1的情况下,根据所述对应关系确定所述控制指令为打开电源供应。
可选的,在一个实施例中,基于所述修改后的刷新标志位确定用于控制电源供应器PSU的控制指令的过程可以包括:在确定所述修改后的刷新标志位为第一预设值的情况下,根据所述对应关系确定所述控制指令为关闭电源供应;在确定所述修改后的刷新标志位为第二预设值的情况下,根据所述对应关系确定所述控制指令为打开电源供应。
在一个示例性实施例中,进一步的,上述控制模块42还用于:确定所述刷新标志位从所述第一预设值切换为所述第二预设值的切换时间;在确定所述切换时间满足所述BMC和所述PSU预先约定的约定时间的情况下,根据所述对应关系确定所述控制指令为打开电源供应。
其中,需要说明的是,上述切换时间的时间单位例如可以为小时、分钟或者秒等,上述切换时间的时间范围例如可以为一天、一周或者一月等,本申请不会上述切换时间的时间单位或者上述切换时间的时间范围进行限定。
可选的,在一个实施例中,在确定所述切换时间满足所述BMC和所述PSU预先约定的约定时间的情况下,根据所述对应关系确定所述控制指令为打开电源供应的过程中,还可以包括以下方案:在确定所述切换时间满足所述BMC和所述PSU预先约定的约定时间的情况下,获取PSU的内存信息,在确定PSU的内存信息满足条件的情况下,根据所述对应关系确定所述控制指令为打开电源供应。其中,PSU的内存信息满足条件可以理解为PSU的内存信息小于预设阈值。
在确定所述切换时间满足所述BMC和所述PSU预先约定的约定时间的情况下,获取PSU的硬件状况,在确定PSU的硬件状况满足条件的情况下,根据所述对应关系确定所述控制指令为打开电源供应。其中,硬件状况满足条件可以理解为PSU的硬件型号与预先存储的BMC的可控型号一致。
在一个示例性实施例中,进一步的,上述控制模块42还包括第一控制单元,用于将所述控制指令发送至所述PSU的固件模块,其中,所述PSU的固件模块用于执行所述控制指令;在确定为所述固件模块提供电源的独立电源正常工作的情况下,根据所述控制指令控制所述PSU的工作状态;在确定所述PSU的工作状态包括在电源关闭和电源打开之间切换的情况下,确定所述BIOS实现重启。
可选的,在一个实施例中,可以通过以下方式确定为所述固件模块提供电源的独立电源正常工作:方式1、独立电源的端电压与负载电流为非过载。方式2、独立电源处于非短路状态。方式3、独立电源处于空载状态。
在一个示例性实施例中,上述控制模块42还包括第二控制单元,对于多个PSU,确定所述多个PSU的每一PSU的电源电量,得到多个第一电量值;获取所述多个第一电量值大于预设电量值的第二电量值,其中,所述预设电量值表示能够支持所述PSU正常工作的电量值;使用所述控制指令控制所述第二电量值对应的PSU的工作状态以实现所述BIOS的重启。
其中,需要说明的是,PSU电源就是一种电能转换类的电源(有别于电池供电类的电源),负责将标准交流电转成低压稳定的直流电,给设备内其它的组件所使用。例如PSU正常工作时,输入电压的范围可以包括100V至250V,输入交流电频率频率可以包括50Hz或60Hz,输出电压可以包括12V、5V及3.3V等稳定的直流电压。
可选的,上述PSU正常工作的电量值可以由人工设置,也可以根据上述PSU正常工作时的输入电压、上述PSU正常工作时的输入交流电频率频率和上述PSU正常工作时的输出电压得到。例如,在上述PSU的输入电压为100V,上述PSU的输入交流电频率频率为50Hz时,上述PSU的输出电压为12V对应于30%的PSU的电量值的情况下,确定上述预设电量值为30%。
进一步的,在一个实施例中,对于多个PSU,可以从多个PSU中确定出主PSU和备用PSU,从而在控制主PSU失败的情况下,继续控制备用PSU进行上下电。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。其中,执行上述任一项方法实施例中的步骤包括:
步骤S1,确定基板管理控制器BMC的基本输入输出系统BIOS的升级结果;
步骤S2,在确定所述BIOS的升级结果为升级成功的情况下,修改所述BIOS对应的刷新标志位,得到修改后的刷新标志位;
步骤S3,基于所述修改后的刷新标志位确定用于控制电源供应器PSU的控制指令,并根据所述控制指令控制所述PSU的工作状态,以重启所述BIOS。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。其中,执行上述任一项方法实施例中的步骤包括:
步骤S1,确定基板管理控制器BMC的基本输入输出系统BIOS的升级结果;
步骤S2,在确定所述BIOS的升级结果为升级成功的情况下,修改所述BIOS对应的刷新标志位,得到修改后的刷新标志位;
步骤S3,基于所述修改后的刷新标志位确定用于控制电源供应器PSU的控制指令,并根据所述控制指令控制所述PSU的工作状态,以重启所述BIOS。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种BIOS的重启方法,其特征在于,包括:
确定基板管理控制器BMC的基本输入输出系统BIOS的升级结果;
在确定所述BIOS的升级结果为升级成功的情况下,修改所述BIOS对应的刷新标志位,得到修改后的刷新标志位;
基于所述修改后的刷新标志位确定用于控制电源供应器PSU的控制指令,并根据所述控制指令控制所述PSU的工作状态,以重启所述BIOS。
2.根据权利要求1所述的方法,其特征在于,确定基板管理控制器BMC的基本输入输出系统BIOS的升级结果,包括:
根据所述BMC对所述BIOS的镜像文件进行刷新,得到刷新结果;
在所述刷新结果为刷新成功的情况下,确定所述BIOS的升级结果为升级成功;
在所述刷新结果为刷新失败的情况下,确定所述BIOS的升级结果为升级失败。
3.根据权利要求1所述的方法,其特征在于,确定基板管理控制器BMC的基本输入输出系统BIOS的升级结果,包括:
确定集成南桥PCH的通用输入与输出GPIO接口与所述BMC的GPIO接口连接成功,其中,所述PCH的GPIO接口为所述BMC的GPIO接口的输入接口,且,所述BMC的GPIO接口的电平状态与所述PCH的电平状态一致;
在使用第三方刷新工具对所述BIOS的镜像文件进行刷新的过程中,将获取到的所述PCH的电平状态更新为所述BMC的GPIO接口的电平状态;
在确定所述BMC的GPIO接口的电平状态为高电平的情况下,确定所述BIOS的升级结果为升级成功。
4.根据权利要求1所述的方法,其特征在于,基于所述修改后的刷新标志位确定用于控制电源供应器PSU的控制指令,包括:
获取预先设置的所述刷新标志位和所述控制指令之间的对应关系;
在确定所述刷新标志位为第一预设值的情况下,根据所述对应关系确定所述控制指令为关闭电源供应;
在确定所述刷新标志位为第二预设值的情况下,根据所述对应关系确定所述控制指令为打开电源供应。
5.根据权利要求4所述的方法,其特征在于,在确定所述刷新标志位为第二预设值的情况下,根据所述对应关系确定所述控制指令为打开电源供应,包括:
确定所述刷新标志位从所述第一预设值切换为所述第二预设值的切换时间;
在确定所述切换时间满足所述BMC和所述PSU预先约定的约定时间的情况下,根据所述对应关系确定所述控制指令为打开电源供应。
6.根据权利要求1所述的方法,其特征在于,在根据所述控制指令控制所述PSU的工作状态,以重启所述BIOS的过程中,所述方法还包括:
将所述控制指令发送至所述PSU的固件模块,其中,所述PSU的固件模块用于执行所述控制指令;
在确定为所述固件模块提供电源的独立电源正常工作的情况下,根据所述控制指令控制所述PSU的工作状态;
在确定所述PSU的工作状态包括在电源关闭和电源打开之间切换的情况下,确定所述BIOS实现重启。
7.根据权利要求1所述的方法,其特征在于,在根据所述控制指令控制所述PSU的工作状态,以重启所述BIOS的过程中,所述方法还包括:
对于多个PSU,确定所述多个PSU的每一PSU的电源电量,得到多个第一电量值;
获取所述多个第一电量值大于预设电量值的第二电量值,其中,所述预设电量值表示能够支持所述PSU正常工作的电量值;
使用所述控制指令控制所述第二电量值对应的PSU的工作状态以实现所述BIOS的重启。
8.一种BIOS的重启装置,其特征在于,包括:
确定模块,用于确定基板管理控制器BMC的基本输入输出系统BIOS的升级结果;
修改模块,用于在确定所述BIOS的升级结果为升级成功的情况下,修改所述BIOS对应的刷新标志位,得到修改后的刷新标志位;
控制模块,用于基于所述修改后的刷新标志位确定用于控制电源供应器PSU的控制指令,并根据所述控制指令控制所述PSU的工作状态,以重启所述BIOS。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至7任一项中所述的方法的步骤。
10.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至7任一项中所述的方法的步骤。
CN202211448361.3A 2022-11-18 2022-11-18 Bios的重启方法及装置 Pending CN115934184A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211448361.3A CN115934184A (zh) 2022-11-18 2022-11-18 Bios的重启方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211448361.3A CN115934184A (zh) 2022-11-18 2022-11-18 Bios的重启方法及装置

Publications (1)

Publication Number Publication Date
CN115934184A true CN115934184A (zh) 2023-04-07

Family

ID=86654957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211448361.3A Pending CN115934184A (zh) 2022-11-18 2022-11-18 Bios的重启方法及装置

Country Status (1)

Country Link
CN (1) CN115934184A (zh)

Similar Documents

Publication Publication Date Title
US20060041767A1 (en) Methods, devices and computer program products for controlling power supplied to devices coupled to an uninterruptible power supply (UPS)
US9367446B2 (en) Computer system and data recovery method for a computer system having an embedded controller
US8909952B2 (en) Power supply apparatus of computer system and method for controlling power sequence thereof
US7360045B2 (en) System and method for backing up data from a quiesced storage device
CN116166111A (zh) 处理器设备电压表征
US9170618B2 (en) Power management circuit, server, and power management method thereof
CN111142644A (zh) 一种硬盘运行控制方法、装置及相关组件
JP2001298875A (ja) バックアップ電源モジュール、バックアップ電源装置及びコンピュータ
US7240227B2 (en) Automatic restart and resume of computing system upon reapplication of external power
US10310575B2 (en) Virtual AC cycling within an information handling system
US11307844B2 (en) System and method for intelligent power management of firmware updates
CN114217942B (zh) 刀片外壳中的功率管理
CN115934184A (zh) Bios的重启方法及装置
US20120185713A1 (en) Server, storage medium, and method for controlling sleep and wakeup function of the server
CN112527091B (zh) 电源管理方法、固件更新方法、装置、设备、介质和产品
CN112462909B (zh) 一体机转接设备的复位控制方法、装置及存储介质
CN114816023B (zh) 服务器备电功能优化方法、系统、终端及存储介质
US9690351B2 (en) Power control system and method thereof
KR102685980B1 (ko) 전원제어 통합관리자를 통한 컴퓨터 시스템의 에너지 절감 장치 및 방법
CN211236889U (zh) 一种利用单片机配置计算机bios参数的电路
CN116431291B (zh) 一种虚拟化管理平台的部署方法、系统、设备及存储介质
CN117540443B (zh) 一种用于操作系统的设备异常掉电损坏的规避方法
CN116009671A (zh) 一种服务器断电时使PCIeAIC工作的装置及方法
CN115525133A (zh) 一种服务器电源掉电控制方法、装置、终端及存储介质
US20210397240A1 (en) Systems and methods for enabling power budgeting in an information handling system comprising a plurality of modular information handling systems

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