Startup method for pre-boot execution environment, computer device and related products

By reading and verifying the startup item data in the basic input and output system, initializing the startup hotkey, and performing the startup of the pre-start execution environment in the target startup sequence, the problem of temporary startup item grouping adjustments resulting in changes in the default startup sequence is solved, and system performance and stability are improved.

CN119902811BActive Publication Date: 2025-06-17INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202510376850.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-28
Publication Date
2025-06-17
Estimated Expiration
2045-03-28

AI Technical Summary

Technical Problem

In the prior art, the startup adjustment is based on the startup sequence of temporary startup item groups, resulting in the startup sequence of the default startup item groups changing, resulting in a degradation of system performance.

Method used

Read the startup item data of the substrate management controller through the basic input and output system, determine whether the target startup sequence is identified, the verification sequence attributes match the preset attributes, initialize the startup hotkey, execute the startup of the pre-start execution environment in the target startup sequence, and export the default startup sequence when the server startup is completed.

Benefits of technology

Ensure that the correct startup sequence of the default startup item grouping is obtained, improve the startup accuracy and stability of the pre-start execution environment, and avoid system performance degradation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119902811B_ABST
    Figure CN119902811B_ABST
Patent Text Reader

Abstract

The present application discloses a method for starting a pre-boot execution environment, a computer device, and related products, relating to the field of computer technologies. The method includes determining whether the start item data identifies a target start order to determine whether the pre-boot execution environment can be started, obtaining an order attribute associated with the required number of start times in the target start order, and determining whether the order attribute matches a preset attribute. In response to the match, retaining the default start order preset in the system settings item, initializing a start hot key, and using the start hot key to execute the start of the pre-boot execution environment according to the target start order; so as to export the default start order when the server finishes starting and exports the system settings item, solving the technical problem that the default start order of the start item grouping is changed due to the start adjustment based on the start order of the temporary start item grouping, and achieving the technical effects of improving the start accuracy and stability of the pre-boot execution environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technologies, and in particular, to a method for starting a pre-boot execution environment, a computer device, and related products. Background Art

[0002] As one of the important carriers for network background operation, in addition to maintaining the operation of the network and storing data, a server can also be a carrier for many network services and devices. Therefore, the server is determined to be the basic carrier of information services. For each server, it is equivalent to the existence mode of a large-scale PC (Personal Computer), and a system can be installed. Usually, the system is installed with the help of a network environment of PXE (Preboot Execute Environment).

[0003] In related technologies, usually, the pre-boot execution environment is started according to the startup order grouped by the default startup items exported by the corresponding system tool. However, after the temporary pre-boot execution environment is started, the system is used to export the startup order of the startup item group through the corresponding system tool. However, at this time, the startup order of the startup item group exported by the corresponding system tool is the temporary target startup order. In this way, the correct startup order of the default startup item group cannot be obtained, resulting in a decline in system performance. Summary of the Invention

[0004] This application provides a method for starting a pre-boot execution environment, a computer device, and related products, so as to solve the problem in related technologies that the startup order of the default startup item group is changed due to the startup adjustment based on the startup order of the temporary startup item group.

[0005] This application provides a method for starting a pre-boot execution environment, including: the basic input / output system reads the startup item data of the baseboard management controller, and determines whether the startup item data identifies the target startup order; in response to the startup item data identifying the target startup order, the basic input / output system checks whether the order attribute matches the preset attribute, and in response to the two matching, retains the default startup order preset in the system setting item; where the order attribute is associated with the required number of startup times of the target startup order; the basic input / output system initializes the startup hotkey, and uses the startup hotkey to start the pre-boot execution environment according to the target startup order; so as to export the default startup order when the server startup is completed and the system setting item is exported.

[0006] This application also provides a computer device, including: a memory for storing a computer program; a processor for implementing the steps of the data processing method in the following embodiments when executing the computer program.

[0007] The Basic Input / Output System reads the startup item data of the Baseboard Management Controller, and determines whether the startup item data identifies the target startup order; in response to the startup item data identifying the target startup order, the Basic Input / Output System verifies whether the order attribute and the preset attribute match, and in response to the two matching, retains the default startup order preset in the system settings; wherein, the order attribute is associated with the required number of startup times of the target startup order; the Basic Input / Output System initializes the startup hotkey, and uses the startup hotkey to start the pre-boot execution environment according to the target startup order; so as to export the default startup order when the server startup is completed and the system settings are exported.

[0008] The present application also provides a computer-readable storage medium, in which a computer program is stored, and wherein, when the computer program is executed by a processor, the steps of the data processing method in the following embodiments are implemented.

[0009] The Basic Input / Output System reads the startup item data of the Baseboard Management Controller, and determines whether the startup item data identifies the target startup order; in response to the startup item data identifying the target startup order, the Basic Input / Output System verifies whether the order attribute and the preset attribute match, and in response to the two matching, retains the default startup order preset in the system settings; wherein, the order attribute is associated with the required number of startup times of the target startup order; the Basic Input / Output System initializes the startup hotkey, and uses the startup hotkey to start the pre-boot execution environment according to the target startup order; so as to export the default startup order when the server startup is completed and the system settings are exported.

[0010] The present application also provides a computer program product, including a computer program, and when the computer program is executed by a processor, the steps of the data processing method in the following embodiments are implemented.

[0011] The Basic Input / Output System reads the startup item data of the Baseboard Management Controller, and determines whether the startup item data identifies the target startup order; in response to the startup item data identifying the target startup order, the Basic Input / Output System verifies whether the order attribute and the preset attribute match, and in response to the two matching, retains the default startup order preset in the system settings; wherein, the order attribute is associated with the required number of startup times of the target startup order; the Basic Input / Output System initializes the startup hotkey, and uses the startup hotkey to start the pre-boot execution environment according to the target startup order; so as to export the default startup order when the server startup is completed and the system settings are exported.

[0012] Through the method for starting the pre-boot execution environment provided by this application, since it is determined whether the startup item data identifies the target startup order to determine whether the pre-boot execution environment can be started, the order attribute associated with the required number of startup times in the target startup order is obtained, and it is determined whether the order attribute and the preset attribute match. In response to the match, the default startup order preset in the system settings item is retained, the startup hotkey is initialized, and the pre-boot execution environment is started according to the target startup order by using the startup hotkey; so that when the server finishes starting up and exports the system settings item, the default startup order is exported. Therefore, it can be determined whether the startup item data is the target startup order, and it can be determined whether the order attribute of the target startup order matches the preset attribute to determine whether the target startup order is a temporary target startup order, and by activating the startup hotkey associated with the pre-boot execution environment and using the startup hotkey to start the pre-boot execution environment according to the target startup order, the technical problem in the related art that the startup order of the default startup item group is changed due to the startup adjustment based on the startup order of the temporary startup item group is solved, and the technical effects of improving the startup accuracy and stability of the pre-boot execution environment are achieved. Brief Description of the Drawings

[0013] In order to more clearly illustrate the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0014] Figure 1 Flow chart of the method for starting the pre-boot execution environment provided by an embodiment of the present application;

[0015] Figure 2 Flow chart of the method for starting the pre-boot execution environment provided by another embodiment of the present application;

[0016] Figure 3 Flow chart of the basic input / output system of an embodiment of the present application activating the startup hotkey to start the pre-boot execution environment based on the target startup order and shielding other hotkey functions;

[0017] Figure 4 Structure diagram of the pre-boot execution environment startup system provided by an embodiment of the present application;

[0018] Figure 5 Structure diagram of the pre-boot execution environment startup device provided by an embodiment of the present application;

[0019] Figure 6 Internal structure diagram of the computer device provided by an embodiment of the present application. Detailed Description of the Embodiments

[0020] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present application without creative efforts shall fall within the protection scope of the present application.

[0021] It should be noted that in the description of the present application, the terms "include", "comprise" or any other variation thereof are intended to cover a non-exclusive inclusion, such that a process, method, article or device including a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or device. The terms "first", "second", etc. in the present application are used to distinguish similar objects and are not used to describe a specific order or sequence.

