CN117130672A - 服务器启动流程控制方法、系统、终端及存储介质 - Google Patents
服务器启动流程控制方法、系统、终端及存储介质 Download PDFInfo
- Publication number
- CN117130672A CN117130672A CN202311014668.7A CN202311014668A CN117130672A CN 117130672 A CN117130672 A CN 117130672A CN 202311014668 A CN202311014668 A CN 202311014668A CN 117130672 A CN117130672 A CN 117130672A
- Authority
- CN
- China
- Prior art keywords
- server
- value
- verification
- configuration information
- flow
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 117
- 238000012795 verification Methods 0.000 claims abstract description 86
- 230000008569 process Effects 0.000 claims abstract description 63
- 230000000694 effects Effects 0.000 claims abstract description 10
- 230000015654 memory Effects 0.000 claims description 27
- 238000009434 installation Methods 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 11
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012937 correction Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及服务器技术领域,具体提供一种服务器启动流程控制方法、系统、终端及存储介质,包括:计算初始设备配置信息的特征值,并将所述特征值作为标准值保存至第一路径下;在快速启动流程生效后,读取设备配置信息作为校验信息;计算所述校验信息的校验特征值,比对校验特征值与标准值是否一致,若两者一致则继续执行快速启动流程直至开机;若校验特征值与标准值不一致,则重新执行设备初始化流程。本发明通过在快速启动流程中对设备配置信息进行校验,确保在设备配置信息不变的情况下再继续执行快速启动流程,当设备配置信息保存失败,遭到破坏甚至恶意篡改的时候,系统可以及时纠正并重新进行设备初始化。
Description
技术领域
本发明属于服务器技术领域,具体涉及一种服务器启动流程控制方法、系统、终端及存储介质。
背景技术
设备的启动时间是衡量设备性能的标准之一,也是影响客户与用户在使用设备时是否可以获得良好体验的因素之一。Legacy BIOS以及UEFI中,提供了FastBoot技术以缩短设备启动整体时间。UEFI的FastBoot技术没有规范流程,一般而言,在UEFI中的Setup界面开启了FastBoot选项后,UEFI会简化启动流程,以达到缩短设备整体启动时间的目的。目前,如果在BIOS Setup下开启了FastBoot选项,有些性能一流的个人计算机甚至能做到瞬间开机。快速启动流程(UEFI Fast Boot流程)目前没有统一的标准,因此实现方式各有不同。甚至有的厂商在FastBoot也分出来层次,分出快和超快。现有技术中,开发厂商对FastBoot的实现方式包括如:跳过主板自检;记录之前Memory和PCIe设备等设备初始化Training的结果,在开机时直接读取而非重新初始化,因为不需要做内存的BasicTraining,大约能够节省80%的内存初始化时间;不枚举和初始化上次启动设备之外的设备。只初始化上次启动路径上边所有的节点,支线节点都不初始化;在开机时不加载键盘等外设,而是在进入OS后加载;去掉按键进BIOS设置界面的等待时间等。
当Memory设备与PCIe设备等设备发生了硬件上的变化,采用快速启动流程仅读取之前的初始化配置就会导致设备加载异常,无法正常启动服务器。此外当这些配置信息遭到第三方软件或设备进行篡改,或是在配置写入过程中出现错误时,会使设备开机时出现故障。在设置了快速启动流程后,进入OS过快导致无法进入BIOS恢复更改或修改其他选项;由于启用了FastBoot,键盘未被初始化而无法进入BIOS恢复更改或修改其他选项等。
发明内容
针对现有技术存在的由于设备配置信息更新导致服务器无法正常通过快速启动流程启动的问题,本发明提供一种服务器启动流程控制方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种服务器启动流程控制方法,包括:
计算初始设备配置信息的特征值,并将所述特征值作为标准值保存至第一路径下;
在快速启动流程生效后,读取设备配置信息作为校验信息;
计算所述校验信息的校验特征值,比对校验特征值与标准值是否一致,若两者一致则继续执行快速启动流程直至开机;
若校验特征值与标准值不一致,则重新执行设备初始化流程。
在一个可选的实施方式中,计算设备配置信息的特征值,并将所述特征值作为标准值保存至第一路径下,包括:
确认快速启动流程处于启用状态;
从第二地址读取初始设备配置信息,所述初始设备配置信息为BIOS在历史开机的初始化过程中生成的数据,所述第二地址为预配置的生成配置信息存储地址;
计算所述初始设备配置信息的MD5值,并将所述MD5值作为标准值保存至第一路径下,所述第一路径与所述第二路径分属不同的存储装置。
在一个可选的实施方式中,在快速启动流程生效后,读取设备配置信息作为校验信息,包括:
监控快速启动流程的执行进度,快速启动流程中重新生成的设备配置信息覆盖第二路径下原有的设备配置信息;
若所述执行进度进入到跳过主板自检,则从第二路径读取更新的设备配置信息作为校验信息。
在一个可选的实施方式中,计算所述校验信息的校验特征值,比对校验特征值与标准值是否一致,若两者一致则继续执行快速启动流程直至开机,包括:
计算所述校验信息的MD5值,并比对校验信息的MD5值与标准值是否一致;
若校验信息的MD5值与标准值一致,则跳过设备初始化并继续执行快速启动流程;
判断是否成功进入操作系统:
若是,则判定服务器快速启动成功;
若否,则判定服务器快速启动失败。
在一个可选的实施方式中,在判定服务器快速启动失败之后,所述方法还包括:
生成进入BIOS安装界面的提示信息;
判断是否在指定期限内进入BIOS安装界面:
若是,则基于用户指令调整开机进程;
若否,则禁用快速启动流程并重启服务器。
在一个可选的实施方式中,禁用快速启动流程并重启服务器,包括:
在UEFI Boot设置项中将快速启动流程设置为禁用状态;
为服务器配置带有启动项的移动存储设备;
服务器启动过程中,进入BIOS设置项,并将UEFI shell系统启动设置为使能,保存BIOS设置项;
服务器重启,进入启动菜单,选择建立并进入UEFI shell系统;
服务器启动进入UEFI shell系统后,移动存储设备中的启动项;
在启动项将重启方式设置为热重启,调用mm指令修改重启控制寄存器的值,对服务器进行热重启,通知服务器所有芯片以及网卡进行重启;
在热重启过程中BIOS在开机自检阶段判断CMOS寄存器中的标志位是否被置起;
确认所述标志位被置起,向BMC发送记录信息,所述记录信息用于表示热重启事件;
BMC基于接收的记录信息生成符合IPMI规范的日志。
在一个可选的实施方式中,若校验特征值与标准值不一致,则重新执行设备初始化流程,包括:
控制快速启动流程重新执行设备初始化流程;
将校验特征值作为新的标准值,并以覆盖的方式保存至第一路径;
在设备初始化流程完成之后,读取新的设备配置信息,并计算新的设备配置信息的特征值作为新校验特征值;
比对新校验特征值与新标准值的一致性,若两者一致则继续执行快速启动流程,若两者不一致则禁用快速启动流程并重启服务器。
第二方面,本发明提供一种服务器启动流程控制系统,包括:
初始计算模块,用于计算初始设备配置信息的特征值,并将所述特征值作为标准值保存至第一路径下;
信息读取模块,用于在快速启动流程生效后,读取设备配置信息作为校验信息;
特征比对模块,用于计算所述校验信息的校验特征值,比对校验特征值与标准值是否一致,若两者一致则继续执行快速启动流程直至开机;
流程修正模块,用于若校验特征值与标准值不一致,则重新执行设备初始化流程。
在一个可选的实施方式中,初始计算模块包括:
状态确认单元,用于确认快速启动流程处于启用状态;
初始读取单元,用于从第二地址读取初始设备配置信息,所述初始设备配置信息为BIOS在历史开机的初始化过程中生成的数据,所述第二地址为预配置的生成配置信息存储地址;
初始计算单元,用于计算所述初始设备配置信息的MD5值,并将所述MD5值作为标准值保存至第一路径下,所述第一路径与所述第二路径分属不同的存储装置。
在一个可选的实施方式中,信息读取模块包括:
流程监控单元,用于监控快速启动流程的执行进度,快速启动流程中重新生成的设备配置信息覆盖第二路径下原有的设备配置信息;
信息读取单元,用于若所述执行进度进入到跳过主板自检,则从第二路径读取更新的设备配置信息作为校验信息。
在一个可选的实施方式中,特征比对模块包括:
一致比对单元,用于计算所述校验信息的MD5值,并比对校验信息的MD5值与标准值是否一致;
继续执行单元,用于若校验信息的MD5值与标准值一致,则跳过设备初始化并继续执行快速启动流程;
结果判断单元,用于判断是否成功进入操作系统;
成功判定单元,用于若成功进入操作系统,则判定服务器快速启动成功;
失败判定单元,用于若未能成功进入操作系统,则判定服务器快速启动失败。
在一个可选的实施方式中,所述系统还包括:
提示生成模块,用于生成进入BIOS安装界面的提示信息;
界面判断模块,用于判断是否在指定期限内进入BIOS安装界面;
用户调整模块,用于若在指定期限内进入BIOS安装界面,则基于用户指令调整开机进程;
重启控制模块,用于若在指定期限内未进入BIOS安装界面,则禁用快速启动流程并重启服务器。
在一个可选的实施方式中,重启控制模块包括:
状态设置单元,用于在UEFI Boot设置项中将快速启动流程设置为禁用状态;
环境配置单元,用于为服务器配置带有启动项的移动存储设备;
启动配置单元,用于服务器启动过程中,进入BIOS设置项,并将UEFI shell系统启动设置为使能,保存BIOS设置项;
系统进入单元,用于服务器重启,进入启动菜单,选择建立并进入UEFI shell系统;
对象移动单元,用于服务器启动进入UEFI shell系统后,移动存储设备中的启动项;
重启设置单元,用于在启动项将重启方式设置为热重启,调用mm指令修改重启控制寄存器的值,对服务器进行热重启,通知服务器所有芯片以及网卡进行重启;
标志监控单元,用于在热重启过程中BIOS在开机自检阶段判断CMOS寄存器中的标志位是否被置起;
重启记录单元,用于确认所述标志位被置起,向BMC发送记录信息,所述记录信息用于表示热重启事件;
日志生成单元,用于BMC基于接收的记录信息生成符合IPMI规范的日志。
在一个可选的实施方式中,流程修正模块包括:
流程刷新单元,用于控制快速启动流程重新执行设备初始化流程;
标准刷新单元,用于将校验特征值作为新的标准值,并以覆盖的方式保存至第一路径;
二次校验单元,用于在设备初始化流程完成之后,读取新的设备配置信息,并计算新的设备配置信息的特征值作为新校验特征值;
二次处理单元,用于比对新校验特征值与新标准值的一致性,若两者一致则继续执行快速启动流程,若两者不一致则禁用快速启动流程并重启服务器。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,本发明提供的服务器启动流程控制方法、系统、终端及存储介质,通过在快速启动流程中对设备配置信息进行校验,确保在设备配置信息不变的情况下再继续执行快速启动流程,当设备配置信息保存失败,遭到破坏甚至恶意篡改的时候,系统可以及时纠正并重新进行设备初始化。
本发明在快速启动流程无法成功进入操作系统时,通过重走快速启动流程,即重新执行设备初始化,或者进入BIOS安装界面或者禁用快速启动流程并重启服务器的方式避免服务器由于通过快速启动流程过快的进入OS,以及在启动时不加载比如键盘之类的输入输出设备,导致用户无法与设备进行交互,进而导致设备出现故障且无法恢复的死锁。
本发明通过为服务器配置带有启动项的移动存储设备,并基于移动存储设备建立并进入UEFI shell系统,进而通过调用mm指令修改重启控制寄存器的值的方式控制服务器重启,避免了由于服务器启动失败导致服务器卡住无法重启的情况,此外在执行重启时将重启事件记录至BMC,从而实现整个开机过程的可追溯性。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的方法的另一示意性流程图。
图3是本发明一个实施例的系统的示意性框图。
图4为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
下面对本发明中出现的关键术语进行解释。
BMC,执行伺服器远端管理控制器,英文全称为Baseboard ManagementController.为基板管理控制器。它可以在机器未开机的状态下,对机器进行固件升级、查看机器设备、等一些操作。在BMC中完全实现IPMI功能需要一个功能强大的16位元或32位元微控制器以及用于数据储存的RAM、用于非挥发性数据储存的快闪记忆体和韧体,在安全远程重启、安全重新上电、LAN警告和系统健康监视方面能提供基本的远程可管理性。除了基本的IPMI功能和系统工作监视功能外,通过利用2个快闪记忆体之一储存以前的BIOS,mBMC还能实现BIOS快速元件的选择和保护。例如,在远程BIOS升级後系统不能启动时,远程管理人员可以切换回以前工作的BIOS映像来启动系统。一旦BIOS升级後,BIOS映像还能被锁住,可有效防止病毒对它的侵害。
BIOS(Basic Input/Output System),即基本输入输出系统,最早诞生于1975年的CP/M计算机。它的作用主要是负责计算机硬件初始化,并引导操作系统启动,在计算机系统中占有非常重要的地位。然而,随着计算机行业飞速发展,CPU和其他硬件设备不断更新,BIOS逐渐成为了系统发展的瓶颈。主要表现在开发效率低、性能差、功能扩展性差且升级缓慢、安全性问题以及不支持从硬盘2TB以上地址引导。
基于以上限制,UEFI(Unified Extensible Firmware Interface)即统一可扩展固件接口诞生了,这是一种新的标准,它定义了操作系统和平台固件之间的接口。UEFI的诞生,使得BIOS获得了大的应用和发展。目前我们使用的BIOS都是基于UEFI标准,后面如果没有特别说明,则BIOS统一指UEFI BIOS。
本发明实施例提供的服务器启动流程控制方法由计算机设备执行,相应地,服务器启动流程控制系统运行于计算机设备中。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种服务器启动流程控制系统。根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
如图1所示,该方法包括:
步骤110,计算初始设备配置信息的特征值,并将所述特征值作为标准值保存至第一路径下;
步骤120,在快速启动流程生效后,读取设备配置信息作为校验信息;
步骤130,计算所述校验信息的校验特征值,比对校验特征值与标准值是否一致,若两者一致则继续执行快速启动流程直至开机;
步骤140,若校验特征值与标准值不一致,则重新执行设备初始化流程。
为了便于对本发明的理解,下面以本发明服务器启动流程控制方法的原理,结合实施例中对服务器启动流程进行控制的过程,对本发明提供的服务器启动流程控制方法做进一步的描述。
具体的,请参考图2,所述服务器启动流程控制方法包括:
S1、计算初始设备配置信息的特征值,并将所述特征值作为标准值保存至第一路径下。
确认快速启动流程处于启用状态;从第二地址读取初始设备配置信息,所述初始设备配置信息为BIOS在历史开机的初始化过程中生成的数据,所述第二地址为预配置的生成配置信息存储地址;计算所述初始设备配置信息的MD5值,并将所述MD5值作为标准值保存至第一路径下,所述第一路径与所述第二路径分属不同的存储装置。
具体的,在服务器上电后,读取UEFI Boot相关设置,确认快速启动流程(UEFIFast Boot)处于启用状态。然后从服务器设备配置信息的默认存储路径,即第二路径读取初始设备配置信息,初始设备配置信息为BIOS在历史开机的初始化过程中生成的数据。计算初始设备配置信息的MD5值,并将该MD5值作为标准值保存至第一路径指示的FLASH中。由于第二路径下的设备配置信息会被新生数据覆盖,因此特征值与设备配置信息独立存储。
S2、在快速启动流程生效后,读取设备配置信息作为校验信息。
监控快速启动流程的执行进度,快速启动流程中重新生成的设备配置信息覆盖第二路径下原有的设备配置信息;若所述执行进度进入到跳过主板自检,则从第二路径读取更新的设备配置信息作为校验信息。
具体的,进入UEFI Fast Boot流程,UEFI Fast Boot流程生效跳过主板自检等功能,在此过程执行设备初始化生成新的设备配置信息,新的设备配置信息默认存储在第二路径,覆盖原有信息。因此在UEFI Fast Boot流程跳过主板自检时,暂停流程,从第二路径读取设备配置信息。
S3、计算所述校验信息的校验特征值,比对校验特征值与标准值是否一致,若两者一致则继续执行快速启动流程直至开机。
计算所述校验信息的MD5值,并比对校验信息的MD5值与标准值是否一致;若校验信息的MD5值与标准值一致,则跳过设备初始化并继续执行快速启动流程;判断是否成功进入操作系统:若是,则判定服务器快速启动成功;若否,则判定服务器快速启动失败。
在判定服务器服务器快速启动失败之后,生成进入BIOS安装界面的提示信息;判断是否在指定期限内进入BIOS安装界面:若是,则基于用户指令调整开机进程;若否,则禁用快速启动流程并重启服务器。
具体的,读取初始化过程生成的设备配置信息,计算特征值,并将其与保存的标准值匹配。
若上述特征值匹配成功,则跳过设备初始化,继续进行UEFI Fast Boot流程;判断UEFI Fast Boot是否成功;若UEFI Fast Boot成功,设备启动成功,结束。若UEFI FastBoot失败,则在5秒内提示用户输入按键可进入Setup。
进入Setup后,判断用户是否在5秒内输入了指定按键;若用户输入按键成功,则进入Setup由用户自行调整,结束。
若用户未输入按键,则禁用UEFI Fast Boot;重启设备,进入正常UEFI Boot流程;设备以正常启动流程启动成功,结束。
服务器重启的操作通过两种方式进行:一种是在操作系统下进行的,它基于操作系统的指令,例如Redhat下的“reboot”指令;Windowscmd中的“shutdown”指令;还有一种是通过BMC发送IPMI指令给服务器使其进行重启操作。当UEFI Fast Boot流程启动服务器失败,并且在BMC出现问题无法发送重启命令时,服务器就会卡住,无法实现重启。针对这种情况,采用以下方法进行重启:
在UEFI Boot设置项中将快速启动流程设置为禁用状态;为服务器配置带有启动项的移动存储设备;服务器启动过程中,进入BIOS设置项,并将UEFI shell系统启动设置为使能,保存BIOS设置项;服务器重启,进入启动菜单,选择建立并进入UEFI shell系统;服务器启动进入UEFI shell系统后,移动存储设备中的启动项;在启动项将重启方式设置为热重启,调用mm指令修改重启控制寄存器的值,对服务器进行热重启,通知服务器所有芯片以及网卡进行重启。以外部设备的方式为服务器重启提供基础支撑,通过修改调用mm指令修改重启控制寄存器的值实现对服务器的重启控制。
在热重启过程中BIOS在开机自检阶段判断CMOS寄存器中的标志位是否被置起;确认所述标志位被置起,向BMC发送记录信息,所述记录信息用于表示热重启事件;BMC基于接收的记录信息生成符合IPMI规范的日志。通过这种方式实现服务器启动过程的可追溯性,后续查看BMC日志,若发现服务器在启动过程中存在热重启,说明经历了快速启动流程失败。
S4、若校验特征值与标准值不一致,则重新执行设备初始化流程。
控制快速启动流程重新执行设备初始化流程;将校验特征值作为新的标准值,并以覆盖的方式保存至第一路径;在设备初始化流程完成之后,读取新的设备配置信息,并计算新的设备配置信息的特征值作为新校验特征值;比对新校验特征值与新标准值的一致性,若两者一致则继续执行快速启动流程,若两者不一致则禁用快速启动流程并重启服务器。
具体的,若特征值匹配未成功,重新进行设备初始化流程;计算设备配置信息特征值,保存于Flash;将设备配置信息与特征值分开保存于存储装置;继续进行UEFI FastBoot流程。
在一些实施例中,所述服务器启动流程控制系统300可以包括多个由计算机程序段所组成的功能模块。所述服务器启动流程控制系统300中的各个程序段的计算机程序可以存储于计算机设备的存储器中,并由至少一个处理器所执行,以执行(详见图1描述)服务器启动流程控制的功能。
本实施例中,所述服务器启动流程控制系统300根据其所执行的功能,可以被划分为多个功能模块,如图3所示。所述功能模块可以包括:初始计算模块310、信息读取模块320、特征比对模块330和流程修正模块340。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
初始计算模块,用于计算初始设备配置信息的特征值,并将所述特征值作为标准值保存至第一路径下;
信息读取模块,用于在快速启动流程生效后,读取设备配置信息作为校验信息;
特征比对模块,用于计算所述校验信息的校验特征值,比对校验特征值与标准值是否一致,若两者一致则继续执行快速启动流程直至开机;
流程修正模块,用于若校验特征值与标准值不一致,则重新执行设备初始化流程。
可选地,作为本发明一个实施例,初始计算模块包括:
状态确认单元,用于确认快速启动流程处于启用状态;
初始读取单元,用于从第二地址读取初始设备配置信息,所述初始设备配置信息为BIOS在历史开机的初始化过程中生成的数据,所述第二地址为预配置的生成配置信息存储地址;
初始计算单元,用于计算所述初始设备配置信息的MD5值,并将所述MD5值作为标准值保存至第一路径下,所述第一路径与所述第二路径分属不同的存储装置。
可选地,作为本发明一个实施例,信息读取模块包括:
流程监控单元,用于监控快速启动流程的执行进度,快速启动流程中重新生成的设备配置信息覆盖第二路径下原有的设备配置信息;
信息读取单元,用于若所述执行进度进入到跳过主板自检,则从第二路径读取更新的设备配置信息作为校验信息。
可选地,作为本发明一个实施例,特征比对模块包括:
一致比对单元,用于计算所述校验信息的MD5值,并比对校验信息的MD5值与标准值是否一致;
继续执行单元,用于若校验信息的MD5值与标准值一致,则跳过设备初始化并继续执行快速启动流程;
结果判断单元,用于判断是否成功进入操作系统;
成功判定单元,用于若成功进入操作系统,则判定服务器快速启动成功;
失败判定单元,用于若未能成功进入操作系统,则判定服务器快速启动失败。
可选地,作为本发明一个实施例,所述系统还包括:
提示生成模块,用于生成进入BIOS安装界面的提示信息;
界面判断模块,用于判断是否在指定期限内进入BIOS安装界面;
用户调整模块,用于若在指定期限内进入BIOS安装界面,则基于用户指令调整开机进程;
重启控制模块,用于若在指定期限内未进入BIOS安装界面,则禁用快速启动流程并重启服务器。
可选地,作为本发明一个实施例,重启控制模块包括:
状态设置单元,用于在UEFI Boot设置项中将快速启动流程设置为禁用状态;
环境配置单元,用于为服务器配置带有启动项的移动存储设备;
启动配置单元,用于服务器启动过程中,进入BIOS设置项,并将UEFI shell系统启动设置为使能,保存BIOS设置项;
系统进入单元,用于服务器重启,进入启动菜单,选择建立并进入UEFI shell系统;
对象移动单元,用于服务器启动进入UEFI shell系统后,移动存储设备中的启动项;
重启设置单元,用于在启动项将重启方式设置为热重启,调用mm指令修改重启控制寄存器的值,对服务器进行热重启,通知服务器所有芯片以及网卡进行重启;
标志监控单元,用于在热重启过程中BIOS在开机自检阶段判断CMOS寄存器中的标志位是否被置起;
重启记录单元,用于确认所述标志位被置起,向BMC发送记录信息,所述记录信息用于表示热重启事件;
日志生成单元,用于BMC基于接收的记录信息生成符合IPMI规范的日志。
可选地,作为本发明一个实施例,流程修正模块包括:
流程刷新单元,用于控制快速启动流程重新执行设备初始化流程;
标准刷新单元,用于将校验特征值作为新的标准值,并以覆盖的方式保存至第一路径;
二次校验单元,用于在设备初始化流程完成之后,读取新的设备配置信息,并计算新的设备配置信息的特征值作为新校验特征值;
二次处理单元,用于比对新校验特征值与新标准值的一致性,若两者一致则继续执行快速启动流程,若两者不一致则禁用快速启动流程并重启服务器。
图4为本发明实施例提供的一种终端400的结构示意图,该终端400可以用于执行本发明实施例提供的服务器启动流程控制方法。
其中,该终端400可以包括:处理器410、存储器420及通信模块430。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器420可以用于存储处理器410的执行指令,存储器420可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器420中的执行指令由处理器410执行时,使得终端400能够执行以下上述方法实施例中的部分或全部步骤。
处理器410为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器410可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信模块430,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过在快速启动流程中对设备配置信息进行校验,确保在设备配置信息不变的情况下再继续执行快速启动流程,当设备配置信息保存失败,遭到破坏甚至恶意篡改的时候,系统可以及时纠正并重新进行设备初始化,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种服务器启动流程控制方法,其特征在于,包括:
计算初始设备配置信息的特征值,并将所述特征值作为标准值保存至第一路径下;
在快速启动流程生效后,读取设备配置信息作为校验信息;
计算所述校验信息的校验特征值,比对校验特征值与标准值是否一致,若两者一致则继续执行快速启动流程直至开机;
若校验特征值与标准值不一致,则重新执行设备初始化流程。
2.根据权利要求1所述的方法,其特征在于,计算设备配置信息的特征值,并将所述特征值作为标准值保存至第一路径下,包括:
确认快速启动流程处于启用状态;
从第二地址读取初始设备配置信息,所述初始设备配置信息为BIOS在历史开机的初始化过程中生成的数据,所述第二地址为预配置的生成配置信息存储地址;
计算所述初始设备配置信息的MD5值,并将所述MD5值作为标准值保存至第一路径下,所述第一路径与所述第二路径分属不同的存储装置。
3.根据权利要求1或2所述的方法,其特征在于,在快速启动流程生效后,读取设备配置信息作为校验信息,包括:
监控快速启动流程的执行进度,快速启动流程中重新生成的设备配置信息覆盖第二路径下原有的设备配置信息;
若所述执行进度进入到跳过主板自检,则从第二路径读取更新的设备配置信息作为校验信息。
4.根据权利要求1所述的方法,其特征在于,计算所述校验信息的校验特征值,比对校验特征值与标准值是否一致,若两者一致则继续执行快速启动流程直至开机,包括:
计算所述校验信息的MD5值,并比对校验信息的MD5值与标准值是否一致;
若校验信息的MD5值与标准值一致,则跳过设备初始化并继续执行快速启动流程;
判断是否成功进入操作系统:
若是,则判定服务器快速启动成功;
若否,则判定服务器快速启动失败。
5.根据权利要求4所述的方法,其特征在于,在判定服务器快速启动失败之后,所述方法还包括:
生成进入BIOS安装界面的提示信息;
判断是否在指定期限内进入BIOS安装界面:
若是,则基于用户指令调整开机进程;
若否,则禁用快速启动流程并重启服务器。
6.根据权利要求5所述的方法,其特征在于,禁用快速启动流程并重启服务器,包括:
在UEFIBoot设置项中将快速启动流程设置为禁用状态;
为服务器配置带有启动项的移动存储设备;
服务器启动过程中,进入BIOS设置项,并将UEFI shell系统启动设置为使能,保存BIOS设置项;
服务器重启,进入启动菜单,选择建立并进入UEFI shell系统;
服务器启动进入UEFI shell系统后,移动存储设备中的启动项;
在启动项将重启方式设置为热重启,调用mm指令修改重启控制寄存器的值,对服务器进行热重启,通知服务器所有芯片以及网卡进行重启;
在热重启过程中BIOS在开机自检阶段判断CMOS寄存器中的标志位是否被置起;
确认所述标志位被置起,向BMC发送记录信息,所述记录信息用于表示热重启事件;
BMC基于接收的记录信息生成符合IPMI规范的日志。
7.根据权利要求1所述的方法,其特征在于,若校验特征值与标准值不一致,则重新执行设备初始化流程,包括:
控制快速启动流程重新执行设备初始化流程;
将校验特征值作为新的标准值,并以覆盖的方式保存至第一路径;
在设备初始化流程完成之后,读取新的设备配置信息,并计算新的设备配置信息的特征值作为新校验特征值;
比对新校验特征值与新标准值的一致性,若两者一致则继续执行快速启动流程,若两者不一致则禁用快速启动流程并重启服务器。
8.一种服务器启动流程控制系统,其特征在于,包括:
初始计算模块,用于计算初始设备配置信息的特征值,并将所述特征值作为标准值保存至第一路径下;
信息读取模块,用于在快速启动流程生效后,读取设备配置信息作为校验信息;
特征比对模块,用于计算所述校验信息的校验特征值,比对校验特征值与标准值是否一致,若两者一致则继续执行快速启动流程直至开机;
流程修正模块,用于若校验特征值与标准值不一致,则重新执行设备初始化流程。
9.一种终端,其特征在于,包括:
存储器,用于存储服务器启动流程控制程序;
处理器,用于执行所述服务器启动流程控制程序时实现如权利要求1-7任一项所述服务器启动流程控制方法的步骤。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述可读存储介质上存储有服务器启动流程控制程序,所述服务器启动流程控制程序被处理器执行时实现如权利要求1-7任一项所述服务器启动流程控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311014668.7A CN117130672A (zh) | 2023-08-11 | 2023-08-11 | 服务器启动流程控制方法、系统、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311014668.7A CN117130672A (zh) | 2023-08-11 | 2023-08-11 | 服务器启动流程控制方法、系统、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117130672A true CN117130672A (zh) | 2023-11-28 |
Family
ID=88862089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311014668.7A Pending CN117130672A (zh) | 2023-08-11 | 2023-08-11 | 服务器启动流程控制方法、系统、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117130672A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117827294A (zh) * | 2024-02-29 | 2024-04-05 | 苏州元脑智能科技有限公司 | 一种内存启动处理方法及装置 |
-
2023
- 2023-08-11 CN CN202311014668.7A patent/CN117130672A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117827294A (zh) * | 2024-02-29 | 2024-04-05 | 苏州元脑智能科技有限公司 | 一种内存启动处理方法及装置 |
CN117827294B (zh) * | 2024-02-29 | 2024-05-24 | 苏州元脑智能科技有限公司 | 一种内存启动处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10613773B2 (en) | Backing up firmware during initialization of device | |
EP2831722B1 (en) | Method and system for verifying proper operation of a computing device after a system change | |
US20110283274A1 (en) | Firmware image update and management | |
JP5665923B2 (ja) | 基本入出力システムがアップデート可能な電子装置及びアップデート方法 | |
CN112433769A (zh) | 一种bmc启动方法、装置、计算机设备及存储介质 | |
CN117130672A (zh) | 服务器启动流程控制方法、系统、终端及存储介质 | |
CN111090546A (zh) | 一种操作系统重启方法、装置、设备及可读存储介质 | |
CN116932010B (zh) | 系统固件升级方法、装置及服务器 | |
CN113867807A (zh) | 一种缩短服务器上电时间的方法、装置、设备和存储介质 | |
US20230087221A1 (en) | Detection fields of view | |
KR100860402B1 (ko) | 2단계 부트로더를 이용한 시스템 업그레이드 장치 및 방법 | |
CN113377425B (zh) | Bmc固件生成方法和装置、bmc启动方法和装置及存储介质 | |
CN115658152A (zh) | 固件升级方法、固件、电子设备和计算机可读存储介质 | |
CN113778485A (zh) | 电子芯片的系统运行方法、装置、电子芯片和存储介质 | |
CN112667444A (zh) | 一种系统升级方法、存储介质及终端设备 | |
CN112527371A (zh) | 一种引导加载程序升级方法、装置、电子设备及存储介质 | |
CN116089153A (zh) | Bmc异常因素确认方法、系统、终端及存储介质 | |
CN113900934B (zh) | 多镜像混合刷新测试方法、系统、终端及存储介质 | |
CN113867753B (zh) | 一种服务器的固件更新方法及系统 | |
CN111666094B (zh) | 一种实时固件升级系统与方法 | |
CN117093399A (zh) | 系统启动方法、片上系统、计算机设备及存储介质 | |
EP2449463A1 (en) | A method, apparatus and computer program for loading files during a boot- up process | |
CN116719564A (zh) | 基于存储器分区的设备启动方法、装置及电子设备 | |
TWI575459B (zh) | 終端設備及其系統升級方法 | |
CN117492799A (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 |