CN114924802B - 基于bmc和bios的***启动方法、装置设备及介质 - Google Patents

基于bmc和bios的***启动方法、装置设备及介质 Download PDF

Info

Publication number
CN114924802B
CN114924802B CN202210587051.3A CN202210587051A CN114924802B CN 114924802 B CN114924802 B CN 114924802B CN 202210587051 A CN202210587051 A CN 202210587051A CN 114924802 B CN114924802 B CN 114924802B
Authority
CN
China
Prior art keywords
restarting
bmc
starting
bios
configuration 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
CN202210587051.3A
Other languages
English (en)
Other versions
CN114924802A (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.)
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 CN202210587051.3A priority Critical patent/CN114924802B/zh
Publication of CN114924802A publication Critical patent/CN114924802A/zh
Application granted granted Critical
Publication of CN114924802B publication Critical patent/CN114924802B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F9/4406Loading of operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种基于BMC和BIOS的***启动方法、装置、设备及介质,涉及伺服器技术领域,用于提供一种***重启方法,针对目前***重启时可能会出现意想不到的启动顺序的问题,提供一种***启动方法,通过在接收***重启顺序配置信息后,判断是否在预设时间内接收到设置***启动选项指令,并相应地设置重启原因参数等参数,进而使得BIOS可以根据重启原因参数得知本次启动能否根据用户启动顺序进行启动,避免目前无法确定***重启原因导致在进行伺服器***的开机或重启时,可能会带来意想不到的启动顺序的问题。

Description