[0022] Servers usually need to be configured with peripheral devices, such as PCI network cards, PCI RAID cards, PCI OCP network cards, PCI nvme hard drives, SATA hard drives, CD / DVD-ROM (optical drives), USB network cards, USB hard drives, etc. with PCI interfaces; regardless of the interface form of the devices, they will be classified. For example, according to the device attributes, USB interface devices are classified as USB devices, which may include USB network cards, USB hard drives, USB flash drives, etc.; or, they can be defined as a network card device group according to the type of the devices, which may include network cards with PCI interfaces, OCP network cards with PCI interfaces, on-board network cards, network card devices with USB interfaces, etc.; classification according to different definitions can be displayed as different grouping types. Here, network card devices with non-USB interfaces can be classified into the network card device group, which includes network cards with PCI interfaces, OCP network cards, HCA cards or HBA cards, etc.; nvme type storage devices belong to the hard drive device group; optical drives or DVD devices are classified into the CD / DVD-ROM device group; the remaining devices are uniformly classified into other device groups. After grouping the devices in this way, there are approximately 4 types of devices, and there are also device priority issues in each device. For example, the priority of network card 1 needs to be higher than that of network card 2; the priority of storage device 1 in the storage device group needs to be higher than that of storage device 2, and so on; at the same time, the priority settings between device groups also need to be concerned in the grouping design. For example, if the network card is required to be the first boot item, the network card device needs to be adjusted to the highest priority. If the storage device is required to be the first boot item, the storage device needs to be adjusted to the highest priority; similarly, the priorities of the devices within the group can also be adjusted.

[0023] Among them, PCI (Peripheral Component Interconnect) represents the PCI local bus, and the PCI interface, PCI network card, and PCI RAID card respectively represent the interface, network card, and disk array card based on the PCI local bus.

[0024] The OCP network card, whose full name is Open Compute Project network card, is a network interface card designed based on the OCP standard.

[0025] nvme (Non-Volatile Memory Express) is a new type of high-speed storage protocol designed specifically for solid-state drives, which can communicate directly with the motherboard through the PCIe bus.

[0026] SATA (Serial ATA) is the communication protocol for traditional hard disks and is also used for early solid-state drives.

[0027] USB (Universal Serial Bus) is a universal serial bus, a serial bus standard.

[0028] The HCA card, the host channel adapter card, is usually used in high-performance computing (HPC) and data center environments to provide very efficient data communication.

[0029] The HBA card, the host bus adapter card, is used to connect a server or host system to storage devices such as Fibre Channel, SAS (Serial Attached SCSI), or SATA (Serial ATA) devices.

[0030] DVD (Digital Video Disc), also known as high-density digital video disc, is an optical storage product.

[0031] The priority adjustment between device groups is usually manually adjusted by entering the Setup interface (settings interface) of the BIOS (Basic Input / Output System) during the server startup process. However, this adjustment scheme is time-consuming and laborious, and it will consume a huge amount of manpower, financial resources, and material resources for tens of thousands of servers in the data center. Moreover, after a temporary PXE (Pre-boot Execution Environment) startup, the system is accustomed to exporting the startup order of the startup item groups through the corresponding system tool. Here, the corresponding system tool is a tool that can export the startup order of the startup item groups. For example, it can be the SCE tool, a system management tool for monitoring and managing enterprises. However, at this time, the startup order of the startup item groups exported by the corresponding system tool is the temporary target startup order. Thus, it will result in the inability to obtain the correct startup order of the default startup item group, causing a decline in system performance. Therefore, there is an urgent need for a startup method for the pre-boot execution environment that can adjust the startup order of the temporary startup item groups without changing the startup order of the obtained default startup item group.

[0032] To enable those skilled in the art of this technical field to better understand the solution of this application, the following further detailed description of this application will be given in conjunction with the accompanying drawings and specific embodiments.

[0033] As Figure 1 shown, an embodiment of this application provides a startup method for the pre-boot execution environment. The method specifically includes the following steps:

[0034] Step 101: The Basic Input / Output System reads the startup item data of the Baseboard Management Controller and determines whether the startup item data identifies the target startup order.

[0035] Specifically, the Basic Input / Output System obtains the data value of the startup item data and the lowest-bit binary numerical value of the startup item data; the Basic Input / Output System determines whether the data value of the startup item data is the first preset value; in response to the data value of the startup item data being the first preset value, the Basic Input / Output System determines that the startup item data identifies the target startup order; in response to the data value of the startup item data being a non-first preset value, the Basic Input / Output System determines whether the lowest-bit binary numerical value of the startup item data is the second preset value; in response to the lowest-bit binary numerical value of the startup item data being the second preset value, the Basic Input / Output System determines that the startup item data identifies the target startup order; in response to the lowest-bit binary numerical value of the startup item data being a non-second preset value, the Basic Input / Output System determines that the startup item data does not identify the target startup order, obtains the default startup order of the startup item group, and starts the server based on the default startup order of the startup item group.

[0036] The startup item data here is used to indicate whether the basic input / output system can obtain the target control parameters from the baseboard management controller. Judging whether the startup item data identifies the target startup order means whether the basic input / output system can obtain the target startup order from the target control parameters in the baseboard management controller.

[0037] Specifically, the BIOS can read the first protocol startup item data at the BMC end from the first protocol. After obtaining the first protocol startup item data at the BMC end, judge the startup item data. Judge whether the data in the startup item data is 0 (whether the data value of the startup item data is the first preset value) or whether Bit0 in the startup item data is set to 1 (whether the lowest bit binary value of the startup item data is the second preset value). That is, when the data is 0 or Bit0 of the startup item data is set to 1, it is confirmed that the BMC end has set the first protocol startup order; Bit0 represents the setting of BIOS startup or Post startup; in response to when the data is not 0 and Bit0 of the startup item data is set to 0, it is determined that there is no startup order adjustment function for the first protocol command.

[0038] Please refer to Figure 2 , first, before the basic input / output system reads the startup item data of the baseboard management controller, it also includes: in response to the baseboard management controller obtaining the target control instruction, the baseboard management controller parses the target control instruction, obtains the target control parameters, and stores the target control parameters in the memory of the baseboard management controller. The target control parameters include the order attribute and the startup method type.

[0039] The baseboard management controller of this application will obtain the target parameter information according to the target control instruction. Among them, the target control instruction is the first control instruction or the second control instruction. The baseboard management controller obtaining the target control instruction includes: obtaining the server status information, determining the server status according to the server status information. The server status includes the first status and the second status; in response to the server status being the first status, obtaining the baseboard management controller password and generating the first control instruction according to the baseboard management controller password; the first control instruction supports starting a single pre-boot execution environment; in response to the server status being the second status, obtaining the baseboard management controller network address, the baseboard management controller user name, and the baseboard management controller password to generate the second control instruction, and the second control instruction supports starting a single pre-boot execution environment.

[0040] As the manager of the most basic and direct hardware settings and controls of the server motherboard, the basic input / output system (BIOS), optimizing the BIOS function can improve the usability of the server.

[0041] The target control instruction in this application is the first control instruction or the second control instruction. The first control instruction is a control instruction for remote management generated by the server in the first state, and the first state is the server shutdown state. The control instruction for remote management here is a remote first protocol instruction. In the server shutdown state, a pre-boot execution environment is remotely set through the first control instruction. The second control instruction is correspondingly a control instruction for in-band system generated in the second state. The second state is after the server boots through the system disk and enters the system state. The second control instruction here is the first protocol instruction for in-band system of the server. A pre-boot execution environment is set through the second control instruction.

[0042] Exemplarily, the first control instruction can be as follows:

[0043] Remote control terminal command: "ipmitool.exe chassis bootdev PXE;"

[0044] The second control instruction can be as follows:

[0045] In-band system command: "ipmitool.exe –I lanplus -H XX.XX.XX.XX (bmc IP address) –U BMC username –P BMC password chassis bootdev PXE;"

