CN119902811A - 预启动执行环境的启动方法、计算机设备及相关产品 - Google Patents
预启动执行环境的启动方法、计算机设备及相关产品 Download PDFInfo
- Publication number
- CN119902811A CN119902811A CN202510376850.XA CN202510376850A CN119902811A CN 119902811 A CN119902811 A CN 119902811A CN 202510376850 A CN202510376850 A CN 202510376850A CN 119902811 A CN119902811 A CN 119902811A
- Authority
- CN
- China
- Prior art keywords
- startup
- sequence
- starting
- boot
- execution environment
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
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
本申请公开了一种预启动执行环境的启动方法、计算机设备及相关产品,涉及计算机技术领域,包括判断启动项数据是否标识目标启动顺序,以判断是否能够进行预启动执行环境的启动,获取与目标启动顺序的需求启动次数关联的顺序属性,并判断顺序属性与预设属性二者是否匹配,响应于匹配,保留系统设置项内预设的默认启动顺序,初始化启动热键,利用启动热键按照目标启动顺序执行预启动执行环境的启动;以当服务器启动完成导出系统设置项时导出默认启动顺序,解决基于临时启动项分组的启动顺序进行启动调整导致启动项分组的默认启动顺序更改的技术问题,达到提高预启动执行环境的启动准确性、稳定性的技术效果。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种预启动执行环境的启动方法、计算机设备及相关产品。
背景技术
服务器作为网络后台运行重要载体之一,除了维护网路的运行和存储数据之外,也可以作为很多网络服务和设备的载体,因此服务器被判定是信息服务的基础载体。对于每个服务器而言又相当于一个大型PC(Personal Computer,个人计算机)的存在方式,可以安装系统,安装系统通常借助于PXE(Preboot Execute Environment,预启动执行环境)的网络环境安装。
相关技术中,通常是根据相应系统工具导出的默认启动项分组的启动顺序进行预启动执行环境的启动,但是在临时性的预启动执行环境的启动后,系统习惯进行通过相应系统工具导出启动项分组的启动顺序,但是此时相应系统工具导出的启动项分组的启动顺序为临时目标启动顺序,如此,会导致获取不到正确的默认启动项分组的启动顺序,造成系统性能下降。
发明内容
本申请提供了一种预启动执行环境的启动方法、计算机设备及相关产品,以解决相关技术中基于临时启动项分组的启动顺序进行启动调整导致默认的启动项分组的启动顺序更改的问题。
本申请提供了一种预启动执行环境的启动方法,包括:基本输入输出系统读取基板管理控制器的启动项数据,判断启动项数据是否标识目标启动顺序;响应于启动项数据标识目标启动顺序,基本输入输出系统校验顺序属性与预设属性二者是否匹配,响应于二者匹配则保留系统设置项内预设的默认启动顺序;其中,顺序属性与目标启动顺序的需求启动次数关联;基本输入输出系统初始化启动热键,利用启动热键按照目标启动顺序执行预启动执行环境的启动;以当服务器启动完成导出系统设置项时导出默认启动顺序。
本申请还提供了一种计算机设备,包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序时实现下述实施方式中的数据处理方法的步骤。
基本输入输出系统读取基板管理控制器的启动项数据,判断启动项数据是否标识目标启动顺序;响应于启动项数据标识目标启动顺序,基本输入输出系统校验顺序属性与预设属性二者是否匹配,响应于二者匹配则保留系统设置项内预设的默认启动顺序;其中,顺序属性与目标启动顺序的需求启动次数关联;基本输入输出系统初始化启动热键,利用启动热键按照目标启动顺序执行预启动执行环境的启动;以当服务器启动完成导出系统设置项时导出默认启动顺序。
本申请还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被处理器执行时实现下述实施方式中的数据处理方法的步骤。
基本输入输出系统读取基板管理控制器的启动项数据,判断启动项数据是否标识目标启动顺序;响应于启动项数据标识目标启动顺序,基本输入输出系统校验顺序属性与预设属性二者是否匹配,响应于二者匹配则保留系统设置项内预设的默认启动顺序;其中,顺序属性与目标启动顺序的需求启动次数关联;基本输入输出系统初始化启动热键,利用启动热键按照目标启动顺序执行预启动执行环境的启动;以当服务器启动完成导出系统设置项时导出默认启动顺序。
本申请还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现下述实施方式中的数据处理方法的步骤。
基本输入输出系统读取基板管理控制器的启动项数据,判断启动项数据是否标识目标启动顺序;响应于启动项数据标识目标启动顺序,基本输入输出系统校验顺序属性与预设属性二者是否匹配,响应于二者匹配则保留系统设置项内预设的默认启动顺序;其中,顺序属性与目标启动顺序的需求启动次数关联;基本输入输出系统初始化启动热键,利用启动热键按照目标启动顺序执行预启动执行环境的启动;以当服务器启动完成导出系统设置项时导出默认启动顺序。
通过本申请提供的预启动执行环境的启动方法,由于判断启动项数据是否标识目标启动顺序,以判断是否能够进行预启动执行环境的启动,获取与目标启动顺序的需求启动次数关联的顺序属性,并判断顺序属性与预设属性二者是否匹配,响应于匹配,保留系统设置项内预设的默认启动顺序,初始化启动热键,利用启动热键按照目标启动顺序执行预启动执行环境的启动;以当服务器启动完成导出系统设置项时导出默认启动顺序,因此,可以确定启动项数据是否为目标启动顺序,且确定目标启动顺序的顺序属性是否与预设属性匹配,以判断目标启动顺序是否是临时目标启动顺序,并通过激活与预启动执行环境关联的启动热键,利用启动热键按照目标启动顺序执行预启动执行环境的启动,解决了相关技术中基于临时启动项分组的启动顺序进行启动调整导致默认的启动项分组的启动顺序更改的技术问题,达到了提高预启动执行环境的启动准确性、稳定性的技术效果。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请一实施例提供的预启动执行环境的启动方法的流程示意图;
图2为本申请另一实施例提供的预启动执行环境的启动方法的流程示意图;
图3为本申请一实施例基本输入输出系统激活启动热键基于目标启动顺序执行预启动执行环境的启动并屏蔽其他热键功能的流程示意图;
图4为本申请一实施例提供的预启动执行环境的启动系统的结构示意图;
图5为本申请一实施例提供的预启动执行环境的启动装置的结构示意图;
图6为本申请一实施例提供的计算机设备的内部结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其它实施例,都属于本申请保护范围。
需要说明的是,在本申请的描述中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。
服务器通常需要配置外设设备,如PCI接口的PCI网卡、PCI RAID卡、PCI OCP网卡、PCI nvme硬盘、SATA硬盘、CD/DVD-ROM(光驱)、USB网卡、USB硬盘等;无论设备采用什么接口形态,都将其进行归类。例如,根据设备属性将如USB接口设备归为USB类设备,其可以包括USB网卡、USB硬盘、U盘等;或者,可以根据设备的类型定义为网卡设备组,其可以包括PCI接口的网卡、PCI接口的OCP网卡、板载的网卡、USB接口的网卡设备等;按照不同的定义进行归类可以显示为不同的分组类型。此处,可以将非USB接口的网卡设备进行归类为网卡设备组,在网卡设备组中包含PCI接口的网卡、OCP网卡、HCA卡或者HBA卡等;nvme类型的存储设备则归属的硬盘设备组;光驱或者DVD设备则归类为CD/DVD-ROM设备组中;剩余的设备统一归属到其它设备组中。如此将设备分组后,存在大概4类设备,而每个设备中又存在设备优先级问题,如网卡1的优先级需要高于网卡2的优先级;存储设备组中存储设备1的优先级需要高于存储设备2的优先级等等事项;同时,分组设计中也需要关注设备组间的优先级设置,如需要网卡为第一启动项,则需要将网卡设备调整最高优先级,如需要存储设备为第一启动项,则需要将存储设备调整为最高优先级;同样的,组内的设备也有优先级调整。
其中,PCI(Peripheral Component Interconnect,外设部件互连标准)表示PCI局部总线,PCI接口、PCI网卡、PCI RAID卡分别表示基于PCI局部总线的接口、网卡、磁盘阵列卡。
OCP网卡,全称为Open Compute Project网卡,是基于OCP标准设计的网络接口卡。
nvme(Non-Volatile Memory Express)是一种新型高速存储协议,专为固态硬盘设计,能够通过PCIe总线直接与主板通信。
SATA(Serial ATA)是传统硬盘的通信协议,也被用于早期的固态硬盘。
USB(Universal Serial Bus)是通用串行总线,一种串口总线标准。
HCA卡,主机通道适配器卡,通常用于高性能计算(HPC)和数据中心环境,提供非常高效的数据通信。
HBA卡,主机总线适配器卡,用于将服务器或主机系统连接到存储设备,如光纤通道(Fibre Channel)、SAS(串行连接 SCSI)或 SATA(串行 ATA)设备。
DVD(Digital Video Disc),又被称为高密度数字视频光盘,一种光存储产品。
设备组间的优先级调整通常是通过服务器启动过程中进入BIOS(基本输入输出系统)的Setup界面(设置界面)进行人为手动调整,但这种调整方案较为耗时耗力且在数据中心数万台服务器采用此方法将耗费巨大人力、财力、物力,并且临时性一次PXE(预启动执行环境)启动后,系统习惯进行通过相应系统工具导出启动项分组的启动顺序,这里的相应系统工具为能够实现导出启动项分组的启动顺序的工具,举例而言,可以是SCE工具,一种用于监控和管理企业的系统管理工具。但是此时相应系统工具导出的启动项分组的启动顺序为临时目标启动顺序,如此,会导致获取不到正确的默认启动项分组的启动顺序,造成系统性能下降,因此,亟需一种能够实现临时性的启动项分组的启动顺序进行调整,而又不更改获取的默认启动项分组的启动顺序的预启动执行环境的启动方法。
为了使本技术领域的技术人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
如图1所示,本申请的一实施例提供了一种预启动执行环境的启动方法,该方法具体包括以下步骤:
步骤101:基本输入输出系统读取基板管理控制器的启动项数据,判断启动项数据是否标识目标启动顺序。
具体的,基本输入输出系统获取启动项数据的数据值以及启动项数据的数据最低位二进制数值;基本输入输出系统判断启动项数据的数据值是否为第一预设值;响应于启动项数据的数据值为第一预设值,则基本输入输出系统判定启动项数据标识目标启动顺序;响应于启动项数据的数据值为非第一预设值,则基本输入输出系统判定启动项数据的数据最低位二进制数值是否为第二预设值;响应于启动项数据的数据最低位二进制数值为第二预设值,则基本输入输出系统判定启动项数据标识目标启动顺序;响应于启动项数据的数据最低位二进制数值为非第二预设值,则基本输入输出系统判定启动项数据未标识目标启动顺序,获取启动项分组的默认启动顺序,基于启动项分组的默认启动顺序启动服务器。
这里的启动项数据用于表示基本输入输出系统能否从基板管理控制器中获取到目标控制参数。判断启动项数据是否标识目标启动顺序是指基本输入输出系统能否从基板管理控制器中的目标控制参数中获取到目标启动顺序。
具体可以通过BIOS从第一协议读取BMC端的第一协议启动项数据,当获取BMC端的第一协议启动项数据后并对启动项数据进行判断,判断启动项数据中的数据是否为0(启动项数据的数据值是否为第一预设值)或者启动项数据中的Bit0是否设置为1(启动项数据的数据最低位二进制数值是否为第二预设值),即当数据为0或者启动项数据的Bit0设置为1时,则确认BMC端有设置第一协议启动顺序的设置;Bit0代表BIOS启动或者Post启动的设置;响应于当数据不为0且启动项数据的Bit0设置为0时则判定没有第一协议命令设置启动顺序调整功能。
请参阅图2,首先,在基本输入输出系统读取基板管理控制器的启动项数据之前还包括:响应于基板管理控制器获取到目标控制指令,基板管理控制器对目标控制指令进行解析,获取目标控制参数,并将目标控制参数存储至基板管理控制器的存储器中,目标控制参数包括顺序属性以及启动方式类型。
本申请的基板管理控制器会根据目标控制指令获取目标参数信息,其中,目标控制指令为第一控制指令或者第二控制指令,基板管理控制器获取到目标控制指令包括:获取服务器状态信息,根据服务器状态信息确定服务器状态,服务器状态包括第一状态、第二状态;响应于服务器状态为第一状态,获取基板管理控制器密码,根据基板管理控制器密码生成第一控制指令;第一控制指令支持执行单次预启动执行环境的启动;响应于服务器状态为第二状态,获取基板管理控制器网络地址、基板管理控制器用户名称以及基板管理控制器密码生成第二控制指令,第二控制指令支持执行单次预启动执行环境的启动。
基本输入输出系统(BIOS)作为服务器主板最底层的、最直接的硬件设置和控制的管理者,BIOS功能的优化,更能提高服务器的易用性。
本申请中的目标控制指令为第一控制指令或者第二控制指令,第一控制指令是服务器在第一状态下生成远程管理的控制指令,第一状态是服务器关机状态,这里的远程管理的控制指令为远程第一协议指令,在服务器关机状态下,通过第一控制指令远程设置一个预启动执行环境。第二控制指令对应是在第二状态下生成的系统下带内的控制指令,第二状态是服务器通过系统盘启动并且进入系统状态后,这里的第二控制指令为在服务器系统下带内的第一协议指令,通过第二控制指令设置一个预启动执行环境。
示例性的,第一控制指令可以如下所示:
远程控制端命令:“ipmitool.exe chassis bootdev PXE;”。
第二控制指令可以如下所示:
系统下命令:“ipmitool.exe –I lanplus -H XX.XX.XX.XX(bmc ip 地址) –UBMC用户名 –P BMC密码 chassis bootdev PXE;”。
在不同的服务器状态下,通过不同的方式获取目标控制指令,将目标指令对应的目标控制参数存储至基板管理控制器的存储器中,这里的目标控制参数是通过目标控制指令设置的预启动执行环境的相关参数。
这里的目标控制参数包括预启动执行环境对应的启动项分组的启动顺序的属性以及启动方式类型,启动项分组的启动顺序的属性是设置的启动项分组的启动顺序的设置次数,也即,依据该启动项分组的启动顺序进行几次启动,这里的启动方式类型是指启动方式的类型,例如,启动方式的类型可以包括预启动执行环境的启动、内存启动、光驱设备启动等等。
当系统下或者远程控制端设置一次第一协议命令启动后,基板管理控制器端接收命令后将一次支持进行预启动执行环境的启动命令存储在基板管理控制器的存储器中进行存储记录,存储器可以为NVRAM(非易失随机访问存储器)或者EEPROM(带电可擦可编程只读存储器),同时,基板管理控制器端可以通过计时器进行自动计时,获取计时器计时时长以及预设时间阈值。通过将获取的计时器计时时长与预设时间阈值进行比较,判断是否需要将目标控制参数从基板管理控制器的存储器中删除。
在一实施方式中,将目标控制参数存储至基板管理控制器的存储器中包括:响应于将目标控制参数存储至基板管理控制器的存储器中,开启计时器;获取计时器计时时长以及获取预设时间阈值;响应于计时器计时时长小于或者等于预设时间阈值,且基本输入输出系统获取到基板管理控制器传输的目标控制参数时,将目标控制参数从基板管理控制器的存储器中删除;响应于计时器计时时长大于预设时间阈值,将目标控制参数从基板管理控制器的存储器中删除;响应于计时器计时时长小于预设时间阈值,且基本输入输出系统未获取到基板管理控制器传输的目标控制参数时,目标控制参数继续在基板管理控制器的存储器中存储。
这里的预设时间阈值根据实际需要以及操作人员的经验设置,本申请中不对预设时间阈值的具体数值进行限定。示例性的,本申请中以预设时间阈值为3分钟、6分钟等等,以预设时间阈值为3分钟进行叙述。
当基板管理控制器端显示计时器计时时长超过3分钟时,无论基本输入输出系统是否已经启动都会将目标控制参数从基板管理控制器的存储器中进行擦除;当基本输入输出系统在3分钟内为获取到基板管理控制传输的目标控制参数时,则目标控制参数继续存储在基板管理控制器的存储器中,不对存储器中的目标控制参数进行处理。响应于基本输入输出系统在3分钟内或者在3分钟时通过BIOS与BMC的第一协议获取了目标控制参数后,也会将目标控制参数从基板管理控制器的存储器中进行擦除,此时,可以通过第一协议命令进行查询一次PXE启动的参数是否有效设置。
示例性的,第一协议命令格式如下:
远程控制端命令:“ipmitool.exe chassis bootparam get 5”。
系统下命令:“ ipmitool.exe –I lanplus -H XX.XX.XX.XX(bmc ip 地址) –UBMC用户名 –P BMC密码 chassis bootparam get 5”。
接下来,可以通过BMC web或者IPMI命令执行 ipmitool.exe –I lanplus -HXX.XX.XX.XX(bmc ip 地址) –U BMC用户名 –P BMC密码 power cycle进行预启动执行环境的启动,或者通过服务器物理电源按键进展开启动。
本申请中在将目标控制参数存储至基板管理控制器的存储器中之后包括:判断第一协议是否安装成功以及第二协议是否支持预启动执行环境的启动。
具体的,响应于服务器上电,基本输入输出系统在系统初始化阶段安装第一协议并判断第一协议是否安装成功;响应于第一协议安装成功,基本输入输出系统判断第二协议是否支持进行预启动执行环境的启动。
第一协议可以是能够实现通过系统接口链接到基板管理控制器上,用于实现带外管理的协议,第二协议可以是用于服务器、存储系统和网络设备的集中管理和监控的协议,举例而言,第一协议具体可以为IPMI协议,第二协议具体可以为Redfish协议。启动项数据为基本输入输出系统从基板管理控制器中获取到目标控制参数时,生成的启动项数据,启动项数据用于表示基本输入输出系统能否从基板管理控制器中获取到目标控制参数。判断启动项数据是否标识目标启动顺序是指基本输入输出系统能否从基板管理控制器中的目标控制参数中获取到目标启动顺序。
也就是说,本方案可以通过利用第一协议以及第二协议传输启动项分组的启动顺序,其中,智能平台管理界面IPMI(Intelligent Platform Management Interface) 提供了可以用来设置和获取BMC(基板管理控制器)芯片里面有关引导启动项的设定,IPMI工具可以通过网络向指定的网络地址下达命令,这样便可以在远程控制端直接更改Boot选项(启动选项),而不需要通过登录服务器BMC控制端进行较多步骤的设置。也无需立即让服务器重启,通过IPMI工具直接更改服务器Boot选项后,不会影响服务器系统的正常运行,只有在服务器下一次重新启动的时候才生效。满足了部分客户不希望立即停止服务器运行的要求。Redfish是一种用于管理现代数据中心和网络设备的标准,主要用于数据中心硬件管理。它提供了一种现代化的、易于使用的接口,使用JSON格式进行数据传输和描述。
预启动执行环境(PXE,Pre-boot Execution Environment)是一种网络引导技术,工作在Client/Server(客户端/服务器)模式,PXE网卡的ROM(Read-Only Memory,只读存储器)内置了对dhcp和tftp协议的支持,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。PXE网络的方式来实现系统自动化批量安装,整个安装过程中无需人工干预,极大的提供了工作效率。
本方案中的启动项分组的启动顺序即为BIOS(基本输入输出系统)启动项引导进入操作系统的多个设备组成的一组有先后顺序的可引导设备选项。本申请中的启动项分组可以为多个,多个启动项分组对应多个启动顺序,多个启动项分组包括存储设备组、网卡设备组、光驱设备组以及其它设备组。
在服务器系统中包括多种不同的引导设备,例如常用的CD/DVD光驱、软驱、硬盘、可引导USB设备等等,所有的可引导设备在BIOS中都会有一个默认的引导顺序,例如:第一启动项为CD/DVD光驱、第二启动项为软驱、第三启动项为硬盘。在默认情况下,BIOS会按照启动顺序逐个去试图引导进操作系统,如果第一个启动项引导失败,则会自动尝试下一个,直到所有的可引导设备都被尝试过。
请参阅图3,图3为本申请一实施例基本输入输出系统激活启动热键基于目标启动顺序执行预启动执行环境的启动并屏蔽其他热键功能的流程示意图。需要说明的是,可以认为图3为图2中的BIOS响应于启动数据标识目标启动顺序且顺序属性与预设属性二者匹配,激活启动热键,基于目标启动顺序执行预启动执行环境的启动,并屏蔽其它热键功能的具体流程。
具体的,在服务器上电之后,判断启动数据标识目标启动顺序以及顺序属性与预设属性二者匹配之前,可以判断第一协议是否安装成功以及判断第二协议是否支持进行预启动执行环境的启动。
具体的,响应于服务器上电,基本输入输出系统在系统初始化阶段安装第一协议并判断第一协议是否安装成功;响应于第一协议安装成功,基本输入输出系统判断第二协议是否支持进行预启动执行环境的启动。响应于第一协议安装不成功,基本输入输出系统判定基本输入输出系统无法进行启动项分组设置的调整,获取默认启动项分组信息,根据默认启动项分组信息启动服务器,默认启动项分组信息包括启动项分组的默认启动顺序。
其中,基本输入输出系统判断第二协议是否支持进行预启动执行环境的启动包括:基本输入输出系统判断第二协议是否支持进行预启动执行环境;响应于第二协议支持进行预启动执行环境,基本输入输出系统判断第二协议中是否包括协议启动顺序;其中,协议启动顺序表示第二协议中设置调整的启动项分组的启动顺序;响应于第二协议中包括协议启动顺序,基本输入输出系统根据第二协议中的协议启动顺序启动服务器;响应于第二协议中未包括协议启动顺序,基本输入输出系统判定第二协议支持进行预启动执行环境的启动。
本申请中通过判断基本输入输出系统在初始化(DXE)阶段是否是安装第一协议并判断第一协议是否安装成功,响应于第一协议安装失败则返回不再继续执行,响应于第一协议安装成功则继续执行,检查第二协议(第二协议)是否支持进行预启动执行环境,响应于第二协议支持进行预启动执行环境,则判断第二协议是否包括协议启动顺序,协议启动顺序表示第二协议中设置调整的启动项分组的启动顺序,响应于第二协议中包括协议启动顺序,则第二协议中的协议启动顺序为准进行服务器的启动。
若是第二协议中不包括协议启动顺序,或者基板管理控制器在初始化阶段检测到第二协议不支持进行预启动执行环境的启动时,则基本输入输出系统通过第一协议获取第一基板管理控制器的端的第一协议的启动项数据。
在判定启动项数据标识目标启动顺序之后包括:基板管理控制器通过第一协议将目标启动顺序的相关信息发送至基本输入输出系统;响应于基本输入输出系统接收到目标启动顺序的相关信息,对目标启动顺序进行分析,获取启动项分组的启动项设置以及启动方式参数,启动项设置包括启动项分组的启动顺序的顺序属性,启动方式参数包括启动方式类型;基于启动项分组的启动顺序以及启动方式参数判断是否支持启动项分组的启动顺序调整。
这里的启动项设置数据是指启动项设置数据是指启动分组的启动顺序设置的启动次数是单次还是多次,启动方式类型是指启动的类型,例如是预启动执行环境启动还是内存启动、光驱启动等等启动方式。
需要说明的是,本申请中的判断是否支持进行预启动执行环境以及是否支持进行预启动执行环境的启动的含义不同,判断是否支持进行预启动执行环境是指对预启动执行环境的启动环境配置,只要启动环境满足启动条件即可,即不论何种启动方式,只要启动环境能够支持进行预启动执行环境的启动。而判断是否支持进行预启动执行环境的启动是指是否根据本申请中的目标启动顺序进行预启动执行环境的启动。
在一实施方式中,可以通过设置函数,获取函数的返回值来判断启动标志位是否有效。具体地,基本输入输出系统获取基板管理控制器存储的启动标志位,判断启动标志位是否有效;响应于启动标志位无效,判定基本输入输出系统不支持对启动项分组的启动顺序进行调整,则获取启动项分组的默认启动顺序,基于启动项分组的默认启动顺序启动服务器;响应于启动标志位有效,判定基本输入输出系统支持对启动项分组的启动顺序进行调整。
本申请中通过设置启动标志位判断基本输入输出系统是否支持对启动项分组的启动顺序进行调整,基于启动项分组的启动顺序以及启动方式参数判断是否支持启动项分组的启动顺序调整,多种方式对是否支持对启动项分组的启动顺序进行调整进行判定,可以提高服务器启动的稳定性。
步骤102:响应于启动项数据标识目标启动顺序,基本输入输出系统校验顺序属性与预设属性二者是否匹配,响应于二者匹配则保留系统设置项内预设的默认启动顺序;其中,顺序属性与目标启动顺序的需求启动次数关联。
具体的,基本输入输出系统校验顺序属性与预设属性二者是否匹配,以响应于二者匹配保留默认启动顺序包括:基本输入输出系统获取目标启动顺序的顺序属性,顺序属性与目标启动顺序的需求启动次数关联;检验顺序属性与预设属性是否匹配;若顺序属性与预设属性不匹配,则基本输入输出系统判定目标启动顺序对应的启动次数为非单次,判定基本输入输出系统不支持对启动项分组的启动顺序进行调整,获取启动项分组的默认启动顺序,基于启动项分组的默认启动顺序启动服务器;响应于顺序属性与预设属性匹配,则基本输入输出系统判定目标启动顺序对应的启动次数为单次,则基本输入输出系统保留启动分组的默认启动顺序。
本申请中设置对获取的启动标志位进行判断是否有效,当有效时方可进行启动顺序调整,响应于无效时(未设置或者设置等待时间超时)则返回,对启动项的设置次数进行判断,是否为单次启动(基本输入输出系统校验顺序属性与预设属性二者是否匹配),响应于不是单次启动则将当前启动顺序进行永久存储在BIOS的存储器区域,响应于是单次启动,则不再通过获取BIOS的Setup界面的启动变量进行设置即保留默认的BIOS的Setup界面的启动顺序,同时,BIOS将不再对设备组启动顺序进行调整、备份、存储;总之,无论是否是单次还是永久,都将不再对默认的永久启动项设备组进行启动顺序调整。
步骤103:基本输入输出系统初始化启动热键,利用启动热键按照目标启动顺序执行预启动执行环境的启动;以当服务器启动完成导出系统设置项时导出默认启动顺序。
具体地,基本输入输出系统初始化预启动执行环境关联的启动热键,通过第一协议再次获取目标启动顺序的顺序属性,顺序属性与目标启动顺序的需求启动次数关联;检验顺序属性与预设属性是否匹配;若顺序属性与预设属性不匹配,则判定目标启动顺序对应的启动次数为非单次,获取启动项分组的默认启动顺序,基于启动项分组的默认启动顺序启动服务器;响应于顺序属性与预设属性匹配,则判定目标启动顺序对应的启动次数为单次,则激活启动热键,并屏蔽其它热键功能,以基于目标启动顺序执行预启动执行环境的启动。
服务器的BIOS在DXE(初始化)阶段通过获取第一协议再次获取目标启动顺序的顺序属性,顺序属性与目标启动顺序的需求启动次数关联;检验顺序属性与预设属性是否匹配;通过顺序属性与预设属性是否匹配中判断目标启动顺序是否是单次启动,响应于不是单次启动则按照默认启动顺序执行,响应于是单次启动,则在热键功能区域将预启动执行环境启动功能进行执行,同时,将其它热键功能,如F11 BBS启动、DEL热键进入BIOS setup等等其它热键功能进行屏蔽,这里可以通过将PXE(预启动执行环境)功能热键全局变量设置为真即True,避免其它热键打断热键PXE功能。同时对其它热键进行屏蔽可以避免对系统设置项的默认启动顺序进行修改,从而在按照目标启动顺序进行预启动执行环境的启动时,能够有利于保障其他热键功能对系统设置项内预设的默认启动顺序进行篡改,如是,在服务器启动完成后,当对系统设置项进行导出时所导出的仍为默认启动顺序。与此同时,以预设属性为一次为例,当顺序属性与预设属性匹配时,可以认为是临时、单次地按照目标启动顺序进行预启动执行环境的启动,不对系统设置项内预设的默认启动顺序进行修改,能够在下次进行启动时按照默认启动顺序进行启动,而可以省略因单次启动项顺序不同而需要多次修改系统设置项的繁冗操作,保留服务器预设的、默认的默认启动顺序。
请参阅图2,响应于热键功能区域执行预启动执行环境后,进入预启动执行环境操作系统,读取当前服务器的启动项分组的启动顺序,判断读取当前服务器的启动项分组的启动顺序是否符合预期。
也即,当执行热键PXE启动功能后,此时进入PXE(预启动执行环境)操作系统;进入操作系统后使用相应系统工具进行读取当前服务器的启动项设备组顺序,判断当前服务器的启动项分组的启动顺序是否符合预期。
在一实施方式中,响应于基于目标启动顺序执行预启动执行环境,进入操作系统,操作系统读取当前服务器的启动项分组的启动顺序,判断当前服务器的启动项分组的启动顺序是否符合预期。
其中,判断当前服务器的启动项分组的启动顺序是否符合预期包括:操作系统获取当前服务器的启动项分组的启动顺序以及获取启动项分组的默认启动顺序;操作系统将当前服务器的启动项分组的启动顺序与启动项分组的默认启动顺序进行比对;响应于当前服务器的启动项分组的启动顺序与启动项分组的默认启动顺序匹配,则操作系统判定当前服务器的启动项分组的启动顺序符合预期。
其中,获取当前服务器的启动项分组的启动顺序以及获取启动项分组的默认启动顺序;将当前服务器的启动项分组的启动顺序与启动项分组的默认启动顺序进行比对;响应于当前服务器的启动项分组的启动顺序与启动项分组的默认启动顺序匹配,则判定当前服务器的启动项分组的启动顺序符合预期。
本申请中通过获取当前服务器的启动项分组的启动顺序与获取的启动系分组的默认启动顺序进行匹配,进而判断当前默认启动顺序是否因进行临时的、单次的预启动执行环境启动的影响,导致获取的原本与默认启动顺序一致的服务器的启动项分组的启动顺序发生改变,这里若前服务器的启动项分组的启动顺序与获取的启动系分组的默认启动顺序匹配,则认为进行临时的、单次的预启动执行环境启动后,通过相应系统工具获取的前服务器的启动项分组的启动顺序还是默认启动顺序,若前服务器的启动项分组的启动顺序与获取的启动系分组的默认启动顺序不匹配,则认为进行临时的、单次的预启动执行环境启动后,通过相应系统工具获取的前服务器的启动项分组的启动顺序已经发生改变,不是默认启动顺序。
在一实施方式中,响应于服务器重新启动,基本输入输出系统根据启动分组的默认启动顺序进行启动;进入操作系统,操作系统读取重启的服务器的启动项分组的启动顺序;判断重启的服务器的启动项分组的启动顺序是否符合预期。
其中,判断重启的服务器的启动项分组的启动顺序是否符合预期包括:操作系统获取重启的服务器的启动项分组的启动顺序以及获取启动项分组的默认启动顺序;操作系统将重启的服务器的启动项分组的启动顺序与启动项分组的默认启动顺序进行比对;响应于重启的服务器的启动项分组的启动顺序与启动项分组的默认启动顺序匹配,则操作系统判定重启的服务器的启动项分组的启动顺序符合预期。
本申请中通过系统带内或者带外通过第一协议命令设置一次PXE启动项设置,BMC管理固件接收到此信息后进行存储在BMC管理固件中,此时,BMC管理固件进行计时统计并判断是否超过预设时间阈值,若超过预设时间阈值无论是否BIOS获取到BMC存储的第一协议设置启动命令都将此启动项设置进行清除;同时,若设置完毕且服务器重启或者关机再开机时,BIOS将通过第一协议与固定格式要求与BMC端管理固件存储的第一协议设置的启动项优先级进行获取,同时,将放弃对设备分组启动项顺序单次或者永久启动项的调整,在BIOS的DXE阶段再次获取第一协议命令设置一次PXE启动的BMC端记录信息并通过热键PXE执行的方式进行执行并屏蔽其它热键功能,避免因其它热键输入导致第一协议命令一次PXE启动失败的问题,当热键PXE功能执行完成后即此时单次PXE启动进入操作系统后,用相应系统工具导出当前已调整的启动项顺序优先级,当服务器再次重启时,BIOS会将按照默认、永久启动项优先级进行启动,此时,在系统下将用相应系统工具导出默认永久启动项分组优先级设置并校验是否一致且符合预期设置。
本申请中执行预启动执行环境的启动方法的操作在Debug(调试日志)皆有记录,后续也可以根据Debug(调试日志)中记录的预启动执行环境的启动的相关信息进行问题排查以及功能调试。
在一实施方式中,可以获取预启动执行环境启动信息;对预启动执行环境启动信息进行解析,得到预设结构体中各字段对应的字段值;将各字段值写入至对应的字段中,得到目标结构体;根据目标结构体进行预启动执行环境启动项的调整。
这里的预启动执行环境启动信息是启动预启动执行环境(PrebootExecutionEnvironment,PXE)相关的信息,包括校验信息和启动信息,校验信息是预启动执行环境PXE校验相关的信息,例如信息识别的表头,分类范围设置信息等,而启动信息包括启动项的启动顺序信息。其中,可以预先将预启动执行环境启动信息预先存储在基板管理控制器的存储器中。
预设结构体是服务器开机自检过程中,基本输入输出系统预先存储的空白结构体,用来存放预启动执行环境启动信息中优先PXE启动的信息。其中,空白结构体中包括多个字段,各字段对应的字段值目前为空的,在接收到预启动执行环境启动信息后,对预启动执行环境启动信息进行解析,得到空白结构体中各字段对应的字段值。
其中,可以按照ASCII码解析。ASCII码即(America Standard Code forInformation Interchange)美国信息交换标准码,可以用于在不同计算机硬件和软件系统中实现数据传输标准化,在大多数的小型机和全部的个人计算机都使用此码。而ASCII码划分为两个集合:128个字符的标准ASCII码和附加的128个字符的扩充和ASCII码。得到预设结构体中各字段对应的字段值后,将各字段值写入至对应的字段中,得到目标结构体,此时的目标结构体中各字段都存在对应的字段值,如此可以规范预启动执行环境启动信息,有助于从预启动执行环境启动信息中快速提取到需要的信息从而加快预启动执行环境的启动速度。
本申请中采用外部BMC管理固件第一协议命令和服务器启动管理固件BIOS进行交互配合,利用控制端远程命令设置第一协议 PXE一次启动并安装系统,BIOS在服务器的启动过程中通过第一协议获取BMC存储的第一协议命令参数并反馈至BIOS端,BIOS端根据返回的数据结构体数据进行参数解析并调整启动顺序,同时,将BIOS的永久默认启动项顺序进行存储、备份且不做任何调整,在BIOS的DXE阶段的热键功能部分再次通过第一协议获取第一协议命令PXE启动是否是一次,若不是,则此处不做任何处理,按照BIOS的默认、永久启动项顺序正常启动即可;若是则将热键PXE功能的全局标志位由假设置为真即将全局标志位由“False”调整为“True”,与此同时,关闭其它热键功能只执行PXE功能进行系统安装并启动到PXE系统中,利用相应系统工具命令读取当前即此次启动时的启动项分组设备顺序,判断设备组分组启动优先级顺序是否与默认、永久的启动设置一致,经查看必定符合预期。此时,服务器重启后BIOS会通过第一协议确认BMC设置的启动优先级项已经清除,将采用BIOS默认、永久的启项项顺序进行启动,此时,再次进入操作系统后方可进行查看是否符合预期默认启动项设置。
需要说明的是,控制端远程通过第一协议命令将启动优先级顺序存储在BMC管理固件中,服务器启动时BIOS通过第一协议获取BMC端的存储启动项优先级设置,对获取的第一协议命令启动PXE进行单次或者永久进行判断,若是单次则在BIOS的DXE阶段通过热键PXE功能进行执行且不再对默认、永久的启动项进行设备分组启动项顺序调整,进行热键PXE功能全局变量值进行更新并屏蔽其它热键功能,保证一次PXE启动不会对默认、永久启动项顺序进行调整,PXE系统启动完成后使用相应系统工具进行导出启动项并确认,再次重启时,仍旧按照BIOS端默认、永久的启动项顺序启动并在系统下使用相应系统工具进行导出启动项并确认,保证BIOS的默认、永久启动项符合预期。
本申请的实施例提供了一种预启动执行环境的启动系统,预启动执行环境的启动系统具体如图4所示,预启动执行环境的启动系统包括:基板管理控制器、基本输入输出系统、处理器0、处理器1以及多个硬盘。
基板管理控制器(BMC)与基本输入输出系统(BIOS)之间通过第一协议进行通信,基板管理控制器通过第二协议与处理器0之间进行通信。基板管理控制器通过LPC(精简引脚线)/PCI与PCI接口网卡进行通信、基板管理控制器通过UCB Over Lan(UCB远程连接)与多个硬盘进行连接(PCI接口nvme硬盘0、PCI接口nvme硬盘1、PCI接口nvme硬盘2、PCI接口nvme硬盘3)。
基本输入输出系统通过LPC/SPI/QSPI与处理器0进行通信,SPI/QSPI 协议接口是显示类、存储类、以及一些传感器设备的数据通信接口。处理器0与处理器1之间通过CCIX(加速器缓存一致性互联)/UPI/GMI(GMI是CPU(中央处理器)之间、GPU(图形处理器)之间、CPU与内存之间通信总线)进行通信,处理器1与USB接口U盘以及USB接口进行连接,USB接口与USB键盘热键连接,处理器1还通过PCI与多个硬盘进行连接(PCI接口nvme硬盘4、PCI接口nvme硬盘5、PCI接口nvme硬盘6、PCI接口nvme硬盘7)。
本申请的实施例提供了一种预启动执行环境的启动装置,预启动执行环境的启动装置具体如图5所示,预启动执行环境的启动装置包括:判断模块20、校验模块21以及启动模块22。
判断模块20,用于基本输入输出系统读取基板管理控制器的启动项数据,判断启动项数据是否标识目标启动顺序。
校验模块21,用于响应于启动项数据标识目标启动顺序,基本输入输出系统校验顺序属性与预设属性二者是否匹配,响应于二者匹配则保留系统设置项内预设的默认启动顺序;其中,顺序属性与目标启动顺序的需求启动次数关联。
启动模块22,用于基本输入输出系统初始化启动热键,利用启动热键按照目标启动顺序执行预启动执行环境的启动;以当服务器启动完成导出系统设置项时导出默认启动顺序。
在一个实施例中,上述装置能实现预启动执行环境的启动方法的另一种实施方式,具体步骤如下:
基本输入输出系统读取基板管理控制器的启动项数据之前包括:响应于基板管理控制器获取到目标控制指令,基板管理控制器对目标控制指令进行解析,获取目标控制参数,并将目标控制参数存储至基板管理控制器的存储器中,目标控制参数包括顺序属性、启动方式类型以及启动项分组的启动顺序。
在一个实施例中,上述装置能实现预启动执行环境的启动方法的另一种实施方式,具体步骤如下:目标控制指令为第一控制指令或者第二控制指令,基板管理控制器获取到目标控制指令包括:获取服务器状态信息,根据服务器状态信息确定服务器状态,服务器状态包括第一状态、第二状态;响应于服务器状态为第一状态,获取基板管理控制器密码,根据基板管理控制器密码生成第一控制指令;第一控制指令支持执行单次预启动执行环境的启动;响应于服务器状态为第二状态,获取基板管理控制器网络地址、基板管理控制器用户名称以及基板管理控制器密码生成第二控制指令,第二控制指令支持执行单次预启动执行环境的启动。
在一个实施例中,上述装置能实现预启动执行环境的启动方法的另一种实施方式,具体步骤如下:将目标控制参数存储至基板管理控制器的存储器中之后包括:响应于将目标控制参数存储至基板管理控制器的存储器中,开启计时器;基板管理控制器获取计时器计时时长以及获取预设时间阈值;响应于计时器计时时长小于或者等于预设时间阈值,且基本输入输出系统获取到基板管理控制器传输的目标控制参数时,将目标控制参数从基板管理控制器的存储器中删除;响应于计时器计时时长大于预设时间阈值,将目标控制参数从基板管理控制器的存储器中删除;响应于计时器计时时长小于预设时间阈值,且基本输入输出系统未获取到基板管理控制器传输的目标控制参数时,目标控制参数继续在基板管理控制器的存储器中存储。
在一个实施例中,上述装置能实现预启动执行环境的启动方法的另一种实施方式,具体步骤如下:将目标控制参数存储至基板管理控制器的存储器中之后包括:响应于服务器上电,基本输入输出系统在系统初始化阶段安装第一协议并判断第一协议是否安装成功;响应于第一协议安装成功,基本输入输出系统判断第二协议是否支持进行预启动执行环境的启动。
在一个实施例中,上述装置能实现预启动执行环境的启动方法的另一种实施方式,具体步骤如下:基本输入输出系统判断第二协议是否支持进行预启动执行环境的启动包括:基本输入输出系统判断第二协议是否支持进行预启动执行环境;响应于第二协议支持进行预启动执行环境,基本输入输出系统判断第二协议中是否包括协议启动顺序;其中,协议启动顺序表示第二协议中设置调整的启动项分组的启动顺序;响应于第二协议中包括协议启动顺序,基本输入输出系统根据第二协议中的协议启动顺序启动服务器;响应于第二协议中未包括协议启动顺序,基本输入输出系统判定第二协议支持进行预启动执行环境的启动。
在一个实施例中,上述装置能实现预启动执行环境的启动方法的另一种实施方式,具体步骤如下:判断第一协议是否安装成功之后还包括:响应于第一协议安装不成功,基本输入输出系统判定基本输入输出系统无法进行启动项分组设置的调整,获取默认启动项分组信息,根据默认启动项分组信息启动服务器,默认启动项分组信息包括启动项分组的默认启动顺序。
在一个实施例中,上述装置能实现预启动执行环境的启动方法的另一种实施方式,具体步骤如下:判断启动项数据是否标识目标启动顺序包括:基本输入输出系统获取启动项数据的数据值以及启动项数据的数据最低位二进制数值;基本输入输出系统判断启动项数据的数据值是否为第一预设值;响应于启动项数据的数据值为第一预设值,则基本输入输出系统判定启动项数据标识目标启动顺序;响应于启动项数据的数据值为非第一预设值,则基本输入输出系统判定启动项数据的数据最低位二进制数值是否为第二预设值;响应于启动项数据的数据最低位二进制数值为第二预设值,则基本输入输出系统判定启动项数据标识目标启动顺序;响应于启动项数据的数据最低位二进制数值为非第二预设值,则基本输入输出系统判定启动项数据未标识目标启动顺序,获取启动项分组的默认启动顺序,基于启动项分组的默认启动顺序启动服务器。
在一个实施例中,上述装置能实现预启动执行环境的启动方法的另一种实施方式,具体步骤如下:判定启动项数据标识目标启动顺序之后包括:基板管理控制器通过第一协议将目标启动顺序的相关信息发送至基本输入输出系统;响应于基本输入输出系统接收到目标启动顺序的相关信息,对目标启动顺序进行分析,获取启动项分组的启动项设置以及启动方式参数,启动项设置包括启动项分组的启动顺序的顺序属性,启动方式参数包括启动方式类型;基于启动项分组的启动顺序以及启动方式参数判断是否支持启动项分组的启动顺序调整。
在一个实施例中,上述装置能实现预启动执行环境的启动方法的另一种实施方式,具体步骤如下:基本输入输出系统校验顺序属性与预设属性二者是否匹配之前包括:基本输入输出系统获取基板管理控制器存储的启动标志位,判断启动标志位是否有效;响应于启动标志位无效,判定基本输入输出系统不支持对启动项分组的启动顺序进行调整,则获取启动项分组的默认启动顺序,基于启动项分组的默认启动顺序启动服务器;响应于启动标志位有效,判定基本输入输出系统支持对启动项分组的启动顺序进行调整。
在一个实施例中,上述装置能实现预启动执行环境的启动方法的另一种实施方式,具体步骤如下:基本输入输出系统获取目标启动顺序的顺序属性,顺序属性与目标启动顺序的需求启动次数关联;检验顺序属性与预设属性是否匹配;若顺序属性与预设属性不匹配,则基本输入输出系统判定目标启动顺序对应的启动次数为非单次,判定基本输入输出系统不支持对启动项分组的启动顺序进行调整,获取启动项分组的默认启动顺序,基于启动项分组的默认启动顺序启动服务器;响应于顺序属性与预设属性匹配,则基本输入输出系统判定目标启动顺序对应的启动次数为单次,则基本输入输出系统保留启动分组的默认启动顺序。
在一个实施例中,上述装置能实现预启动执行环境的启动方法的另一种实施方式,具体步骤如下:利用启动热键按照目标启动顺序执行预启动执行环境的启动包括:基本输入输出系统再次获取顺序属性以校验顺序属性以及预设属性二者是否匹配;响应于二者匹配,激活启动热键,以基于目标启动顺序执行预启动执行环境的启动;并屏蔽其它热键功能。
在一个实施例中,上述装置能实现预启动执行环境的启动方法的另一种实施方式,具体步骤如下:基本输入输出系统再次获取顺序属性以校验顺序属性以及预设属性二者是否匹配包括:基本输入输出系统初始化预启动执行环境关联的启动热键,通过第一协议再次获取目标启动顺序的顺序属性,顺序属性与目标启动顺序的需求启动次数关联;检验顺序属性与预设属性是否匹配;若顺序属性与预设属性不匹配,则判定目标启动顺序对应的启动次数为非单次,获取启动项分组的默认启动顺序,基于启动项分组的默认启动顺序启动服务器;响应于顺序属性与预设属性匹配,则判定目标启动顺序对应的启动次数为单次,则激活启动热键,并屏蔽其它热键功能,以基于目标启动顺序执行预启动执行环境的启动。
在一个实施例中,上述装置能实现预启动执行环境的启动方法的另一种实施方式,具体步骤如下:启动方法还包括:响应于基本输入输出系统基于目标启动顺序执行预启动执行环境,进入操作系统,操作系统读取当前服务器的启动项分组的启动顺序,判断当前服务器的启动项分组的启动顺序是否符合预期。
在一个实施例中,上述装置能实现预启动执行环境的启动方法的另一种实施方式,具体步骤如下:判断当前服务器的启动项分组的启动顺序是否符合预期包括:操作系统获取当前服务器的启动项分组的启动顺序以及获取启动项分组的默认启动顺序;操作系统将当前服务器的启动项分组的启动顺序与启动项分组的默认启动顺序进行比对;响应于当前服务器的启动项分组的启动顺序与启动项分组的默认启动顺序匹配,则操作系统判定当前服务器的启动项分组的启动顺序符合预期。
在一个实施例中,上述装置能实现预启动执行环境的启动方法的另一种实施方式,具体步骤如下:启动方法还包括:响应于服务器重新启动,基本输入输出系统根据启动分组的默认启动顺序进行启动;进入操作系统,操作系统读取重启的服务器的启动项分组的启动顺序;判断重启的服务器的启动项分组的启动顺序是否符合预期。
在一个实施例中,上述装置能实现预启动执行环境的启动方法的另一种实施方式,具体步骤如下:判断重启的服务器的启动项分组的启动顺序是否符合预期包括:操作系统获取重启的服务器的启动项分组的启动顺序以及获取启动项分组的默认启动顺序;操作系统将重启的服务器的启动项分组的启动顺序与启动项分组的默认启动顺序进行比对;响应于重启的服务器的启动项分组的启动顺序与启动项分组的默认启动顺序匹配,则操作系统判定重启的服务器的启动项分组的启动顺序符合预期。
在一个实施例中,上述装置能实现预启动执行环境的启动方法的另一种实施方式,具体步骤如下:启动项分组为多个,多个启动项分组对应多个启动顺序,多个启动项分组包括存储设备组、网卡设备组、光驱设备组以及其它设备组。
如图6所示,本申请的实施例还提供了一种计算机设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一种预启动执行环境的启动方法实施例中的步骤。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一种预启动执行环境的启动方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应判定超出本申请的范围。
以上对本申请所提供的一种预启动执行环境的启动方法进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (21)
1.一种预启动执行环境的启动方法,其特征在于,所述启动方法包括:
基本输入输出系统读取基板管理控制器的启动项数据,判断所述启动项数据是否标识目标启动顺序;
响应于所述启动项数据标识所述目标启动顺序,所述基本输入输出系统校验顺序属性与预设属性二者是否匹配,响应于二者匹配则保留系统设置项内预设的默认启动顺序;其中,所述顺序属性与所述目标启动顺序的需求启动次数关联;
所述基本输入输出系统初始化启动热键,利用所述启动热键按照所述目标启动顺序执行预启动执行环境的启动;以当服务器启动完成导出系统设置项时导出所述默认启动顺序。
2.根据权利要求1所述的预启动执行环境的启动方法,其特征在于,所述基本输入输出系统读取基板管理控制器的启动项数据之前包括:
响应于基板管理控制器获取到目标控制指令,所述基板管理控制器对所述目标控制指令进行解析,获取目标控制参数,并将所述目标控制参数存储至基板管理控制器的存储器中,所述目标控制参数包括顺序属性、启动方式类型以及启动项分组的启动顺序。
3.根据权利要求2所述的预启动执行环境的启动方法,其特征在于,所述目标控制指令为第一控制指令或者第二控制指令,所述基板管理控制器获取到目标控制指令包括:
获取服务器状态信息,根据所述服务器状态信息确定服务器状态,所述服务器状态包括第一状态、第二状态;
响应于服务器状态为第一状态,获取基板管理控制器密码,根据所述基板管理控制器密码生成第一控制指令;所述第一控制指令支持执行单次预启动执行环境的启动;
响应于服务器状态为第二状态,获取基板管理控制器网络地址、基板管理控制器用户名称以及基板管理控制器密码生成第二控制指令,所述第二控制指令支持执行单次预启动执行环境的启动。
4.根据权利要求2所述的预启动执行环境的启动方法,其特征在于,所述将所述目标控制参数存储至基板管理控制器的存储器中包括:
响应于将所述目标控制参数存储至基板管理控制器的存储器中,开启计时器;
所述基板管理控制器获取计时器计时时长以及获取预设时间阈值;
响应于所述计时器计时时长小于或者等于预设时间阈值,且基本输入输出系统获取到基板管理控制器传输的目标控制参数时,将目标控制参数从基板管理控制器的存储器中删除;
响应于所述计时器计时时长大于预设时间阈值,将目标控制参数从基板管理控制器的存储器中删除;
响应于所述计时器计时时长小于预设时间阈值,且基本输入输出系统未获取到基板管理控制器传输的目标控制参数时,目标控制参数继续在基板管理控制器的存储器中存储。
5.根据权利要求2所述的预启动执行环境的启动方法,其特征在于,所述将所述目标控制参数存储至基板管理控制器的存储器中之后包括:
响应于服务器上电,所述基本输入输出系统在系统初始化阶段安装第一协议并判断所述第一协议是否安装成功;
响应于所述第一协议安装成功,所述基本输入输出系统判断第二协议是否支持进行预启动执行环境的启动。
6.根据权利要求5所述的预启动执行环境的启动方法,其特征在于,所述基本输入输出系统判断所述第二协议是否支持进行预启动执行环境的启动包括:
所述基本输入输出系统判断第二协议是否支持进行所述预启动执行环境;
响应于所述第二协议支持进行所述预启动执行环境,所述基本输入输出系统判断所述第二协议中是否包括协议启动顺序;其中,所述协议启动顺序表示所述第二协议中设置调整的启动项分组的启动顺序;
响应于所述第二协议中包括协议启动顺序,所述基本输入输出系统根据第二协议中的协议启动顺序启动服务器;
响应于所述第二协议中未包括协议启动顺序,所述基本输入输出系统判定所述第二协议支持进行预启动执行环境的启动。
7.根据权利要求5所述的预启动执行环境的启动方法,其特征在于,所述判断所述第一协议是否安装成功之后还包括:
响应于所述第一协议安装不成功,基本输入输出系统判定基本输入输出系统无法进行启动项分组设置的调整,获取默认启动项分组信息,根据所述默认启动项分组信息启动服务器,所述默认启动项分组信息包括启动项分组的默认启动顺序。
8.根据权利要求1所述的预启动执行环境的启动方法,其特征在于,所述判断所述启动项数据是否标识目标启动顺序包括:
基本输入输出系统获取启动项数据的数据值以及启动项数据的数据最低位二进制数值;
所述基本输入输出系统判断所述启动项数据的数据值是否为第一预设值;
响应于所述启动项数据的数据值为第一预设值,则基本输入输出系统判定所述启动项数据标识目标启动顺序;
响应于所述启动项数据的数据值为非第一预设值,则基本输入输出系统判定所述启动项数据的数据最低位二进制数值是否为第二预设值;
响应于所述启动项数据的数据最低位二进制数值为第二预设值,则基本输入输出系统判定所述启动项数据标识目标启动顺序;
响应于所述启动项数据的数据最低位二进制数值为非第二预设值,则基本输入输出系统判定所述启动项数据未标识目标启动顺序,获取启动项分组的默认启动顺序,基于所述启动项分组的默认启动顺序启动服务器。
9.根据权利要求8所述的预启动执行环境的启动方法,其特征在于,所述判定所述启动项数据标识目标启动顺序之后包括:
基板管理控制器通过第一协议将目标启动顺序的相关信息发送至基本输入输出系统;
响应于基本输入输出系统接收到目标启动顺序的相关信息,对所述目标启动顺序进行分析,获取启动项分组的启动项设置以及启动方式参数,所述启动项设置包括启动项分组的启动顺序的顺序属性,所述启动方式参数包括启动方式类型;
基于所述启动项分组的启动顺序以及启动方式参数判断是否支持启动项分组的启动顺序调整。
10.根据权利要求1所述的预启动执行环境的启动方法,其特征在于,所述基本输入输出系统校验顺序属性与所述预设属性二者是否匹配之前包括:
基本输入输出系统获取基板管理控制器存储的启动标志位,判断所述启动标志位是否有效;
响应于启动标志位无效,判定基本输入输出系统不支持对启动项分组的启动顺序进行调整,则获取启动项分组的默认启动顺序,基于所述启动项分组的默认启动顺序启动服务器;
响应于启动标志位有效,判定基本输入输出系统支持对启动项分组的启动顺序进行调整。
11.根据权利要求1所述的预启动执行环境的启动方法,其特征在于,所述基本输入输出系统校验顺序属性与所述预设属性二者是否匹配,以响应于二者匹配保留默认启动顺序包括:
所述基本输入输出系统获取目标启动顺序的顺序属性,所述顺序属性与所述目标启动顺序的需求启动次数关联;
检验所述顺序属性与所述预设属性是否匹配;
若所述顺序属性与所述预设属性不匹配,则基本输入输出系统判定目标启动顺序对应的启动次数为非单次,判定基本输入输出系统不支持对启动项分组的启动顺序进行调整,获取启动项分组的默认启动顺序,基于所述启动项分组的默认启动顺序启动服务器;
响应于所述顺序属性与所述预设属性匹配,则基本输入输出系统判定目标启动顺序对应的启动次数为单次,则基本输入输出系统保留启动分组的默认启动顺序。
12.根据权利要求1所述的预启动执行环境的启动方法,其特征在于,所述利用所述启动热键按照所述目标启动顺序执行所述预启动执行环境的启动包括:
所述基本输入输出系统再次获取所述顺序属性以校验所述顺序属性以及所述预设属性二者是否匹配;
响应于二者匹配,激活所述启动热键,以基于所述目标启动顺序执行预启动执行环境的启动;并屏蔽其它热键功能。
13.根据权利要求12所述的预启动执行环境的启动方法,其特征在于,所述基本输入输出系统再次获取所述顺序属性以校验所述顺序属性以及所述预设属性二者是否匹配包括:
所述基本输入输出系统初始化所述预启动执行环境关联的启动热键,通过第一协议再次获取目标启动顺序的顺序属性,所述顺序属性与所述目标启动顺序的需求启动次数关联;
检验所述顺序属性与所述预设属性是否匹配;
若所述顺序属性与所述预设属性不匹配,则判定目标启动顺序对应的启动次数为非单次,获取启动项分组的默认启动顺序,基于所述启动项分组的默认启动顺序启动服务器;
响应于所述顺序属性与所述预设属性匹配,则判定目标启动顺序对应的启动次数为单次,则激活所述启动热键,并屏蔽其它热键功能,以基于所述目标启动顺序执行预启动执行环境的启动。
14.根据权利要求1所述的预启动执行环境的启动方法,其特征在于,所述启动方法还包括:
响应于基本输入输出系统基于所述目标启动顺序执行预启动执行环境,进入操作系统,所述操作系统读取当前服务器的启动项分组的启动顺序,判断当前服务器的启动项分组的启动顺序是否符合预期。
15.根据权利要求14所述的预启动执行环境的启动方法,其特征在于,所述判断当前服务器的启动项分组的启动顺序是否符合预期包括:
操作系统获取当前服务器的启动项分组的启动顺序以及获取启动项分组的默认启动顺序;
所述操作系统将所述当前服务器的启动项分组的启动顺序与启动项分组的默认启动顺序进行比对;
响应于所述当前服务器的启动项分组的启动顺序与启动项分组的默认启动顺序匹配,则所述操作系统判定当前服务器的启动项分组的启动顺序符合预期。
16.根据权利要求1所述的预启动执行环境的启动方法,其特征在于,所述启动方法还包括:
响应于服务器重新启动,基本输入输出系统根据启动分组的默认启动顺序进行启动;
进入操作系统,所述操作系统读取重启的服务器的启动项分组的启动顺序;
判断重启的服务器的启动项分组的启动顺序是否符合预期。
17.根据权利要求16所述的预启动执行环境的启动方法,其特征在于,所述判断重启的服务器的启动项分组的启动顺序是否符合预期包括:
操作系统获取重启的服务器的启动项分组的启动顺序以及获取启动项分组的默认启动顺序;
所述操作系统将所述重启的服务器的启动项分组的启动顺序与启动项分组的默认启动顺序进行比对;
响应于所述重启的服务器的启动项分组的启动顺序与启动项分组的默认启动顺序匹配,则所述操作系统判定重启的服务器的启动项分组的启动顺序符合预期。
18.根据权利要求1所述的预启动执行环境的启动方法,其特征在于,所述启动项分组为多个,所述多个启动项分组对应多个启动顺序,所述多个启动项分组包括存储设备组、网卡设备组、光驱设备组以及其它设备组。
19.一种计算机设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至18任一项所述预启动执行环境的启动方法的步骤。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至18任一项所述预启动执行环境的启动方法的步骤。
21.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至18任一项所述预启动执行环境的启动方法的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202510376850.XA CN119902811B (zh) | 2025-03-28 | 2025-03-28 | 预启动执行环境的启动方法、计算机设备及相关产品 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202510376850.XA CN119902811B (zh) | 2025-03-28 | 2025-03-28 | 预启动执行环境的启动方法、计算机设备及相关产品 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN119902811A true CN119902811A (zh) | 2025-04-29 |
| CN119902811B CN119902811B (zh) | 2025-06-17 |
Family
ID=95464886
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202510376850.XA Active CN119902811B (zh) | 2025-03-28 | 2025-03-28 | 预启动执行环境的启动方法、计算机设备及相关产品 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN119902811B (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120407032A (zh) * | 2025-06-27 | 2025-08-01 | 苏州元脑智能科技有限公司 | 服务器的启动方法、装置、电子设备及存储介质 |
| CN121255299A (zh) * | 2025-11-28 | 2026-01-02 | 苏州元脑智能科技有限公司 | 一种设备启动控制方法、电子设备及服务器 |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1744042A (zh) * | 2002-12-19 | 2006-03-08 | 联想(北京)有限公司 | 自动改变计算机启动顺序的实现方法 |
| CN109117195A (zh) * | 2018-07-27 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种uefi模式调整启动顺序的方法、装置及设备 |
| CN111124508A (zh) * | 2019-11-29 | 2020-05-08 | 苏州浪潮智能科技有限公司 | 一种调整网卡pxe启动顺序的方法和装置 |
| CN115004151A (zh) * | 2020-01-23 | 2022-09-02 | 日立数据管理有限公司 | 用于更新附加卡固件并在安装有任何os的任何服务器或裸机服务器上收集硬件信息的系统和方法 |
| CN116521261A (zh) * | 2023-04-24 | 2023-08-01 | 苏州浪潮智能科技有限公司 | 一种启动项配置方法、装置、计算机设备和存储介质 |
| CN116886524A (zh) * | 2023-06-30 | 2023-10-13 | 浪潮(山东)计算机科技有限公司 | 一种预启动执行环境功能的配置方法、装置及服务器 |
| CN117135043A (zh) * | 2023-07-20 | 2023-11-28 | 苏州浪潮智能科技有限公司 | 预启动执行环境启动项调整方法、装置、设备和存储介质 |
| CN119356743A (zh) * | 2024-10-17 | 2025-01-24 | 苏州元脑智能科技有限公司 | 一种启动项序列调整方法、系统、设备及计算机存储介质 |
-
2025
- 2025-03-28 CN CN202510376850.XA patent/CN119902811B/zh active Active
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1744042A (zh) * | 2002-12-19 | 2006-03-08 | 联想(北京)有限公司 | 自动改变计算机启动顺序的实现方法 |
| CN109117195A (zh) * | 2018-07-27 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种uefi模式调整启动顺序的方法、装置及设备 |
| CN111124508A (zh) * | 2019-11-29 | 2020-05-08 | 苏州浪潮智能科技有限公司 | 一种调整网卡pxe启动顺序的方法和装置 |
| CN115004151A (zh) * | 2020-01-23 | 2022-09-02 | 日立数据管理有限公司 | 用于更新附加卡固件并在安装有任何os的任何服务器或裸机服务器上收集硬件信息的系统和方法 |
| CN116521261A (zh) * | 2023-04-24 | 2023-08-01 | 苏州浪潮智能科技有限公司 | 一种启动项配置方法、装置、计算机设备和存储介质 |
| CN116886524A (zh) * | 2023-06-30 | 2023-10-13 | 浪潮(山东)计算机科技有限公司 | 一种预启动执行环境功能的配置方法、装置及服务器 |
| CN117135043A (zh) * | 2023-07-20 | 2023-11-28 | 苏州浪潮智能科技有限公司 | 预启动执行环境启动项调整方法、装置、设备和存储介质 |
| CN119356743A (zh) * | 2024-10-17 | 2025-01-24 | 苏州元脑智能科技有限公司 | 一种启动项序列调整方法、系统、设备及计算机存储介质 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120407032A (zh) * | 2025-06-27 | 2025-08-01 | 苏州元脑智能科技有限公司 | 服务器的启动方法、装置、电子设备及存储介质 |
| CN121255299A (zh) * | 2025-11-28 | 2026-01-02 | 苏州元脑智能科技有限公司 | 一种设备启动控制方法、电子设备及服务器 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN119902811B (zh) | 2025-06-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN119902811B (zh) | 预启动执行环境的启动方法、计算机设备及相关产品 | |
| US7111202B2 (en) | Autonomous boot failure detection and recovery | |
| TWI225215B (en) | Method and system for maintaining firmware versions in a data processing system | |
| US11579893B2 (en) | Systems and methods for separate storage and use of system BIOS components | |
| US12001285B2 (en) | System booting method and apparatus, node device, and computer-readable storage medium | |
| US9239725B2 (en) | System and method for installing an OS via a network card supporting PXE | |
| US10606677B2 (en) | Method of retrieving debugging data in UEFI and computer system thereof | |
| US7127603B2 (en) | System and method for manufacture of information handling systems with selective option ROM executions | |
| US12282560B2 (en) | Method for blocking external boot device, non-transient computer readable storage medium, and computer | |
| US6363492B1 (en) | Computer method and apparatus to force boot block recovery | |
| US10691569B2 (en) | System and method for testing a data storage device | |
| US20060026415A1 (en) | Method of updating a portion BIOS | |
| CN117032813A (zh) | 双基本输入输出系统闪存的切换判定方法及装置 | |
| US7080164B2 (en) | Peripheral device having a programmable identification configuration register | |
| US10491736B2 (en) | Computer system and method thereof for bluetooth data sharing between UEFI firmware and OS | |
| WO2023123896A1 (zh) | 一种磁盘加载控制方法、装置、设备及可读存储介质 | |
| CN101639877A (zh) | 电子装置及其更新基本输入输出系统方法 | |
| CN114625399A (zh) | 系统升级方法及相关装置、设备和存储介质 | |
| CN115729629B (zh) | Usb设备的识别方法、终端设备及系统 | |
| CN112860329A (zh) | 一种启动项配置方法、系统及介质 | |
| US20200159646A1 (en) | Information processing apparatus | |
| US20040019896A1 (en) | Method of automatic program installation for computer device | |
| CN117827304A (zh) | 设备可执行固件的加载方法、装置、存储介质及电子设备 | |
| US20050223207A1 (en) | Method and apparatus for remote flashing of a bios memory in a data processing system | |
| WO2025010648A1 (en) | System and firmware-level optimizations via auto detection of operating system |
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 |