基于BMC和BIOS的***启动方法、装置设备及介质
技术领域
本申请涉及伺服器技术领域,特别是涉及一种基于BMC和BIOS的***启动方法、装置、设备及其介质。
背景技术
于目前伺服器的实际应用中,通常使用基板管理控制器(Baseboard ManagementController,BMC)和基本输入输出***(Basic Input Output System,BIOS)实现对于伺服器***的开机或重启的控制。在一种应用场景中,用户通过向BMC下发指令,设定***的启动顺序,再通过BIOS读取这些配置项以实现根据用户设定的启动顺序进行伺服器***的开机或重启。
但是,这种根据用户设定的启动顺序进行***的开机或重启的情况,仅在使用设置***启动选项指令(chassis control command)时,启动顺序才生效,对于其他的重启原因来说启动顺序皆不生效。且需要在设定启动顺序的指令下发后的一段时间内,通过chassis control command让***重启,否则就会因为数据丢失或多用户设置了不同的启动顺序导致***按照意想不到的启动顺序开机或重启。
也即,对于用户自定义启动顺序这一应用场景而言,仅在下发设置启动顺序指令的一定时间内,通过chassis control command让***重启,才可实现按照用户设定的启动顺序进行伺服器***的重启或开机,其他的情况都可能会带来意想不到的启动顺序。
所以,现在本领域的技术人员亟需要一种基于BMC和BIOS的***启动方法,解决目前在进行伺服器***的开机或重启时,可能会带来意想不到的启动顺序的问题。
发明内容
本申请的目的是提供一种基于BMC和BIOS的***启动方法、装置、设备及其介质,解决目前在进行伺服器***的开机或重启时,可能会带来意想不到的启动顺序的问题。
为解决上述技术问题,本申请提供一种基于BMC和BIOS的***启动方法,应用于BMC侧,包括:
接收***重启顺序配置信息;
判断接收到***重启顺序配置信息预设时间内,是否接收到设置***启动选项指令;若是,则设置重启原因参数为相应的数值;若否,则初始化重启原因参数,并退出本方法;
当***根据***重启顺序配置信息完成启动后,根据BIOS发送的指令,初始化重启原因参数。
优选地,在接收***重启顺序配置信息之后,还包括:
将顺序配置标志位设置为已配置状态;其中,顺序配置标志位初始为未配置状态;
对应的,当***根据***重启顺序配置信息完成启动后,还包括:根据BIOS发送的指令,初始化顺序配置标志位。
优选地,预设时间为60s。
为解决上述技术问题,本申请还提供一种基于BMC和BIOS的***启动方法,应用于BIOS侧,包括:
读取BMC中的重启原因参数;
根据重启原因参数判断重启原因是否为由设置***启动选项指令触发;若是,则读取BMC中的***重启顺序配置信息;若否,则初始化重启原因参数,并退出本方法;
根据***重启顺序配置信息启动***,并初始化重启原因参数。
优选地,在读取BMC中的***重启顺序配置信息之前,还包括:
判断***重启顺序配置信息是否为本次***启动过程中所配置的;
若是,则转至读取BMC中的***重启顺序配置信息;
若否,则停止本次***启动过程,并返回错误信息。
优选地,判断***重启顺序配置信息是否为本次***启动过程中所配置的包括:
读取BMC中的顺序配置标志位;其中,顺序配置标志位于BMC接收到***重启顺序配置信息时设置为已配置状态,并在本次启动结束后进行初始化;
判断顺序配置标志位是否为已配置状态,若是,则确定***重启顺序配置信息为本次***启动过程中所配置的。
为解决上述技术问题,本申请还提供一种基于BMC和BIOS的***启动装置,包括:
配置信息接收模块,用于接收***重启顺序配置信息;
指令接收判断模块,用于判断接收到***重启顺序配置信息预设时间内,是否接收到设置***启动选项指令;若是,则设置重启原因参数为相应的数值;若否,则初始化重启原因参数,并退出本方法;
重启原因初始化模块,用于当***根据***重启顺序配置信息完成启动后,根据BIOS发送的指令,初始化重启原因参数。
优选地,还包括:
配置信息标记模块,用于将顺序配置标志位设置为已配置状态;其中,顺序配置标志位初始为未配置状态;对应的,当***根据***重启顺序配置信息完成启动后,还用于根据BIOS发送的指令,初始化顺序配置标志位。
为解决上述技术问题,本申请还提供一种基于BMC和BIOS的***启动装置,包括:
重启原因读取模块,用于读取BMC中的重启原因参数,并判断重启原因是否为由设置***启动选项指令触发;
重启原因判断模块,用于根据重启原因参数判断重启原因是否为由设置***启动选项指令触发;若否,则初始化重启原因参数,并退出本方法;若是,则读取BMC中的***重启顺序配置信息;
启动模块,用于根据***重启顺序配置信息启动***,并初始化重启原因参数。
优选地,还包括:
配置信息检验模块,用于判断***重启顺序配置信息是否为本次***启动过程中所配置的;若是,则转至读取BMC中的***重启顺序配置信息;若否,则停止本次***启动过程,并返回错误信息。
为解决上述技术问题,本申请还提供一种基于BMC和BIOS的***启动设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的基于BMC和BIOS的***启动方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的基于BMC和BIOS的***启动方法的步骤。
本申请提供的一种基于BMC和BIOS的***启动方法,应用于BMC和BIOS两侧。通过在接收***重启顺序配置信息后,计时判断是否在预设时间内接收到设置***启动选项指令,实现判断重启原因是否为由设置***启动选项指令触发、接收到***重启顺序配置信息和设置***启动选项指令之间的时间间隔是否小于预设时间,也即判断本次启动是否满足用户设定的启动顺序有效的情况。满足与否相应地设置重启原因参数,进而使得BIOS可以根据重启原因参数得知本次启动能否根据用户启动顺序进行启动,进而避免目前无法确定***重启原因导致在进行伺服器***的开机或重启时,可能会带来意想不到的启动顺序的问题。
本申请提供的基于BMC和BIOS的***启动装置、设备及计算机可读存储介质,与上述方法对应,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种应用于BMC侧的***启动方法的流程图;
图2为本发明提供的一种应用于BIOS侧的***启动方法的流程图;
图3为本发明提供的一种基于BMC和BIOS的***启动方法的流程图;
图4为本发明提供的一种基于BMC和BIOS的***启动装置的结构图;
图5为本发明提供的另一种基于BMC和BIOS的***启动装置的结构图;
图6为本发明提供的一种基于BMC和BIOS的***启动设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种基于BMC和BIOS的***启动方法、装置、设备及其介质。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
在如今的伺服器***中,通常使用BMC作为伺服器的管理控制器。而当伺服器需要启动时,则需要BIOS读取相应的配置项和文件,以引导伺服器进行重启。相应的,当需要伺服器***开机或者重启时,可以先通过向BMC下发指令配置启动项,让BMC记录下启动项内容以及标记启动标志之后,当***开机或者重启时,BIOS从BMC读取启动项并清除启动标志,进而实现伺服器***根据自定义的启动顺序进行启动的目的。
但是这种自定义伺服器开机启动顺序的方式要求只能由chassis controlcommand触发***重启,若为其他条件引起的***重启,则启动顺序都不生效。
上述的其他条件引起的***重启包括:
1、启动过程中按下Ctrl+Alt+Del键;
2、退出setup重启(也即在BIOS的设置功能中进行了修改,具体又可以为:保存修改退出重启,或者放弃修改进行重启);
3、Shell(一种应用程序)下发出重启命令(reset命令);
4、Shell/操作***(Operating System,OS)下刷新BIOS后重启;
5、OS下发命令重启;于这种情况下,具体又可细分为两种情况,其一为OS直接访问地址oxcf9下发命令进行重启;其二为OS通过gRT提供的运行时服务(Runtime Service)或者***管理模式(SMM)服务下发命令进行***重启。如果是第一种情况,则BIOS无法通知BMC具体的重启原因。
另外,由于在实际应用中,用户在向BMC发送指令配置完启动项之后,若长时间不进行重启,则可能会因为数据丢失导致启动顺序发送改变,进而出现意想不到的启动顺序。此外,在伺服器的使用过程中,通常不是只有一个用户,所以当设置完启动顺序后不及时进行伺服器的重启,可能会因为其他用户更改了启动顺序同样导致出现意想不到的启动顺序的问题。
基于上述问题,本申请提供一种基于BMC和BIOS的***启动方法,从BMC侧和BIOS侧分别实现,其中,于BMC侧,本方法包括:
S11:接收***重启顺序配置信息。
也即接收用户的chassis control command,并记录启动项内容。
S12:判断接收到***重启顺序配置信息预设时间内,是否接收到设置***启动选项指令,若是,则转至步骤S13,若否,则转至步骤S14。
一般来说,目前于伺服器的应用中一种通常使用的标准为IPMI SPEC 2.0,在这种标准下,上述的预设时间优选为60s,从而避免因为在设置完启动顺序后久不启动所导致的可能会出现意想不到的启动顺序的问题发生。
S13:设置重启原因参数为相应的数值。
由上述可知,仅在由chassis control command触发的***重启情况下,用户自定义的启动顺序才生效,所以于本申请所提供的一种***启动方法中,仅需关注重启原因是否为由chassis control command触发,对应的,使用IPMI SPEC 2.0作为标准时,相应的重启原因参数应为1。
S14:初始化重启原因参数,并退出本方法。
重启原因参数初始为0,相应的,初始化重启原因参数即为将重启原因参数置为0。
S15:当***根据***重启顺序配置信息完成启动后,根据BIOS发送的指令,初始化重启原因参数。
当相应的配置项设置完毕后,BIOS可以从BMC中读取这些配置项,进而实现***的重启,当***重启完毕后,应将上述的参数和配置清零,所以由BIOS发送指令与BMC进行交互,初始化本次重启过程中配置的***启动项、***重启原因等数据。
由上述可知,对于实现用户自定义启动顺序这一功能而言,重启原因为chassiscontrol command,以及***重启顺序配置信息都是必要的,通过上述步骤S13,可以于BMC中设置重启原因参数表征本次启动是否由chassis control command触发,BIOS在读取到重启原因参数时即可获知本次重启的重启原因,但对于是否接收到***重启顺序配置信息而言,上述方法并未作出限制,因此,本实施例还提供一种优选的实施方案,在接收***重启顺序配置信息之后,还包括:
S16:将顺序配置标志位设置为已配置状态。
其中,顺序配置标志位初始为未配置状态,在实际应用中,通常可用0表示未配置状态、用1表示已配置状态。
对应的,当***根据***重启顺序配置信息完成启动后,还包括:
S17:根据BIOS发送的指令,初始化顺序配置标志位。
需要进行说明的是,图1所示的流程顺序仅为一种可能的实现方式,实际上,步骤S16仅需在步骤S11之后进行即可,与其他步骤并无先后顺序的限制。同样,对于步骤S17而言,为步骤S16的对应步骤,在步骤S16将顺序配置标志位置位后,需要步骤S17将顺序配置标志初始化,又由于步骤S17于实际应用中通常是由BIOS在重启完成后下发指令与BMC进行交互进而执行的,所以步骤S17可并于步骤S15中或于步骤S15之后执行,本实施例对此不做限制。
本实施例所提供的一种优选方案,BMC在接收到***重启顺序配置信息之后,将顺序配置标志位设置为已配置状态,进而当BIOS开始进行***的重启时,可以读取到BMC中的顺序配置标志位,得知本次重启是否存在用户自定义的重启顺序(也即有无***重启顺序配置信息),进而确定本次重启能否根据用户自定义的重启顺序进行重启。
而于BIOS侧,本方法则包括:
S21:读取BMC中的重启原因参数。
BIOS发送指令与BMC进行交互,获取BMC中存储的重启原因参数,进而获知本次重启过程是否为由chassis control command触发,解决了目前的BMC无法区分重启原因,而是依赖于BIOS告知才能获知重启原因的问题。另外,对于目前的BIOS而言,区分众多的重启原因也是十分费时且麻烦的,需要占用大量资源且严重影响重启效率,另外,对于上级***下发指令控制伺服器***重启的这种情况,BIOS也是无法告知BMC本次重启过程的具体重启原因的,于是BMC就无法区分不同的重启原因,进而无法做到只有在chassis controlcommand下让BMC重启才使得用户自定义启动顺序这一功能生效。
基于上述原因,本申请所提供的一种基于BMC和BIOS的***启动方法可以让BMC在重启时无需区分多种不同重启原因的前提下,就可以实现在用户发送***重启顺序配置信息以配置好开机启动项后,在60s内又通过chassis control command使得伺服器***按照其配置的启动顺序进行启动的效果,增强了伺服器***重启过程中的稳定性与时效性,进一步提高了伺服器***重启的效率。
S22:根据重启原因参数判断重启原因是否为由设置***启动选项指令触发;若是,则转至步骤S23,若否,则转至步骤S24。
由上述实施例可知,重启原因为由chassis control command触发时,重启原因参数为1,所以步骤S22也即判断重启原因参数是否为1。
S23:读取BMC中的***重启顺序配置信息。
S24:初始化重启原因参数,并退出本方法。
S25:根据***重启顺序配置信息启动***,并初始化重启原因参数。
初始化重启原因参数也即将重启原因参数置为0。
另外,由上述可知,伺服器***的使用过程中通常不只有一个用户,可能会出现多位用户在不同时间设置了不同***重启顺序配置信息的情况,所以为保证本次重启所依据的重启顺序是当前用户所预期的启动顺序,本实施例提供一种优选的实施方案,在读取BMC中的***重启顺序配置信息之前,还包括:
S26:判断***重启顺序配置信息是否为本次***启动过程中所配置的;若是,则转至步骤S23;若否,则转至步骤S27。
S27:停止本次***启动过程,并返回错误信息。
同样的,本实施例还提供一种判断***重启顺序配置信息是否为本次***重启中所配置的优选方案,包括:
读取BMC中的顺序配置标志位。
其中,顺序配置标志位于BMC接收到***重启顺序配置信息时设置为已配置状态,并在本次启动结束后进行初始化。
判断顺序配置标志位是否为已配置状态,若是,则确定***重启顺序配置信息为本次***启动过程中所配置的。
需要说明的是,上述提到的本次启动结束包括:根据***重启顺序配置信息完成本次***的重启,以及不满足上述方法中前提条件进而未完成重启就退出上述方法的情况。
所以,无论本次启动过程是否满足用户自定义启动顺序进行伺服器***重启的全部条件,在一次启动过程结束后,都由BIOS与BMC进行指令交互以初始化顺序配置标志位,所以当顺序配置标志位为已配置状态时,可以表明***重启顺序配置信息为本次启动过程中所配置的,进而减少因为其他用户配置的启动顺序所带来的干扰。
本申请所提供的一种基于BMC和BIOS的***启动方法,通过在接收到***重启顺序配置信息之后判断是否在预设时间内又接收到设置***启动选项指令,若接收到,则满足根据用户自定义启动顺序进行伺服器重启的条件,可由BIOS读取BMC中存储的***重启顺序配置信息,进而根据配置好的启动项进行***的启动。而对于其他重启原因所触发的重启则退出本次启动过程,不再继续重启,避免出现意想不到的重启顺序的情况发生。除此之外,本方法还解决了目前的BMC无法区分重启原因,而是依赖于BIOS告知才能获知重启原因的问题,可以让BMC在重启时无需区分多种不同重启原因的前提下,就可以实现在用户发送***重启顺序配置信息以配置好开机启动项后,在60s内又通过chassis controlcommand使得伺服器***按照其配置的启动顺序进行启动的效果,增强了伺服器***重启过程中的稳定性与时效性,进一步提高了伺服器***重启的效率。
由上述实施例可知,本申请所提供的一种基于BMC和BIOS的***启动方法是基于BMC和BIOS两侧实现的,彼此之间需要进行交互,共同实现相应的技术效果,所以为进一步说明上述方法,下面结合两侧共同进行说明,步骤流程如图3所示:
S301:在接收到用户输入的***重启顺序配置信息之后,将顺序配置标志位置为1。
S302:若60s内接收到设置***启动选项指令,则设置重启原因参数为1。
S303:读取重启原因参数。
S304:若重启原因参数为1,则进入步骤S305,若否,则进入步骤S309。
S305:读取顺序配置标志位。
S306:若顺序配置标志位为1,则进入步骤S307,若否,则进入步骤S309。
S307:读取***重启顺序配置信息。
S308:根据***重启顺序配置信息启动***。
S309:发送初始化指令。
S310:初始化重启原因参数以及顺序配置标志位。
基于上述的步骤实现在用户自定义启动顺序以进行伺服器***启动时,判断是否满足重启原因为chassis control command触发、以及是否是在接收到***重启顺序配置信息之后预设时间内接收到的chassis control command两个条件。若满足,则BIOS从BMC中读取相应的配置项,进而根据用户自定义的启动顺序进行伺服器***的重启,若不满足则退出本次启动,避免了伺服器***重启过程中可能会带来意想不到的重启顺序的问题。除此之外,本方法还可以解决目前的BMC无法区分重启原因,而是依赖于BIOS告知才能获知重启原因的问题,通过使BMC在用户发送***重启顺序配置信息以配置好开机启动项后,在60s内又通过chassis control command使得伺服器***按照其配置的启动顺序进行启动,无需分辨本次重启过程的重启原因为多种可能情况中的某一种,从而增强了伺服器***重启过程中的稳定性与时效性,进一步提高了伺服器***重启的效率。
在上述实施例中,对于一种基于BMC和BIOS的***启动方法进行了详细描述,本申请还提供一种基于BMC和BIOS的***启动装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
基于功能模块的角度,又分为BMC侧和BIOS侧,于BMC侧,本实施例提供一种基于BMC和BIOS的***启动装置,包括:
配置信息接收模块41,用于接收***重启顺序配置信息。
指令接收判断模块42,用于判断接收到***重启顺序配置信息预设时间内,是否接收到设置***启动选项指令;若是,则设置重启原因参数为相应的数值;若否,则初始化重启原因参数,并退出本方法。
重启原因初始化模块43,用于当***根据***重启顺序配置信息完成启动后,根据BIOS发送的指令,初始化重启原因参数。
优选地,还包括:
配置信息标记模块,用于将顺序配置标志位设置为已配置状态;其中,顺序配置标志位初始为未配置状态;对应的,当***根据***重启顺序配置信息完成启动后,还用于根据BIOS发送的指令,初始化顺序配置标志位。
于BIOS侧,本实施例还提供一种基于BMC和BIOS的***启动装置,包括:
重启原因读取模块51,用于读取BMC中的重启原因参数,并判断重启原因是否为由设置***启动选项指令触发。
重启原因判断模块52,用于根据重启原因参数判断重启原因是否为由设置***启动选项指令触发;若否,则初始化重启原因参数,并退出本方法;若是,则读取BMC中的***重启顺序配置信息。
启动模块53,用于根据***重启顺序配置信息启动***,并初始化重启原因参数。
优选地,还包括:
配置信息检验模块,用于判断***重启顺序配置信息是否为本次***启动过程中所配置的;若是,则转至读取BMC中的***重启顺序配置信息;若否,则停止本次***启动过程,并返回错误信息。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本实施例所提供的应用于BMC侧和BIOS侧的各一种基于BMC和BIOS的***启动装置,通过判断在BMC接收到***重启顺序配置信息之后是否又在预设时间内接收到设置***启动选项指令,若接收到,则满足根据用户自定义启动顺序进行伺服器重启的条件,进而设置重启原因参数为相应的数值,BIOS可通过读取重启原因参数获知本次重启是根据用户自定义的启动顺序进行启动的,进而读取BMC中存储的***重启顺序配置信息,从而根据配置好的启动项进行***的启动。而对于其他重启原因所触发的重启则退出本次启动过程,不再继续重启,避免出现意想不到的重启顺序的情况发生。除此之外,本实施例所提供的应用于BMC侧和BIOS侧的各一种基于BMC和BIOS的***启动装置还可以解决目前的BMC无法区分重启原因,而是依赖于BIOS告知才能获知重启原因的问题,通过上述的功能模块,使得BMC在用户发送***重启顺序配置信息以配置好开机启动项后,在60s内又通过chassiscontrol command使得伺服器***按照其配置的启动顺序进行启动,无需分辨重启原因的种类,以增强伺服器***重启过程中的稳定性与时效性,进一步提高了伺服器***重启的效率。
图6为本申请另一实施例提供的一种基于BMC和BIOS的***启动设备的结构图,如图6所示,一种基于BMC和BIOS的***启动设备包括:存储器60,用于存储计算机程序;
处理器61,用于执行计算机程序时实现如上述实施例一种基于BMC和BIOS的***启动方法的步骤。
本实施例提供的一种基于BMC和BIOS的***启动设备可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器61可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器61可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器61也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器61可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器61还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器60可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器60还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器60至少用于存储以下计算机程序601,其中,该计算机程序被处理器61加载并执行之后,能够实现前述任一实施例公开的一种基于BMC和BIOS的***启动方法的相关步骤。另外,存储器60所存储的资源还可以包括操作***602和数据603等,存储方式可以是短暂存储或者永久存储。其中,操作***602可以包括Windows、Unix、Linux等。数据603可以包括但不限于一种基于BMC和BIOS的***启动方法等。
在一些实施例中,一种基于BMC和BIOS的***启动设备还可包括有显示屏62、输入输出接口63、通信接口64、电源65以及通信总线66。
本领域技术人员可以理解,图6中示出的结构并不构成对一种基于BMC和BIOS的***启动设备的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的一种基于BMC和BIOS的***启动设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:一种基于BMC和BIOS的***启动方法。
本实施例所提供的一种基于BMC和BIOS的***启动设备,通过处理器执行保存在存储器中的计算机程序时,实现在BMC接收到***重启顺序配置信息之后进行计时,判断是否在预设时间内接收到设置***启动选项指令,若接收到,则设置重启原因参数为相应的数值。BIOS可通过读取重启原因参数获知本次重启可以根据用户自定义的启动顺序启动,之后读取BMC中存储的***重启顺序配置信息,从而根据配置好的启动项进行***的启动。而对于不满足上述条件的情况则退出本次启动过程,不再继续重启,避免出现意想不到的重启顺序的情况发生。此外,本实施例所提供的一种基于BMC和BIOS的***启动设备无需BMC在重启过程中获知本次重启工程的重启原因具体是什么,进而BIOS也无需分辨重启原因,提高了伺服器***重启过程中的稳定性与时效性,进一步提升伺服器***重启的效率。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例(可以是BMC侧对应的方法、也可以是BIOS侧对应的方法,还可以是BMC侧和BIOS侧对应的方法)中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例所提供的一种计算机可读取存储介质,当存储在其中的计算机程序被执行时,可以根据BMC在接收到***重启顺序配置信息之后是否又在预设时间内接收到设置***启动选项指令,来设置相应的重启原因参数,进而BIOS可通过读取重启原因参数获知本次重启是根据用户自定义的启动顺序进行启动的,再读取BMC中存储的***重启顺序配置信息,从而根据配置好的启动项进行***的启动。而对于其他重启原因所触发的重启则退出本次启动过程,不再继续重启,避免出现意想不到的重启顺序的情况发生。最后,本实施例所提供的一种计算机可读取存储介质中存储的计算机程序在被执行时,还可以实现无需BMC在重启过程中分辨本次重启工程的重启原因的效果,提高了伺服器***重启过程中的稳定性与时效性,进一步提升伺服器***重启的效率。
以上对本申请所提供的一种基于BMC和BIOS的***启动方法、装置、设备及其介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种基于BMC和BIOS的***启动方法,其特征在于,应用于BMC侧,包括:
接收***重启顺序配置信息;
判断接收到所述***重启顺序配置信息预设时间内,是否接收到设置***启动选项指令;若是,则设置重启原因参数为与所述设置***启动选项指令对应的数值;若否,则初始化所述重启原因参数,并退出本方法;
当***根据所述***重启顺序配置信息完成启动后,根据BIOS发送的指令,初始化所述重启原因参数。
2.根据权利要求1所述的基于BMC和BIOS的***启动方法,其特征在于,在所述接收***重启顺序配置信息之后,还包括:
将顺序配置标志位设置为已配置状态;其中,所述顺序配置标志位初始为未配置状态;
对应的,当***根据所述***重启顺序配置信息完成启动后,还包括:根据BIOS发送的指令,初始化所述顺序配置标志位。
3.根据权利要求1所述的基于BMC和BIOS的***启动方法,其特征在于,所述预设时间为60s。
4.一种基于BMC和BIOS的***启动方法,其特征在于,应用于BIOS侧,包括:
读取BMC中的重启原因参数;
根据所述重启原因参数判断重启原因是否为在接收到***重启顺序配置信息预设时间内,由设置***启动选项指令触发;若是,则读取所述BMC中的***重启顺序配置信息;若否,则初始化所述重启原因参数,并退出本方法;
根据所述***重启顺序配置信息启动***,并初始化所述重启原因参数。
5.根据权利要求4所述的基于BMC和BIOS的***启动方法,其特征在于,在所述读取所述BMC中的***重启顺序配置信息之前,还包括:
判断所述***重启顺序配置信息是否为本次***启动过程中所配置的;
若是,则转至所述读取所述BMC中的***重启顺序配置信息;
若否,则停止本次***启动过程,并返回错误信息。
6.根据权利要求5所述的基于BMC和BIOS的***启动方法,其特征在于,判断所述***重启顺序配置信息是否为本次***启动过程中所配置的包括:
读取所述BMC中的顺序配置标志位;其中,所述顺序配置标志位于所述BMC接收到所述***重启顺序配置信息时设置为已配置状态,并在本次启动结束后进行初始化;
判断所述顺序配置标志位是否为已配置状态,若是,则确定所述***重启顺序配置信息为本次***启动过程中所配置的。
7.一种基于BMC和BIOS的***启动装置,其特征在于,应用于BMC侧,包括:
配置信息接收模块,用于接收***重启顺序配置信息;
指令接收判断模块,用于判断接收到所述***重启顺序配置信息预设时间内,是否接收到设置***启动选项指令;若是,则设置重启原因参数为与所述设置***启动选项指令对应的数值;若否,则初始化所述重启原因参数,并退出本方法;
重启原因初始化模块,用于当***根据所述***重启顺序配置信息完成启动后,根据BIOS发送的指令,初始化所述重启原因参数。
8.一种基于BMC和BIOS的***启动装置,其特征在于,应用于BIOS侧,包括:
重启原因读取模块,用于读取BMC中的重启原因参数,并判断重启原因是否为由设置***启动选项指令触发;
重启原因判断模块,用于根据所述重启原因参数判断重启原因是否为在接收到***重启顺序配置信息预设时间内,由设置***启动选项指令触发;若否,则初始化所述重启原因参数,并退出本方法;若是,则读取所述BMC中的***重启顺序配置信息;
启动模块,用于根据所述***重启顺序配置信息启动***,并初始化所述重启原因参数。
9.一种基于BMC和BIOS的***启动设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任意一项所述的基于BMC和BIOS的***启动方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任意一项所述的基于BMC和BIOS的***启动方法的步骤。
CN202210587051.3A 2022-05-27 2022-05-27 基于bmc和bios的***启动方法、装置设备及介质 Active CN114924802B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210587051.3A CN114924802B (zh) 2022-05-27 2022-05-27 基于bmc和bios的***启动方法、装置设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210587051.3A CN114924802B (zh) 2022-05-27 2022-05-27 基于bmc和bios的***启动方法、装置设备及介质