[0046] In different server states, the target control instruction is obtained in different ways, and the target control parameters corresponding to the target instruction are stored in the memory of the baseboard management controller. The target control parameters here are the relevant parameters of the pre-boot execution environment set through the target control instruction.

[0047] The target control parameters here include the attribute of the start order of the start item group corresponding to the pre-boot execution environment and the type of start method. The attribute of the start order of the start item group is the number of times the start order of the set start item group is set. That is, it starts several times according to the start order of the start item group. The type of start method here refers to the type of start method. For example, the type of start method can include the start of the pre-boot execution environment, the start from memory, the start from the optical drive device, etc.

[0048] After the first protocol command is set once under the system or at the remote control end, after receiving the command, the baseboard management controller stores the start command for pre-boot execution environment support once in the memory of the baseboard management controller for storage and recording. The memory can be NVRAM (Non-Volatile Random Access Memory) or EEPROM (Electrically Erasable Programmable Read-Only Memory). At the same time, the baseboard management controller can automatically time through a timer, obtain the timing duration of the timer and a preset time threshold. By comparing the obtained timing duration of the timer with the preset time threshold, it is determined whether the target control parameter needs to be deleted from the memory of the baseboard management controller.

[0049] In one embodiment, storing the target control parameter in the memory of the baseboard management controller includes: in response to storing the target control parameter in the memory of the baseboard management controller, starting the timer; obtaining the timing duration of the timer and obtaining a preset time threshold; in response to the timing duration of the timer being less than or equal to the preset time threshold and the basic input / output system obtaining the target control parameter transmitted by the baseboard management controller, deleting the target control parameter from the memory of the baseboard management controller; in response to the timing duration of the timer being greater than the preset time threshold, deleting the target control parameter from the memory of the baseboard management controller; in response to the timing duration of the timer being less than the preset time threshold and the basic input / output system not obtaining the target control parameter transmitted by the baseboard management controller, the target control parameter continues to be stored in the memory of the baseboard management controller.

[0050] The preset time threshold here is set according to actual needs and the experience of the operator, and the specific value of the preset time threshold is not limited in this application. Exemplarily, in this application, the preset time threshold is 3 minutes, 6 minutes, etc., and the description is made with the preset time threshold of 3 minutes.

[0051] When the baseboard management controller displays that the timing duration of the timer exceeds 3 minutes, the target control parameter will be erased from the memory of the baseboard management controller regardless of whether the basic input / output system has been started or not; when the basic input / output system does not obtain the target control parameter transmitted by the baseboard management control within 3 minutes, the target control parameter continues to be stored in the memory of the baseboard management controller, and no processing is performed on the target control parameter in the memory. In response to the basic input / output system obtaining the target control parameter through the first protocol between the BIOS and the BMC within 3 minutes or at 3 minutes, the target control parameter will also be erased from the memory of the baseboard management controller. At this time, the parameters for one-time PXE boot can be queried through the first protocol command to check whether the settings are valid.

[0052] Exemplarily, the format of the first protocol command is as follows:

[0053] Remote control terminal command: "ipmitool.exe chassis bootparam get 5".

[0054] System command: "ipmitool.exe –I lanplus -H XX.XX.XX.XX (BMC IP address) –U BMC username –P BMC password chassis bootparam get 5".

[0055] Next, the pre-boot execution environment can be started by executing "ipmitool.exe –I lanplus -H XX.XX.XX.XX (BMC IP address) –U BMC username –P BMC password power cycle" through the BMC web or IPMI command, or the startup can be initiated by pressing the physical power button of the server.

[0056] After storing the target control parameters in the memory of the baseboard management controller in this application, it includes: determining whether the first protocol is successfully installed and whether the second protocol supports the startup of the pre-boot execution environment.

[0057] Specifically, in response to the server power-on, the basic input / output system installs the first protocol during the system initialization phase and determines whether the first protocol is successfully installed; in response to the successful installation of the first protocol, the basic input / output system determines whether the second protocol supports the startup of the pre-boot execution environment.

[0058] The first protocol can be a protocol that can be linked to the baseboard management controller through the system interface to achieve out-of-band management. The second protocol can be a protocol for centralized management and monitoring of servers, storage systems, and network devices. For example, the first protocol can specifically be the IPMI protocol, and the second protocol can specifically be the Redfish protocol. The startup item data is the startup item data generated when the basic input / output system obtains the target control parameters from the baseboard management controller. The startup item data is used to indicate whether the basic input / output system can obtain the target control parameters from the baseboard management controller. Determining whether the startup item data identifies the target startup order means whether the basic input / output system can obtain the target startup order from the target control parameters in the baseboard management controller.

[0059] That is to say, this solution can transmit the startup order of the startup item group by using the first protocol and the second protocol. Among them, the Intelligent Platform Management Interface (IPMI) provides settings related to the boot startup items that can be used to set and obtain in the BMC (Baseboard Management Controller) chip. The IPMI tool can send commands to a specified network address through the network, so that the Boot option (startup option) can be directly changed at the remote control end without the need to perform more steps of setting by logging in to the server BMC control end. Nor is it necessary to immediately restart the server. After directly changing the server Boot option through the IPMI tool, it will not affect the normal operation of the server system and will only take effect when the server is restarted next time. This meets the requirements of some customers who do not want to immediately stop the server operation. Redfish is a standard for managing modern data centers and network devices, mainly used for data center hardware management. It provides a modern and easy-to-use interface, using the JSON format for data transmission and description.

[0060] The Pre-boot Execution Environment (PXE) is a network boot technology that works in the Client / Server mode. The ROM (Read-Only Memory) of the PXE network card has built-in support for the dhcp and tftp protocols, allowing the client to download the boot image from a remote server through the network and load the installation file or the entire operating system. The PXE network method is used to achieve automated batch installation of the system, and the entire installation process requires no manual intervention, greatly improving work efficiency.

[0061] The startup order of the startup item group in this solution is a group of bootable device options with a sequential order composed of multiple devices that the BIOS (Basic Input / Output System) startup items boot into the operating system. There can be multiple startup item groups in this application, and multiple startup item groups correspond to multiple startup orders. The multiple startup item groups include a storage device group, a network card device group, an optical drive device group, and other device groups.

[0062] There are various different boot devices in the server system, such as common CD / DVD optical drives, floppy drives, hard disks, bootable USB devices, etc. All bootable devices will have a default boot order in the BIOS. For example, the first startup item is the CD / DVD optical drive, the second startup item is the floppy drive, and the third startup item is the hard disk. By default, the BIOS will try to boot into the operating system one by one according to the startup order. If the first startup item fails to boot, it will automatically try the next one until all bootable devices have been tried.

[0063] Please refer to Figure 3 , Figure 3 which is a schematic flowchart of the basic input / output system activating the startup hotkey to execute the pre-boot execution environment based on the target startup order and masking other hotkey functions in an embodiment of the present application. It should be noted that it can be considered that Figure 3 is Figure 2 the specific process in which the BIOS in

[0064] activates the startup hotkey, executes the startup of the pre-boot execution environment based on the target startup order, and masks other hotkey functions in response to the startup data identifying the target startup order and the sequence attribute matching the preset attribute.

[0065] Specifically, after the server is powered on, before determining that the startup data identifies the target startup order and the sequence attribute matches the preset attribute, it can be determined whether the first protocol is successfully installed and whether the second protocol supports the startup of the pre-boot execution environment.

[0066] Specifically, in response to the server being powered on, the basic input / output system installs the first protocol in the system initialization stage and determines whether the first protocol is successfully installed; in response to the successful installation of the first protocol, the basic input / output system determines whether the second protocol supports the startup of the pre-boot execution environment. In response to the unsuccessful installation of the first protocol, the basic input / output system determines that the basic input / output system cannot adjust the startup item grouping settings, obtains the default startup item grouping information, and starts the server according to the default startup item grouping information, where the default startup item grouping information includes the default startup order of the startup item grouping.

[0067] In this application, by determining whether the first protocol is installed during the initialization (DXE) phase of the basic input / output system and whether the installation of the first protocol is successful, if the installation of the first protocol fails, it returns and stops further execution; if the installation of the first protocol is successful, it continues to execute and checks whether the second protocol supports the pre-boot execution environment. If the second protocol supports the pre-boot execution environment, it then determines whether the second protocol includes a protocol boot order, where the protocol boot order represents the boot order of the boot item groups set and adjusted in the second protocol. If the second protocol includes a protocol boot order, the server is booted according to the protocol boot order in the second protocol.

[0068] If the second protocol does not include a protocol boot order, or if the baseboard management controller detects during the initialization phase that the second protocol does not support the start of the pre-boot execution environment, the basic input / output system obtains the boot item data of the first protocol at the end of the first baseboard management controller through the first protocol.

[0069] After determining that the boot item data identifies the target boot order, it includes: the baseboard management controller sends the relevant information of the target boot order to the basic input / output system through the first protocol; in response to the basic input / output system receiving the relevant information of the target boot order, it analyzes the target boot order to obtain the boot item settings and boot method parameters of the boot item group. The boot item settings include the order attribute of the boot order of the boot item group, and the boot method parameters include the boot method type; based on the boot order of the boot item group and the boot method parameters, it determines whether the adjustment of the boot order of the boot item group is supported.

[0070] Here, the boot item setting data refers to whether the number of boots set for the boot order of the boot group is single or multiple, and the boot method type refers to the type of boot, such as whether it is a pre-boot execution environment boot, a memory boot, a CD-ROM boot, etc.

[0071] It should be noted that the meanings of determining whether to support the pre-boot execution environment and whether to support the start of the pre-boot execution environment in this application are different. Determining whether to support the pre-boot execution environment refers to the configuration of the boot environment for the pre-boot execution environment, as long as the boot environment meets the boot conditions, that is, regardless of the boot method, as long as the boot environment can support the start of the pre-boot execution environment. And determining whether to support the start of the pre-boot execution environment refers to whether to start the pre-boot execution environment according to the target boot order in this application.

[0072] In one embodiment, the startup flag bit can be determined whether it is valid by setting a function and obtaining the return value of the function. Specifically, the basic input / output system obtains the startup flag bit stored in the baseboard management controller and determines whether the startup flag bit is valid; in response to the startup flag bit being invalid, it is determined that the basic input / output system does not support adjusting the startup order of the startup item group, then the default startup order of the startup item group is obtained, and the server is started based on the default startup order of the startup item group; in response to the startup flag bit being valid, it is determined that the basic input / output system supports adjusting the startup order of the startup item group.

[0073] In this application, it is determined whether the basic input / output system supports adjusting the startup order of the startup item group by setting a startup flag bit, and it is determined whether to support adjusting the startup order of the startup item group based on the startup order of the startup item group and the startup mode parameter. Multiple methods are used to determine whether to support adjusting the startup order of the startup item group, which can improve the stability of server startup.

[0074] Step 102: In response to the startup item data identifying the target startup order, the basic input / output system checks whether the order attribute and the preset attribute match. In response to the two matching, the default startup order preset in the system settings item is retained; wherein, the order attribute is associated with the required startup times of the target startup order.

[0075] Specifically, the basic input / output system checks whether the order attribute and the preset attribute match, and retains the default startup order in response to the two matching, including: the basic input / output system obtains the order attribute of the target startup order, and the order attribute is associated with the required startup times of the target startup order; checks whether the order attribute and the preset attribute match; if the order attribute and the preset attribute do not match, then the basic input / output system determines that the startup times corresponding to the target startup order are not single times, determines that the basic input / output system does not support adjusting the startup order of the startup item group, obtains the default startup order of the startup item group, and starts the server based on the default startup order of the startup item group; in response to the order attribute and the preset attribute matching, the basic input / output system determines that the startup times corresponding to the target startup order are single times, then the basic input / output system retains the default startup order of the startup group.

[0076] In this application, it is set to determine whether the obtained startup flag bit is valid. Only when it is valid can the startup sequence be adjusted. When it is invalid (not set or the set waiting time expires), it returns. It judges the number of times of setting the startup item to see if it is a single startup (whether the basic input / output system check sequence attribute matches the preset attribute). If it is not a single startup, the current startup sequence is permanently stored in the memory area of the BIOS. If it is a single startup, the startup sequence of the default BIOS Setup interface is retained without setting through the startup variables of the BIOS Setup interface. At the same time, the BIOS will no longer adjust, back up, or store the startup sequence of the device group. In short, whether it is single or permanent, the startup sequence of the default permanent startup item device group will no longer be adjusted.

[0077] Step 103: The basic input / output system initializes the startup hotkey and uses the startup hotkey to start the pre-boot execution environment according to the target startup sequence; when the server starts up and exports the system setting items, the default startup sequence is exported.

[0078] Specifically, the basic input / output system initializes the startup hotkey associated with the pre-boot execution environment, and obtains the sequence attribute of the target startup sequence again through the first protocol. The sequence attribute is associated with the required number of startup times of the target startup sequence; it checks whether the sequence attribute matches the preset attribute. If the sequence attribute does not match the preset attribute, it is determined that the number of startup times corresponding to the target startup sequence is not single, and the default startup sequence of the startup item group is obtained, and the server is started based on the default startup sequence of the startup item group. If the sequence attribute matches the preset attribute, it is determined that the number of startup times corresponding to the target startup sequence is single, then the startup hotkey is activated and other hotkey functions are blocked to start the pre-boot execution environment based on the target startup sequence.

[0079] The BIOS of the server obtains the sequence attribute of the target boot order again through obtaining the first protocol in the DXE (Initialization) phase. The sequence attribute is associated with the required number of boot times of the target boot order; it checks whether the sequence attribute matches the preset attribute; it determines whether the target boot order is a single boot based on whether the sequence attribute matches the preset attribute. In response to it not being a single boot, it executes according to the default boot order. In response to it being a single boot, it executes the pre-boot execution environment startup function in the hotkey function area. At the same time, it masks other hotkey functions, such as F11 BBS startup, DEL hotkey to enter BIOS setup, etc. Here, it can be achieved by setting the global variable of the PXE (Pre-boot Execution Environment) function hotkey to true, that is, True, to prevent other hotkeys from interrupting the PXE function of the hotkey. At the same time, masking other hotkeys can prevent the default boot order of the system settings item from being modified. Thus, when starting the pre-boot execution environment according to the target boot order, it is beneficial to ensure that other hotkey functions do not tamper with the default boot order preset in the system settings item. As such, after the server starts up, when exporting the system settings item, the exported one is still the default boot order. At the same time, taking the preset attribute as one time as an example, when the sequence attribute matches the preset attribute, it can be considered that the pre-boot execution environment is started temporarily and single-time according to the target boot order, without modifying the default boot order preset in the system settings item. It can start according to the default boot order when starting up next time, and can omit the cumbersome operations of modifying the system settings item multiple times due to different single-boot item sequences, and retain the preset and default default boot order of the server.

[0080] Please refer to Figure 2 , in response to the pre-boot execution environment being executed in the hotkey function area, enter the pre-boot execution environment operating system, read the boot order of the boot item group of the current server, and determine whether the boot order of the boot item group of the current server meets the expectation.

[0081] That is, when the hotkey PXE startup function is executed, at this time, enter the PXE (Pre-boot Execution Environment) operating system; after entering the operating system, use the corresponding system tool to read the boot item device group order of the current server, and determine whether the boot order of the boot item group of the current server meets the expectation.

[0082] In one embodiment, in response to executing the pre-boot execution environment based on the target boot order, enter the operating system. The operating system reads the boot order of the boot item group of the current server, and determines whether the boot order of the boot item group of the current server meets the expectation.

[0083] Among them, determining whether the startup order of the startup item group of the current server meets the expectation includes: the operating system obtains the startup order of the startup item group of the current server and obtains the default startup order of the startup item group; the operating system compares the startup order of the startup item group of the current server with the default startup order of the startup item group; in response to the startup order of the startup item group of the current server matching the default startup order of the startup item group, the operating system determines that the startup order of the startup item group of the current server meets the expectation.