Publications (2)

Publication Number Publication Date
CN114924802A CN114924802A (zh) 2022-08-19
CN114924802B true CN114924802B (zh) 2024-02-09

Family

ID=82810935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210587051.3A Active CN114924802B (zh) 2022-05-27 2022-05-27 基于bmc和bios的***启动方法、装置设备及介质

Country Status (1)

Country Link
CN (1) CN114924802B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467427A (zh) * 2010-11-15 2012-05-23 英业达股份有限公司 进入基本输出输入***设定的方法
CN104731617A (zh) * 2015-03-25 2015-06-24 浪潮集团有限公司 一种固定服务器启动设备的方法
CN109656627A (zh) * 2018-12-18 2019-04-19 广东浪潮大数据研究有限公司 一种bios中硬盘的启动方法、启动***及相关装置
CN111124508A (zh) * 2019-11-29 2020-05-08 苏州浪潮智能科技有限公司 一种调整网卡pxe启动顺序的方法和装置
CN113867814A (zh) * 2021-09-16 2021-12-31 苏州浪潮智能科技有限公司 基于uefi接口实现服务器多类型重启的方法及装置
CN113986357A (zh) * 2021-09-23 2022-01-28 苏州浪潮智能科技有限公司 建立通信链路的方法、装置和存储介质
CN114385405A (zh) * 2022-01-21 2022-04-22 苏州浪潮智能科技有限公司 一种实现服务器重启原因记录的方法、装置、***
CN114461462A (zh) * 2021-12-30 2022-05-10 苏州浪潮智能科技有限公司 一种bios调试信息输出方法、装置、设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467427A (zh) * 2010-11-15 2012-05-23 英业达股份有限公司 进入基本输出输入***设定的方法
CN104731617A (zh) * 2015-03-25 2015-06-24 浪潮集团有限公司 一种固定服务器启动设备的方法
CN109656627A (zh) * 2018-12-18 2019-04-19 广东浪潮大数据研究有限公司 一种bios中硬盘的启动方法、启动***及相关装置
CN111124508A (zh) * 2019-11-29 2020-05-08 苏州浪潮智能科技有限公司 一种调整网卡pxe启动顺序的方法和装置
CN113867814A (zh) * 2021-09-16 2021-12-31 苏州浪潮智能科技有限公司 基于uefi接口实现服务器多类型重启的方法及装置
CN113986357A (zh) * 2021-09-23 2022-01-28 苏州浪潮智能科技有限公司 建立通信链路的方法、装置和存储介质
CN114461462A (zh) * 2021-12-30 2022-05-10 苏州浪潮智能科技有限公司 一种bios调试信息输出方法、装置、设备及存储介质
CN114385405A (zh) * 2022-01-21 2022-04-22 苏州浪潮智能科技有限公司 一种实现服务器重启原因记录的方法、装置、***