[0084] Among them, obtain the startup order of the startup item group of the current server and obtain the default startup order of the startup item group; compare the startup order of the startup item group of the current server with the default startup order of the startup item group; in response to the startup order of the startup item group of the current server matching the default startup order of the startup item group, determine that the startup order of the startup item group of the current server meets the expectation.

[0085] In this application, by matching the startup order of the startup item group of the current server obtained with the default startup order of the obtained startup system group, it is further determined whether the current default startup order has changed due to the influence of starting a temporary and single pre-start execution environment, resulting in a change in the startup order of the startup item group of the server that was originally consistent with the default startup order. Here, if the startup order of the startup item group of the previous server matches the default startup order of the obtained startup system group, it is considered that after starting a temporary and single pre-start execution environment, the startup order of the startup item group of the previous server obtained through the corresponding system tool is still the default startup order. If the startup order of the startup item group of the previous server does not match the default startup order of the obtained startup system group, it is considered that after starting a temporary and single pre-start execution environment, the startup order of the startup item group of the previous server obtained through the corresponding system tool has changed and is not the default startup order.

[0086] In one embodiment, in response to the server restarting, the basic input / output system starts according to the default startup order of the startup group; enters the operating system, and the operating system reads the startup order of the startup item group of the restarted server; determines whether the startup order of the startup item group of the restarted server meets the expectation.

[0087] Among them, determining whether the startup order of the startup item group of the restarted server meets the expectation includes: the operating system obtains the startup order of the startup item group of the restarted server and obtains the default startup order of the startup item group; the operating system compares the startup order of the startup item group of the restarted server with the default startup order of the startup item group; in response to the startup order of the startup item group of the restarted server matching the default startup order of the startup item group, the operating system determines that the startup order of the startup item group of the restarted server meets the expectation.

[0088] In this application, the PXE boot item settings are set once through the in-band or out-of-band system using the first protocol command. After receiving this information, the BMC management firmware stores it in the BMC management firmware. At this time, the BMC management firmware performs timing statistics and determines whether the preset time threshold is exceeded. If the preset time threshold is exceeded, regardless of whether the BIOS obtains the first protocol setting boot command stored in the BMC, this boot item setting will be cleared. At the same time, if the setting is completed and the server is restarted or shut down and then powered on again, the BIOS will obtain the priority of the boot items set by the first protocol from the BMC management firmware according to the first protocol and the fixed format requirements. At the same time, the adjustment of the device group boot item order for single or permanent boot items will be abandoned. During the DXE stage of the BIOS, the BMC-side record information for setting the PXE boot through the first protocol command will be obtained again and executed in the way of hotkey PXE execution, and other hotkey functions will be blocked to avoid the problem of the failure of the first protocol command for single PXE boot caused by other hotkey inputs. When the hotkey PXE function is executed and the single PXE boot enters the operating system at this time, the adjusted boot item order priority will be exported using the corresponding system tool. When the server is restarted again, the BIOS will boot according to the default and permanent boot item priorities. At this time, the default permanent boot item group priority settings will be exported using the corresponding system tool under the system and verified whether they are consistent and meet the expected settings.

[0089] In this application, the operations of the method for starting the pre-boot execution environment are all recorded in the Debug (debug log). Subsequently, problem troubleshooting and function debugging can also be performed based on the relevant information about the start of the pre-boot execution environment recorded in the Debug (debug log).

[0090] In one embodiment, the pre-boot execution environment start information can be obtained; the pre-boot execution environment start information is parsed to obtain the field values corresponding to the fields in the preset structure; each field value is written into the corresponding field to obtain the target structure; and the pre-boot execution environment boot items are adjusted according to the target structure.

[0091] The pre-boot execution environment start information here is the information related to starting the Preboot Execution Environment (PXE), including verification information and start information. The verification information is the information related to PXE verification of the pre-boot execution environment, such as the header of information identification, classification range setting information, etc., and the start information includes the start order information of the boot items. Among them, the pre-boot execution environment start information can be pre-stored in the memory of the baseboard management controller.

[0092] The preset structure is a blank structure pre-stored by the basic input / output system during the power-on self-test of the server, used to store the information for preferential PXE boot in the pre-boot execution environment startup information. Among them, the blank structure includes multiple fields, and the field values corresponding to each field are currently empty. After receiving the pre-boot execution environment startup information, the pre-boot execution environment startup information is parsed to obtain the field values corresponding to each field in the blank structure.

[0093] Among them, it can be parsed according to the ASCII code. The ASCII code, namely (America Standard Code for Information Interchange), is the American Standard Code for Information Interchange, which can be used to standardize data transmission in different computer hardware and software systems. This code is used in most minicomputers and all personal computers. The ASCII code is divided into two sets: the standard ASCII code of 128 characters and the extended ASCII code of an additional 128 characters. After obtaining the field values corresponding to each field in the preset structure, write each field value into the corresponding field to obtain the target structure. At this time, each field in the target structure has a corresponding field value. In this way, the pre-boot execution environment startup information can be standardized, which helps to quickly extract the required information from the pre-boot execution environment startup information, thereby accelerating the startup speed of the pre-boot execution environment.

[0094] In this application, the external BMC management firmware first protocol command is used to interact with the server startup management firmware BIOS. The control terminal remote command is used to set the first protocol PXE to start and install the system once. During the server startup process, the BIOS obtains the first protocol command parameters stored in the BMC through the first protocol and feeds them back to the BIOS side. The BIOS side parses the parameters according to the returned data structure data and adjusts the startup order. At the same time, the permanent default startup item order of the BIOS is stored and backed up without any adjustment. In the hotkey function part of the DXE stage of the BIOS, it is again determined through the first protocol whether the PXE startup of the first protocol command is a one-time startup. If not, no processing is done here, and the system can be started normally according to the default and permanent startup item order of the BIOS. If so, the global flag bit of the hotkey PXE function is set from false to true, that is, the global flag bit is adjusted from "False" to "True". At the same time, other hotkey functions are turned off and only the PXE function is executed to install the system and start into the PXE system. The corresponding system tool command is used to read the startup item grouping device order at the current time, that is, during this startup, and it is judged whether the device group grouping startup priority order is consistent with the default and permanent startup settings. After checking, it must meet the expectations. At this time, after the server restarts, the BIOS will confirm through the first protocol that the startup priority item set by the BMC has been cleared, and the default and permanent startup item order of the BIOS will be used for startup. At this time, after entering the operating system again, it can be checked whether it meets the expected default startup item settings.

[0095] It should be noted that the control terminal remotely stores the startup priority order in the BMC management firmware through the first protocol command. When the server starts up, the BIOS obtains the startup item priority setting stored on the BMC side through the first protocol, and judges whether the obtained first protocol command starts PXE once or permanently. If it is a one-time startup, it is executed through the hotkey PXE function in the DXE stage of the BIOS, and the device grouping startup item order of the default and permanent startup items is not adjusted. The global variable value of the hotkey PXE function is updated and other hotkey functions are blocked to ensure that a one-time PXE startup does not adjust the default and permanent startup item order. After the PXE system startup is completed, the corresponding system tool is used to export the startup items and confirm. When restarting again, it still starts according to the default and permanent startup item order of the BIOS side, and the corresponding system tool is used to export the startup items and confirm under the system to ensure that the default and permanent startup items of the BIOS meet the expectations.

[0096] An embodiment of this application provides a startup system for the pre-boot execution environment. The startup system of the pre-boot execution environment is specifically as Figure 4 shown. The startup system of the pre-boot execution environment includes: a baseboard management controller, a basic input / output system, a processor 0, a processor 1, and multiple hard disks.

[0097] The Baseboard Management Controller (BMC) communicates with the Basic Input / Output System (BIOS) through a first protocol, and the Baseboard Management Controller communicates with Processor 0 through a second protocol. The Baseboard Management Controller communicates with a PCI interface network card through LPC (Low Pin Count) / PCI, and the Baseboard Management Controller is connected to multiple hard disks through UCB Over Lan (UCB Remote Connection) (PCI interface nvme hard disk 0, PCI interface nvme hard disk 1, PCI interface nvme hard disk 2, PCI interface nvme hard disk 3).

[0098] The Basic Input / Output System communicates with Processor 0 through LPC / SPI / QSPI. The SPI / QSPI protocol interface is a data communication interface for display devices, storage devices, and some sensor devices. Processor 0 communicates with Processor 1 through CCIX (Cache Coherent Interconnect for Accelerators) / UPI / GMI (GMI is a communication bus between CPUs (Central Processing Units), between GPUs (Graphics Processing Units), and between CPUs and memory). Processor 1 is connected to a USB interface USB flash drive and a USB interface. The USB interface is connected to a USB keyboard hotkey. Processor 1 is also connected to multiple hard disks through PCI (PCI interface nvme hard disk 4, PCI interface nvme hard disk 5, PCI interface nvme hard disk 6, PCI interface nvme hard disk 7).

[0099] An embodiment of the present application provides a startup device for a Pre-Boot Execution Environment. The startup device for the Pre-Boot Execution Environment is specifically as Figure 5 shown. The startup device for the Pre-Boot Execution Environment includes: a judgment module 20, a verification module 21, and a startup module 22.

[0100] The judgment module 20 is used for the Basic Input / Output System to read the startup item data of the Baseboard Management Controller and judge whether the startup item data identifies the target startup order.

[0101] The verification module 21 is used for, in response to the startup item data identifying the target startup order, the Basic Input / Output System to verify whether the order attribute and the preset attribute match. If the two match, the default startup order preset in the system settings item is retained; wherein, the order attribute is associated with the required number of startup times of the target startup order.

[0102] The startup module 22 is used for the Basic Input / Output System to initialize the startup hotkey and use the startup hotkey to execute the startup of the Pre-Boot Execution Environment according to the target startup order; so as to export the default startup order when the server startup is completed and the system settings item is exported.

[0103] In one embodiment, the above device can implement another implementation manner of the startup method for the Pre-Boot Execution Environment. The specific steps are as follows:

[0104] Before the basic input / output system reads the startup item data of the baseboard management controller, it includes: in response to the baseboard management controller obtaining a target control instruction, the baseboard management controller parses the target control instruction, obtains target control parameters, and stores the target control parameters in the memory of the baseboard management controller. The target control parameters include sequence attributes, startup method types, and the startup sequence of startup item groups.

[0105] In one embodiment, the above device can implement another implementation manner of the startup method of the pre-boot execution environment. The specific steps are as follows: The target control instruction is the first control instruction or the second control instruction. The baseboard management controller obtaining the target control instruction includes: obtaining server status information, determining the server status according to the server status information, where the server status includes the first status and the second status; in response to the server status being the first status, obtaining the baseboard management controller password and generating the first control instruction according to the baseboard management controller password; the first control instruction supports executing the startup of the pre-boot execution environment once; in response to the server status being the second status, obtaining the baseboard management controller network address, the baseboard management controller user name, and the baseboard management controller password to generate the second control instruction, and the second control instruction supports executing the startup of the pre-boot execution environment once.

[0106] In one embodiment, the above device can implement another implementation manner of the startup method of the pre-boot execution environment. The specific steps are as follows: After storing the target control parameters in the memory of the baseboard management controller, it includes: in response to storing the target control parameters in the memory of the baseboard management controller, starting a timer; the baseboard management controller obtains the timer timing duration and obtains a preset time threshold; in response to the timer timing duration being less than or equal to the preset time threshold and the basic input / output system obtaining the target control parameters transmitted by the baseboard management controller, deleting the target control parameters from the memory of the baseboard management controller; in response to the timer timing duration being greater than the preset time threshold, deleting the target control parameters from the memory of the baseboard management controller; in response to the timer timing duration being less than the preset time threshold and the basic input / output system not obtaining the target control parameters transmitted by the baseboard management controller, the target control parameters continue to be stored in the memory of the baseboard management controller.

[0107] In one embodiment, the above device can implement another implementation manner of the startup method of the pre-boot execution environment. The specific steps are as follows: After storing the target control parameters in the memory of the baseboard management controller, it includes: in response to the server powering on, the basic input / output system installs the first protocol during the system initialization phase and determines whether the first protocol is installed successfully; in response to the first protocol being installed successfully, the basic input / output system determines whether the second protocol supports starting the pre-boot execution environment.

[0108] In one embodiment, the above device can implement another implementation manner of the method for starting a pre-boot execution environment. The specific steps are as follows: The basic input / output system determines whether the second protocol supports starting the pre-boot execution environment, including: the basic input / output system determines whether the second protocol supports starting the pre-boot execution environment; in response to the second protocol supporting starting the pre-boot execution environment, the basic input / output system determines whether the second protocol includes a protocol startup sequence; wherein, the protocol startup sequence represents the startup sequence of the startup item groups set and adjusted in the second protocol; in response to the second protocol including the protocol startup sequence, the basic input / output system starts the server according to the protocol startup sequence in the second protocol; in response to the second protocol not including the protocol startup sequence, the basic input / output system determines that the second protocol supports starting the pre-boot execution environment.

[0109] In one embodiment, the above device can implement another implementation manner of the method for starting a pre-boot execution environment. The specific steps are as follows: After determining whether the first protocol is successfully installed, it further includes: in response to the first protocol not being successfully installed, the basic input / output system determines that the basic input / output system cannot perform the adjustment of the startup item group settings, obtains the default startup item group information, and starts the server according to the default startup item group information, where the default startup item group information includes the default startup sequence of the startup item group.

[0110] In one embodiment, the above device can implement another implementation manner of the method for starting a pre-boot execution environment. The specific steps are as follows: Determining whether the startup item data identifies the target startup sequence includes: the basic input / output system obtains the data value of the startup item data and the lowest-bit binary numerical value of the startup item data; the basic input / output system determines whether the data value of the startup item data is a first preset value; in response to the data value of the startup item data being the first preset value, the basic input / output system determines that the startup item data identifies the target startup sequence; in response to the data value of the startup item data not being the first preset value, the basic input / output system determines whether the lowest-bit binary numerical value of the startup item data is a second preset value; in response to the lowest-bit binary numerical value of the startup item data being the second preset value, the basic input / output system determines that the startup item data identifies the target startup sequence; in response to the lowest-bit binary numerical value of the startup item data not being the second preset value, the basic input / output system determines that the startup item data does not identify the target startup sequence, obtains the default startup sequence of the startup item group, and starts the server based on the default startup sequence of the startup item group.

[0111] In one embodiment, the above device can implement another implementation manner of the method for starting a pre-boot execution environment. The specific steps are as follows: After determining that the boot item data identifies the target boot order, it includes: The baseboard management controller sends the relevant information of the target boot order to the basic input / output system through the first protocol; in response to the basic input / output system receiving the relevant information of the target boot order, analyze the target boot order, obtain the boot item settings and the boot method parameters of the boot item group. The boot item settings include the order attribute of the boot order of the boot item group, and the boot method parameters include the boot method type; based on the boot order of the boot item group and the boot method parameters, determine whether the adjustment of the boot order of the boot item group is supported.

[0112] In one embodiment, the above device can implement another implementation manner of the method for starting a pre-boot execution environment. The specific steps are as follows: Before the basic input / output system verifies whether the order attribute and the preset attribute match, it includes: The basic input / output system obtains the boot flag bit stored by the baseboard management controller and determines whether the boot flag bit is valid; in response to the boot flag bit being invalid, it is determined that the basic input / output system does not support adjusting the boot order of the boot item group, then obtain the default boot order of the boot item group, and start the server based on the default boot order of the boot item group; in response to the boot flag bit being valid, it is determined that the basic input / output system supports adjusting the boot order of the boot item group.