Also Published As

Publication number Publication date
CN114924802A (zh) 2022-08-19

Similar Documents

Publication Publication Date Title
US10514930B2 (en) Setting a startup parameter and controlling startup of a mainboard
US9558016B2 (en) Platform system, method for changing support hardware configuration of universal extensible firmware interface basic input output system and computer program product
CN112506745B (zh) 内存温度读取方法、装置及计算机可读存储介质
US8312256B2 (en) Display of a basic input/output system (BIOS) productivity display
CN114661368B (zh) 一种芯片及其启动方法
WO2022199335A1 (zh) 服务器部件固件升级的控制方法、装置、设备及存储介质
CN113010215B (zh) 一种操作***快速重启的方法、装置、设备及可读介质
CN112667442B (zh) 基于非易失内存器件启动***的控制方法、装置及设备
CN114153477A (zh) Pcie驱动卡固件升级方法、装置、***、设备及介质
CN114924802B (zh) 基于bmc和bios的***启动方法、装置设备及介质
CN113641537A (zh) 一种服务器的启动***,方法及介质
CN116775413A (zh) 一种pcie拓扑扫描方法、装置、设备及可读存储介质
JP2004070953A (ja) 複数のオペレーティングシステムをサポートする方法
WO2023155363A1 (zh) 服务器动态热备份的方法、装置、设备及存储介质
CN114461286B (zh) 一种服务器启动方法、装置、电子设备及可读存储介质
WO2022199622A1 (zh) 一种电子设备的启动程序的运行方法和电子设备
CN114461142B (zh) 一种读写Flash数据的方法、***、装置及介质
CN115951949A (zh) 一种bios的配置参数的恢复方法、装置及计算设备
CN108182157B (zh) 一种实现异构混合内存的方法、bmc、装置及存储介质
CN112667544A (zh) 一种控制主板插槽使能的方法、装置、***及介质
WO2020221161A1 (zh) 计算作业处理方法、***、移动设备及加速设备
CN117806924B (zh) 一种指示装置的控制方法、装置、服务器及介质
CN114153303B (zh) 一种功耗控制***和功耗控制方法、装置、介质
CN117873441A (zh) 一种定制选项的确定方法、装置、设备和介质
CN118245090A (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