[0113] In one embodiment, the above device can implement another implementation manner of the method for starting a pre-boot execution environment. The specific steps are as follows: The basic input / output system obtains the order attribute of the target boot order, and the order attribute is associated with the required number of boot times of the target boot order; verify whether the order attribute and the preset attribute match; if the order attribute and the preset attribute do not match, then the basic input / output system determines that the number of boot times corresponding to the target boot order is not single, determines that the basic input / output system does not support adjusting the boot order of the boot item group, obtains the default boot order of the boot item group, and starts the server based on the default boot order of the boot item group; in response to the order attribute and the preset attribute matching, then the basic input / output system determines that the number of boot times corresponding to the target boot order is single, then the basic input / output system retains the default boot order of the boot group.

[0114] In one embodiment, the above device can implement another implementation manner of the method for starting a pre-boot execution environment. The specific steps are as follows: Using the boot hotkey to start the pre-boot execution environment according to the target boot order includes: The basic input / output system obtains the order attribute again to verify whether the order attribute and the preset attribute match; in response to the two matching, activate the boot hotkey to start the pre-boot execution environment based on the target boot order; and block other hotkey functions.

[0115] In one embodiment, the above device can implement another implementation manner of the startup method for the pre-boot execution environment. The specific steps are as follows: The basic input / output system obtains the sequence attribute again to verify whether both the sequence attribute and the preset attribute match, including: The basic input / output system initializes the startup hotkey associated with the pre-boot execution environment, obtains the sequence attribute of the target startup sequence again through the first protocol, and the sequence attribute is associated with the required number of startup times of the target startup sequence; checks whether the sequence attribute matches the preset attribute; if the sequence attribute does not match the preset attribute, it is determined that the number of startup times corresponding to the target startup sequence is not a single time, obtains the default startup sequence of the startup item group, and starts the server based on the default startup sequence of the startup item group; in response to the sequence attribute matching the preset attribute, it is determined that the number of startup times corresponding to the target startup sequence is a single time, then activates the startup hotkey and shields other hotkey functions to execute the startup of the pre-boot execution environment based on the target startup sequence.

[0116] In one embodiment, the above device can implement another implementation manner of the startup method for the pre-boot execution environment. The specific steps are as follows: The startup method further includes: In response to the basic input / output system executing the pre-boot execution environment based on the target startup sequence and entering the operating system, the operating system reads the startup sequence of the startup item group of the current server and determines whether the startup sequence of the startup item group of the current server meets the expectation.

[0117] In one embodiment, the above device can implement another implementation manner of the startup method for the pre-boot execution environment. The specific steps are as follows: Determining whether the startup sequence of the startup item group of the current server meets the expectation includes: The operating system obtains the startup sequence of the startup item group of the current server and obtains the default startup sequence of the startup item group; the operating system compares the startup sequence of the startup item group of the current server with the default startup sequence of the startup item group; in response to the startup sequence of the startup item group of the current server matching the default startup sequence of the startup item group, the operating system determines that the startup sequence of the startup item group of the current server meets the expectation.

[0118] In one embodiment, the above device can implement another implementation manner of the startup method for the pre-boot execution environment. The specific steps are as follows: The startup method further includes: In response to the server restarting, the basic input / output system starts according to the default startup sequence of the startup group; enters the operating system, and the operating system reads the startup sequence of the startup item group of the restarted server; determines whether the startup sequence of the startup item group of the restarted server meets the expectation.

[0119] In one embodiment, the above-mentioned device can implement another implementation manner of the startup method for the pre-boot execution environment. The specific steps are as follows: Determining whether the startup order of the startup item groups of the restarted server meets the expectation includes: The operating system obtains the startup order of the startup item groups of the restarted server and obtains the default startup order of the startup item groups; The operating system compares the startup order of the startup item groups of the restarted server with the default startup order of the startup item groups; In response to the startup order of the startup item groups of the restarted server matching the default startup order of the startup item groups, the operating system determines that the startup order of the startup item groups of the restarted server meets the expectation.

[0120] In one embodiment, the above-mentioned device can implement another implementation manner of the startup method for the pre-boot execution environment. The specific steps are as follows: There are multiple startup item groups, and multiple startup item groups correspond to multiple startup orders. The multiple startup item groups include a storage device group, a network card device group, an optical drive device group, and other device groups.

[0121] As Figure 6 shown, an embodiment of the present application further provides a computer device, including a memory and a processor. A computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any of the above-mentioned embodiments of the startup method for the pre-boot execution environment.

[0122] An embodiment of the present application further provides a computer-readable storage medium. A computer program is stored in the computer-readable storage medium, wherein the computer program is configured to execute the steps in any of the above-mentioned embodiments of the startup method for the pre-boot execution environment when running.

[0123] In an exemplary embodiment, the above-mentioned computer-readable storage medium may include, but is not limited to: USB flash drives, read-only memories (ROM for short), random access memories (RAM for short), external hard drives, magnetic disks, or optical discs and other various media that can store computer programs.

[0124] Those skilled in the art can further realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of the two. To clearly illustrate the interchangeability of hardware and software, the components and steps of each example have been generally described according to functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be determined to exceed the scope of this application.

[0125] The above has introduced in detail a method for starting a pre-boot execution environment provided by this application. Specific examples are used in this article to elaborate on the principle and implementation manner of this application. The description of the above embodiments is only used to help understand the method and its core idea of this application. It should be noted that for those of ordinary skill in the art, without departing from the principle of this application, several improvements and modifications can still be made to this application, and these improvements and modifications also fall within the protection scope of the claims of this application.

Claims

1. A method for starting a pre-start execution environment, characterized in that: The startup method comprises: The basic input and output system reads the startup item data of the baseboard management controller; Get the data value of the startup item data and the lowest binary value of the data of the startup item data; In response to the data value of the startup item data being a first preset value or in response to the data value of the startup item data being a non-first preset value and the least significant binary value of the data bit of the startup item data being a second preset value, the basic input and output system determines that the startup item data identifies a target startup sequence; In response to the data value of the boot item data being not the first preset value and the data least significant bit binary value of the boot item data being not the second preset value, the basic input and output system determines that the boot item data does not identify a target boot sequence; In response to the target boot sequence identified by the boot item data, the basic input / output system checks whether the sequence attribute matches the preset attribute, and in response to the two matching, retains the default boot sequence preset in the system setting item; wherein the sequence attribute is associated with the required boot number of the target boot sequence; The basic input and output system initializes the startup hotkey, and uses the startup hotkey to execute the startup of the pre-startup execution environment according to the target startup sequence; and when the server startup completes the export of the system setting items, the default startup sequence is exported.

2. The method for starting a pre-boot execution environment according to claim 1, characterized in that: Before the basic input and output system reads the startup item data of the baseboard management controller, the method includes: In response to the baseboard management controller obtaining the target control instruction, the baseboard management controller parses the target control instruction, obtains target control parameters, and stores the target control parameters in the memory of the baseboard management controller. The target control parameters include sequence attributes, startup mode type, and startup order of startup item groups.

3. The method for starting a pre-boot execution environment according to claim 2, characterized in that: The target control instruction is the first control instruction or the second control instruction, and the baseboard management controller acquires the target control instruction including: Acquire server status information, and determine the server status according to the server status information, wherein the server status includes a first status and a second status; In response to the server state being the first state, obtaining a baseboard management controller password, and generating a first control instruction according to the baseboard management controller password; the first control instruction supports the execution of a single pre-boot execution environment startup; In response to the server state being the second state, a baseboard management controller network address, a baseboard management controller user name, and a baseboard management controller password are acquired to generate a second control instruction, wherein the second control instruction supports the startup of a single pre-boot execution environment.

4. The method for starting a pre-boot execution environment according to claim 2, characterized in that: The storing the target control parameter in the memory of the baseboard management controller comprises: In response to storing the target control parameter in a memory of a baseboard management controller, starting a timer; The baseboard management controller obtains the timing duration of the timer and obtains a preset time threshold; In response to the time duration of the timer being less than or equal to a preset time threshold, and the basic input and output system acquiring the target control parameter transmitted by the baseboard management controller, deleting the target control parameter from the memory of the baseboard management controller; In response to the time duration of the timer being greater than a preset time threshold, deleting the target control parameter from the memory of the baseboard management controller; In response to the time duration of the timer being less than the preset time threshold and the basic input and output system not acquiring the target control parameter transmitted by the baseboard management controller, the target control parameter continues to be stored in the memory of the baseboard management controller.

5. The method for starting a pre-boot execution environment according to claim 2, characterized in that: After storing the target control parameter in the memory of the baseboard management controller, the method further comprises: In response to the server being powered on, the basic input and output system installs a first protocol in a system initialization phase and determines whether the first protocol is successfully installed; In response to the first protocol being successfully installed, the basic input / output system determines whether the second protocol supports starting the pre-boot execution environment.

6. The method for starting a pre-boot execution environment according to claim 5, characterized in that: The basic input / output system determines whether the second protocol supports starting the pre-boot execution environment, including: The basic input and output system determines whether the second protocol supports the pre-boot execution environment; In response to the second protocol supporting the pre-boot execution environment, the basic input / output system determines whether the second protocol includes a protocol boot sequence; wherein the protocol boot sequence represents a boot sequence of the boot item groups adjusted and set in the second protocol; In response to the second protocol including a protocol startup sequence, the basic input and output system starts the server according to the protocol startup sequence in the second protocol; In response to the second protocol not including a protocol boot sequence, the basic input and output system determines that the second protocol supports booting of a pre-boot execution environment.

7. The method for starting a pre-boot execution environment according to claim 5, characterized in that: The step of determining whether the first protocol is successfully installed further includes: In response to the first protocol being installed unsuccessfully, the basic input / output system determines that the basic input / output system cannot adjust the startup item grouping settings, obtains default startup item grouping information, and starts the server according to the default startup item grouping information, wherein the default startup item grouping information includes a default startup order of the startup item grouping.

8. The method for starting a pre-boot execution environment according to claim 1, characterized in that: In response to the basic input / output system determining that the boot item data does not identify the target boot sequence, the method further comprises: A default startup sequence of the startup item group is obtained, and a server is started based on the default startup sequence of the startup item group.

9. The method for starting a pre-boot execution environment according to claim 1, characterized in that: The step of determining the target startup sequence identified by the startup item data includes: The baseboard management controller sends the relevant information of the target boot sequence to the basic input and output system through the first protocol; In response to the basic input and output system receiving relevant information of the target boot sequence, analyzing the target boot sequence, obtaining the boot item settings and boot mode parameters of the boot item group, wherein the boot item settings include the sequence attributes of the boot sequence of the boot item group, and the boot mode parameters include the boot mode type; Based on the startup sequence of the startup item group and the startup mode parameters, it is determined whether the startup sequence of the startup item group is supported to be adjusted.

10. The method for starting a pre-boot execution environment according to claim 1, characterized in that: The basic input and output system checks whether the sequence attribute matches the preset attribute, including: The basic input and output system obtains the startup flag stored in the baseboard management controller, and determines whether the startup flag is valid; In response to the startup flag being invalid, determining that the basic input / output system does not support adjusting the startup sequence of the startup item group, obtaining a default startup sequence of the startup item group, and starting the server based on the default startup sequence of the startup item group; In response to the boot flag being valid, it is determined that the basic input / output system supports adjusting the boot sequence of the boot item groups.

11. The method for starting a pre-boot execution environment according to claim 1, characterized in that: The basic input / output system checks whether the sequence attribute matches the preset attribute, and in response to the two matching, retains the default startup sequence, including: The basic input and output system acquires a sequence attribute of a target startup sequence, wherein the sequence attribute is associated with a required startup number of the target startup sequence; Checking whether the sequence attribute matches the preset attribute; If the sequence attribute does not match the preset attribute, the basic input and output system determines that the number of startups corresponding to the target startup sequence is non-single, determines that the basic input and output system does not support adjusting the startup sequence of the startup item group, obtains the default startup sequence of the startup item group, and starts the server based on the default startup sequence of the startup item group; In response to the sequence attribute matching the preset attribute, the basic input and output system determines that the number of startups corresponding to the target startup sequence is single, and the basic input and output system retains the default startup sequence of the startup group.

12. The method for starting a pre-boot execution environment according to claim 1, characterized in that: The starting of the pre-start execution environment by using the start hot key according to the target start sequence includes: The basic input and output system obtains the sequence attribute again to verify whether the sequence attribute and the preset attribute match; In response to a match between the two, the startup hotkey is activated to execute startup of the pre-boot execution environment based on the target startup sequence; and other hotkey functions are shielded.

13. The method for starting a pre-boot execution environment according to claim 12, characterized in that: The basic input and output system acquires the sequence attribute again to verify whether the sequence attribute and the preset attribute match each other, including: The basic input and output system initializes the startup hot key associated with the pre-boot execution environment, and obtains the sequence attribute of the target boot sequence again through the first protocol, wherein the sequence attribute is associated with the required startup number of the target boot sequence; Checking whether the sequence attribute matches the preset attribute; If the sequence attribute does not match the preset attribute, determining that the number of startup times corresponding to the target startup sequence is non-single, obtaining the default startup sequence of the startup item group, and starting the server based on the default startup sequence of the startup item group; In response to the sequence attribute matching the preset attribute, it is determined that the number of startup times corresponding to the target startup sequence is single, the startup hotkey is activated, and other hotkey functions are shielded to execute the startup of the pre-boot execution environment based on the target startup sequence.

14. The method for starting a pre-boot execution environment according to claim 1, characterized in that: The startup method also includes: In response to the basic input and output system executing the pre-boot execution environment based on the target boot sequence, the operating system is entered, the operating system reads the boot sequence of the boot item group of the current server, and determines whether the boot sequence of the boot item group of the current server meets expectations.

15. The method for starting a pre-boot execution environment according to claim 14, characterized in that: The step of judging whether the startup sequence of the startup item group of the current server meets expectations includes: The operating system obtains the startup sequence of the startup item group of the current server and obtains the default startup sequence of the startup item group; The operating system compares the startup sequence of the startup item group of the current server with the default startup sequence of the startup item group; In response to the startup sequence of the startup item group of the current server matching the default startup sequence of the startup item group, the operating system determines that the startup sequence of the startup item group of the current server meets expectations.

16. The method for starting a pre-boot execution environment according to claim 1, characterized in that: The startup method also includes: In response to the server restarting, the basic input and output system is started according to the default startup sequence of the startup group; Entering the operating system, the operating system reads the startup sequence of the startup item group of the restarted server; Determine whether the startup order of the startup item groups of the restarted server is consistent with expectations.

17. The method for starting a pre-boot execution environment according to claim 16, characterized in that: The step of determining whether the startup sequence of the startup item groups of the restarted server meets expectations includes: The operating system obtains the startup sequence of the startup item group of the restarted server and obtains the default startup sequence of the startup item group; The operating system compares the startup sequence of the startup item group of the restarted server with the default startup sequence of the startup item group; In response to the startup sequence of the startup item group of the restarted server matching the default startup sequence of the startup item group, the operating system determines that the startup sequence of the startup item group of the restarted server meets expectations.

18. The method for starting a pre-boot execution environment according to claim 2, characterized in that: There are multiple startup item groups, and the multiple startup item groups correspond to multiple startup sequences. The multiple startup item groups include a storage device group, a network card device group, an optical drive device group, and other device groups.

19. A computer device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the steps of the method for starting the pre-boot execution environment as claimed in any one of claims 1 to 18 when executing the computer program.

20. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the method for starting the pre-boot execution environment according to any one of claims 1 to 18.

21. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method for starting the pre-boot execution environment according to any one of claims 1 to 18 are implemented.

Citation Information

Patent Citations

  • Method, apparatus and device for adjusting startup sequence in UEFI mode

    CN109117195A

  • System and method for updating add-on card firmware and collecting hardware information on any server or bare-metal server installed with any OS

    CN115004151A

  • Startup item configuration method and device, computer equipment and storage medium

    CN116521261A