Preboot execution environment boot method, and computer device and related product

WO2026199837A1PCT designated stage Publication Date: 2026-10-01INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/119669
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-03-28
Filing Date
2025-09-08
Publication Date
2026-10-01

Smart Images

  • Figure CN2025119669_01102026_PF_FP_ABST
    Figure CN2025119669_01102026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of computers. Disclosed are a preboot execution environment boot method, and a computer device and a related product. The method comprises: determining whether boot item data identifies a target boot order, so as to determine whether the booting of a preboot execution environment can be performed; acquiring an order attribute associated with a required number of boots for the target boot order, and determining whether the order attribute matches a preset attribute; in response to the order attribute matching the preset attribute, retaining a default boot order preset in system setting items; and initializing a boot hotkey, and using the boot hotkey to execute the booting of the preboot execution environment according to the target boot order, so as to export the default boot order when the booting of a server is completed and the system setting items are exported.
Need to check novelty before this filing date? Find Prior Art

Description

Booting methods for pre-boot execution environments, computer equipment and related products

[0001] Cross-reference to related applications

[0002] This application claims priority to Chinese Patent Application No. 202510376850.X, filed on March 28, 2025, entitled “Startup Method, Computer Equipment and Related Products for Pre-boot Execution Environment”, the entire contents of which are incorporated herein by reference. Technical Field

[0003] This application relates to a method for starting a pre-boot execution environment, computer equipment, and related products. Background Technology

[0004] As a crucial carrier for network backend operations, servers not only maintain network operation and store data, but also serve as a platform for many network services and devices. Therefore, servers are considered a fundamental carrier of information services. Each server is essentially a large-scale PC (Personal Computer) capable of installing operating systems, typically using a PXE (Preboot Execution Environment) network environment.

[0005] In related technologies, the pre-boot execution environment is usually started according to the startup order of the default startup item group exported by the corresponding system tools. However, after the temporary pre-boot execution environment is started, the system usually exports the startup order of the startup item group through the corresponding system tools. However, at this time, the startup order of the startup item group exported by the corresponding system tools is a temporary target startup order. This will result in the inability to obtain the correct default startup item group startup order, causing a decrease in system performance. Summary of the Invention

[0006] According to an embodiment of this application, in a first aspect, a method for starting a pre-boot execution environment is provided, comprising: a basic input / output system reading startup item data from a baseboard management controller, and determining whether the startup item data identifies a target startup order; in response to the startup item data identifying a target startup order, the basic input / output system verifying whether a sequence attribute matches a preset attribute, and in response to a match, retaining a preset default startup order in the system settings; wherein the sequence attribute is associated with the required number of startups for the target startup order; the basic input / output system initializing a startup hotkey, and using the startup hotkey to execute the startup of the pre-boot execution environment according to the target startup order; and exporting the default startup order when the server finishes booting and exports the system settings.

[0007] In a second aspect, a computer device is also provided, comprising: a memory for storing a computer program; and a processor for executing the computer program to implement the steps of the data processing method in the first aspect.

[0008] Thirdly, a non-transitory computer-readable storage medium is also provided, in which a computer program is stored, wherein the computer program, when executed by a processor, implements the steps of the data processing method in the first aspect.

[0009] Fourthly, a computer program product is also provided, including a computer program that, when executed by a processor, implements the steps of the data processing method in the first aspect.

[0010] Details of one or more embodiments of this application are set forth in the following drawings and description. Other features and advantages of this application will become apparent from the specification, drawings, and claims. Attached Figure Description

[0011] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0012] Figure 1 is a flowchart illustrating the startup method of the pre-boot execution environment provided in some embodiments of this application;

[0013] Figure 2 is a flowchart illustrating the startup method of the pre-boot execution environment provided in some other embodiments of this application;

[0014] Figure 3 is a schematic diagram of the process of activating the startup hotkey of the basic input / output system in some embodiments of this application, executing the startup of the pre-startup execution environment based on the target startup order, and disabling other hotkey functions;

[0015] Figure 4 is a schematic diagram of the startup system of the pre-boot execution environment provided in some embodiments of this application;

[0016] Figure 5 is a schematic diagram of the structure of the startup device for the pre-startup execution environment provided in some embodiments of this application;

[0017] Figure 6 is a schematic diagram of the structure of a computer device provided in some embodiments of this application;

[0018] Figure 7 is a schematic diagram of the structure of a non-transitory computer-readable storage medium provided in some embodiments of this application;

[0019] Figure 8 is a schematic diagram of the structure of a computer program product provided in some embodiments of this application. Detailed Implementation

[0020] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.

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

[0022] Servers typically require peripheral devices, such as PCI network cards (PCI interface), PCI RAID cards, PCI IOCP network cards, PCI NVMe hard drives, SATA hard drives, CD / DVD-ROM drives, USB network cards, and USB hard drives. Regardless of their interface type, these devices are categorized. For example, based on device attributes, USB interface devices can be categorized as USB devices, which may include USB network cards, USB hard drives, and USB flash drives. Alternatively, they can be defined as network card device groups, which may include PCI interface network cards, PCI interface OCP network cards, onboard network cards, and USB interface network cards. Different categorizations result in different grouping types. Here, non-USB interface network cards can be categorized into the network card device group, which includes PCI interface network cards, OCP network cards, HCA cards, or HBA cards. NVMe storage devices belong to the hard drive device group; optical drives or DVD devices are categorized into the CD / DVD-ROM device group; and the remaining devices are categorized into other device groups. After grouping the devices in this way, there are approximately four types of devices. Within each device, there are priority issues. For example, network interface card 1 needs to have a higher priority than network interface card 2; in the storage device group, storage device 1 needs to have a higher priority than storage device 2, and so on. At the same time, the priority settings between device groups also need to be considered in the grouping design. For example, if the network interface card needs to be the first boot device, then the network interface card device needs to be adjusted to the highest priority. If the storage device needs to be the first boot device, then the storage device needs to be adjusted to the highest priority. Similarly, the priority of devices within a group also needs to be adjusted.

[0023] PCI (Peripheral Component Interconnect) refers to the PCI local bus, while PCI interface, PCI network card, and PCI RAID card refer to interfaces, network cards, and disk array cards based on the PCI local bus, respectively.

[0024] OCP network interface card, short for Open Compute Project network interface card, is a network interface card designed based on the OCP standard.

[0025] NVMe (Non-Volatile Memory Express) is a new high-speed storage protocol designed specifically for solid-state drives (SSDs) and can communicate directly with the motherboard via the PCIe bus.

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

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

[0028] HCA cards, or Host Channel Adapter cards, are typically used in high-performance computing (HPC) and data center environments to provide highly efficient data communication.

[0029] HBA cards, or Host Bus Adapter cards, are used to connect servers or host systems 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] Priority adjustments between device groups are typically made manually during server startup by entering the BIOS (Basic Input / Output System) Setup interface. However, this method is time-consuming and labor-intensive, and implementing it across tens of thousands of servers in a data center would require enormous manpower, financial resources, and materials. Furthermore, after a temporary PXE (Preboot Execution Environment) boot, the system typically exports the boot order of the boot item groups using appropriate system tools. These tools, such as SCE (System Configuration Execution Environment), are tools capable of exporting the boot order of boot item groups. However, the boot order exported by these tools is a temporary target boot order, which can lead to the inability to obtain the correct default boot order, resulting in decreased system performance. Therefore, there is an urgent need for a PXE boot method that can temporarily adjust the boot order of boot item groups without altering the obtained default boot order.

[0032] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0033] As shown in Figure 1, some embodiments of this application provide a method for starting a pre-boot execution environment, which specifically includes the following steps:

[0034] Step 101: The basic input / output system reads the startup item data from the board management controller and determines whether the startup item data identifies the target startup sequence.

[0035] Specifically, the Basic Input / Output System (PIS) acquires the data value of the startup item data and the least significant binary value of the startup item data; the PIS determines whether the data value of the startup item data is a first preset value; if the data value of the startup item data is the first preset value, the PIS determines that the startup item data identifies the target startup order; if the data value of the startup item data is not the first preset value, the PIS determines whether the least significant binary value of the startup item data is a second preset value; if the least significant binary value of the startup item data is the second preset value, the PIS determines that the startup item data identifies the target startup order; if the least significant binary value of the startup item data is not the second preset value, the PIS determines that the startup item data does not identify the target startup order, acquires 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 data here indicates whether the basic input / output system can obtain the target control parameters from the board management controller. Determining whether the startup data identifies the target startup sequence refers to whether the basic input / output system can obtain the target startup sequence from the target control parameters in the board management controller.

[0037] Specifically, the BIOS (Basic Input Output System) can read the first protocol boot item data from the BMC (Baseboard Management Controller) terminal via the first protocol. After obtaining the first protocol boot item data from the BMC terminal, the boot item data is judged to determine whether the data in the boot item data is 0 (whether the data value of the boot item data is the first preset value) or whether Bit0 in the boot item data is set to 1 (whether the least significant binary value of the data in the boot item data is the second preset value). That is, when the data is 0 or Bit0 of the boot item data is set to 1, it is confirmed that the BMC terminal has a setting for the first protocol boot order; Bit0 represents the setting for BIOS boot or Post boot. In response, when the data is not 0 and Bit0 of the boot item data is set to 0, it is determined that there is no first protocol command to set the boot order adjustment function.

[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 command, the baseboard management controller parses the target control command, obtains the target control parameters, and stores the target control parameters in the baseboard management controller's memory. The target control parameters include sequence attributes and startup mode type.

[0039] The baseboard management controller of this application obtains target parameter information according to the target control instruction, wherein the target control instruction is a first control instruction or a second control instruction. The baseboard management controller obtains the target control instruction by: obtaining server status information, determining the server status according to the server status information, the server status including a first status and a second status; in response to the server status being the first status, obtaining the baseboard management controller password, and generating a first control instruction according to the baseboard management controller password; the first control instruction supports the startup of a single pre-boot execution environment; in response to the server status being the second status, obtaining the baseboard management controller network address, baseboard management controller username, and baseboard management controller password to generate a second control instruction, the second control instruction supporting the startup of a single pre-boot execution environment.

[0040] As the lowest-level and most direct hardware setting and control manager on the server motherboard, the Basic Input / Output System (BIOS) can improve the ease of use of the server by optimizing its functions.

[0041] The target control instruction in this application is either a first control instruction or a second control instruction. The first control instruction is a remote management control instruction generated by the server in a first state, where the server is powered off. This remote management control instruction is a remote first protocol instruction. In the server-powered state, a pre-boot execution environment is remotely set up using the first control instruction. The second control instruction corresponds to a system-level control instruction generated in the second state, where the server boots from the system disk and enters the system state. This second control instruction is a first protocol instruction within the server's system environment, used to set up a pre-boot execution environment.

[0042] For example, the first control command may be as follows:

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

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

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

[0046] Under different server states, target control commands are obtained in different ways, and the target control parameters corresponding to the target commands 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 by the target control commands.

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

[0048] Once the system or remote control terminal sets a first protocol command to start, the baseboard management controller receives the command and stores a startup command supporting the pre-boot execution environment in its memory. This memory can be NVRAM (Non-Volatile Random Access Memory) or EEPROM (Electrically Erasable Programmable Read-Only Memory). Simultaneously, the baseboard management controller can automatically time the process using a timer, obtaining the timer duration and a preset time threshold. By comparing the obtained timer duration with the preset time threshold, it determines whether the target control parameter needs to be deleted from the baseboard management controller's memory.

[0049] The pre-boot execution environment startup method provided in this application solves the technical problem in related technologies where startup item data identifies the target startup order to determine whether the pre-boot execution environment can be started. It obtains the sequence attribute associated with the required number of startups for the target startup order, and determines whether the sequence attribute matches the preset attribute. In response to a match, it retains the preset default startup order within the system settings, initializes the startup hotkey, and uses the hotkey to start the pre-boot execution environment according to the target startup order. Furthermore, it exports the default startup order when the server finishes booting and exports the system settings. Therefore, it can determine whether the startup item data is the target startup order and whether the sequence attribute of the target startup order matches the preset attribute to determine if the target startup order is a temporary target startup order. By activating the startup hotkey associated with the pre-boot execution environment, it uses the hotkey to start the pre-boot execution environment according to the target startup order. This solves the technical problem of changes in the default startup order caused by startup adjustments based on temporary startup item groups in related technologies, achieving the technical effect of improving the startup accuracy and stability of the pre-boot execution environment.

[0050] In some embodiments, storing the target control parameters in the memory of the substrate management controller includes: starting a timer in response to storing the target control parameters in the memory of the substrate management controller; obtaining the timer duration and a preset time threshold; deleting the target control parameters from the memory of the substrate management controller in response to the timer 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 substrate management controller; deleting the target control parameters from the memory of the substrate management controller in response to the timer duration being greater than the preset time threshold; and continuing to store the target control parameters in the memory of the substrate management controller in response to the timer duration being less than the preset time threshold and the basic input / output system not obtaining the target control parameters transmitted by the substrate management controller.

[0051] The preset time threshold here is set according to actual needs and the operator's experience. This application does not limit the specific value of the preset time threshold. For example, this application uses preset time thresholds of 3 minutes, 6 minutes, etc., and describes the preset time threshold as 3 minutes.

[0052] When the timer on the board management controller exceeds 3 minutes, the target control parameters will be erased from the board management controller's memory, regardless of whether the basic input / output system has been started. If the basic input / output system fails to acquire the target control parameters transmitted by the board management controller within 3 minutes, the target control parameters will remain stored in the board management controller's memory without being processed. Upon the basic input / output system acquiring the target control parameters within 3 minutes or at the 3-minute mark via the first protocol between the BIOS and the BMC, the target control parameters will also be erased from the board management controller's memory. At this time, a query can be performed using the first protocol command to check whether the PXE startup parameters are valid.

[0053] For example, the format of the first protocol command is as follows:

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

[0055] The system command is: "ipmitool.exe -I lanplus -H XX.XX.XX.XX (bmc IP address) -U BMC username -PBMC password chase bootparam get 5".

[0056] Next, you can start the pre-boot execution environment by executing ipmitool.exe -I lanplus -HXX.XX.XX.XX (bmc ip address) -U BMC username -P BMC password power cycle via BMC web or IPMI command, or start the boot process via the server's physical power button.

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

[0058] Specifically, in response to the server powering on, the Basic Input / Output System (BIOS) installs the first protocol during the system initialization phase and determines whether the first protocol is installed successfully; in response to the successful installation of the first protocol, the BIOS determines whether the second protocol supports the startup of the pre-boot execution environment.

[0059] The first protocol can be a protocol that enables out-of-band management by connecting to the baseboard management controller via a system interface. The second protocol can be a protocol for centralized management and monitoring of servers, storage systems, and network devices. For example, the first protocol could be the IPMI protocol, and the second protocol could be the Redfish protocol. Startup item data is generated when the basic input / output system obtains the target control parameters from the baseboard management controller. This startup item data indicates 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 refers to whether the basic input / output system can obtain the target startup order from the target control parameters in the baseboard management controller.

[0060] In other words, this solution utilizes the first and second protocols to transmit the boot order of boot item groups. The Intelligent Platform Management Interface (IPMI) provides settings for configuring and retrieving boot entries within the BMC (Baseboard Management Controller) chip. The IPMI tool can issue commands to a specified network address, allowing direct modification of boot options from a remote control without the need for extensive configuration steps via the server's BMC control panel. Furthermore, it eliminates the need for an immediate server restart; changing the server's boot options directly through IPMI does not affect the server's normal operation, only taking effect upon the next server restart. This addresses the requirement of some customers who do not wish to immediately halt server operation. Redfish is a standard for managing modern data center and network equipment, primarily used for data center hardware management. It provides a modern, easy-to-use interface using JSON format for data transmission and description.

[0061] Pre-boot Execution Environment (PXE) is a network booting technology that operates in Client / Server mode. The PXE network card's ROM (Read-Only Memory) has built-in support for DHCP and TFTP protocols, allowing clients to download boot images from remote servers over the network and load installation files or the entire operating system. PXE networking enables automated batch system installation without manual intervention, significantly improving work efficiency.

[0062] The boot order of the boot item groups in this scheme is a group of bootable device options consisting of multiple devices that are booted into the operating system by the BIOS (Basic Input / Output System) boot item, arranged in a specific order. There can be multiple boot item groups in this application, each corresponding to a different boot order. These multiple boot item groups include storage device groups, network card device groups, optical drive device groups, and other device groups.

[0063] Server systems include various boot devices, such as common CD / DVD drives, floppy drives, hard drives, bootable USB devices, etc. All bootable devices have a default boot order in the BIOS; for example, the first boot device is the CD / DVD drive, the second is the floppy drive, and the third is the hard drive. By default, the BIOS attempts to boot the operating system one by one according to the boot order. If the first boot device fails, it automatically tries the next, until all bootable devices have been tried.

[0064] Please refer to Figure 3. Figure 3 is a schematic diagram of the process of activating the boot hotkey in the basic input / output system of some embodiments of this application to start the pre-boot execution environment based on the target boot order and disable other hotkey functions. It should be noted that Figure 3 can be considered as the specific process of the BIOS in Figure 2 responding to the boot data identifier indicating the target boot order and the order attribute matching the preset attribute, activating the boot hotkey, starting the pre-boot execution environment based on the target boot order, and disabling other hotkey functions.

[0065] Specifically, after the server is powered on, before determining whether the startup data identifier target startup order and the sequence attribute match the preset attributes, 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 powering on, the Basic Input / Output System (BIOS) installs the first protocol during the system initialization phase and determines whether the first protocol is installed successfully. If the first protocol is successfully installed, the BIOS determines whether the second protocol supports starting the pre-boot execution environment. If the first protocol installation fails, the BIOS determines that it 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, which includes the default startup order of the startup item groups.

[0067] The basic input / output system's determination of whether the second protocol supports the startup of the pre-boot execution environment includes: the basic input / output system determining whether the second protocol supports the startup of the pre-boot execution environment; in response to the second protocol supporting the startup of the pre-boot execution environment, the basic input / output system determining whether the second protocol includes a protocol startup order; wherein the protocol startup order refers to the startup order of the startup item groups set and adjusted in the second protocol; in response to the second protocol including a protocol startup order, the basic input / output system starting the server according to the protocol startup order in the second protocol; in response to the second protocol not including a protocol startup order, the basic input / output system determining that the second protocol supports the startup of the pre-boot execution environment.

[0068] In this application, the system determines whether the first protocol is installed during the initialization (DXE) phase of the basic input / output system and whether the first protocol is installed successfully. If the first protocol installation fails, execution returns and stops. If the first protocol installation is successful, execution continues. The system checks whether the second protocol supports pre-booting the execution environment. If the second protocol supports pre-booting the execution environment, the system determines whether the second protocol includes a protocol startup order. The protocol startup order refers to the startup order of the startup item groups set and adjusted in the second protocol. If the second protocol includes a protocol startup order, the server startup is based on the protocol startup order in the second protocol.

[0069] If the second protocol does not include a protocol startup sequence, or if the baseboard management controller detects during the initialization phase that the second protocol does not support the startup of the pre-startup execution environment, the basic input / output system obtains the startup item data of the first protocol from the terminal of the first baseboard management controller through the first protocol.

[0070] After determining the target startup order by identifying the startup item data, the process includes: the baseboard management controller sending relevant information about the target startup order to the basic input / output system via a first protocol; in response to the basic input / output system receiving the relevant information about the target startup order, analyzing the target startup order, and obtaining the startup item settings and startup method parameters of the startup item group, wherein the startup item settings include the order attribute of the startup order of the startup item group, and the startup method parameters include the startup method type; and determining whether the startup order adjustment of the startup item group is supported based on the startup order of the startup item group and the startup method parameters.

[0071] The startup settings data here refers to the startup order settings of the startup group, which specify whether the number of startups is single or multiple. The startup method type refers to the startup type, such as pre-boot execution environment startup, memory startup, CD-ROM startup, etc.

[0072] It should be noted that the determination of whether to support pre-booting the execution environment and whether to support the startup of the pre-booting execution environment are different in this application. Determining whether to support pre-booting the execution environment refers to the configuration of the pre-booting execution environment's startup environment; as long as the startup environment meets the startup conditions, it is acceptable, regardless of the startup method, as long as the startup environment can support the startup of the pre-booting execution environment. Determining whether to support the startup of the pre-booting execution environment, on the other hand, refers to whether the pre-booting execution environment is started according to the target startup order in this application.

[0073] In some implementations, the validity of the startup flag can be determined by setting a function and obtaining its return value. Specifically, the basic input / output system obtains the startup flag stored in the baseboard management controller and determines whether the startup flag is valid. If the startup flag is invalid, it is determined that the basic input / output system does not support adjusting the startup order of the startup item group, and then 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. If the startup flag is valid, it is determined that the basic input / output system supports adjusting the startup order of the startup item group.

[0074] This application determines whether the basic input / output system supports adjusting the startup order of startup items by setting a startup flag, and determines whether the startup order of startup items is supported based on the startup order of startup items and startup method parameters. Multiple methods are used to determine whether the startup order of startup items is supported, which can improve the stability of server startup.

[0075] Step 102: In response to the target startup order identified by the startup item data, the basic input / output system verifies whether the order attribute matches the preset attribute. If they match, the default startup order preset in the system settings is retained. The order attribute is associated with the required number of startups for the target startup order.

[0076] Specifically, the Basic Input / Output System (PIS) verifies whether the sequence attribute matches the preset attribute. If they match, the PIS retains the default startup order by: obtaining the sequence attribute of the target startup order, which is associated with the required number of startups for that target startup order; verifying whether the sequence attribute matches the preset attribute; if the sequence attribute does not match the preset attribute, the PIS determines that the startup count corresponding to the target startup order is not a single start, and therefore does not support adjusting the startup order of the startup item group; obtaining the default startup order of the startup item group; and starting the server based on the default startup order of the startup item group. If the sequence attribute matches the preset attribute, and the PIS determines that the startup count corresponding to the target startup order is a single start, the PIS retains the default startup order of the startup group.

[0077] This application sets up a function to determine the validity of the acquired boot flag. Boot order adjustment is only possible if the flag is valid; otherwise, it returns to its previous state (if the flag is invalid, not set, or the setting wait time has expired). The system also checks the number of times the boot item has been set to determine if it's a single boot (whether the Basic Input / Output System Check Sequence attribute matches the preset attribute). If it's not a single boot, the current boot order is permanently stored in the BIOS memory area. If it is a single boot, the system no longer sets the boot variable from the BIOS Setup interface, retaining the default BIOS Setup interface boot order. Furthermore, the BIOS will no longer adjust, back up, or store the device group boot order. In short, regardless of whether it's a single boot or permanent boot, the default permanent boot item device group will no longer have its boot order adjusted.

[0078] Step 103: Initialize the basic input / output system startup hotkey, and use the startup hotkey to start the pre-boot execution environment according to the target startup order; export the default startup order when the server finishes booting and exports the system settings.

[0079] Specifically, the basic input / output system initializes the startup hotkey associated with the pre-boot execution environment, obtains the sequence attribute of the target startup order again through the first protocol, and the sequence attribute is associated with the required number of startups for the target startup order; 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 startups corresponding to the target startup order is not a single startup, 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 sequence attribute matching the preset attribute, it is determined that the number of startups corresponding to the target startup order is a single startup, activates the startup hotkey, and disables other hotkey functions to execute the startup of the pre-boot execution environment based on the target startup order.

[0080] During the DXE (initialization) phase, the server's BIOS obtains the target boot order's sequence attribute again through the first protocol. This sequence attribute is associated with the required number of boot attempts for the target boot order. The BIOS then checks if the sequence attribute matches the preset attribute. Based on this match, it determines if the target boot order is a single-boot process. If not, the default boot order is followed. If it is a single-boot process, the pre-boot execution environment (PXE) function is executed in the hotkey function area. Simultaneously, other hotkey functions, such as F11 for BBS boot and DEL for BIOS setup, are disabled. This can be achieved by setting the global variable for the PXE function hotkey to True, preventing other hotkeys from interrupting the PXE function. Disabling other hotkeys also prevents modification of the default boot order in system settings. Therefore, when the pre-boot execution environment is started according to the target boot order, it helps ensure that other hotkey functions do not tamper with the default boot order in the system settings. Thus, after the server boots, the exported system settings still reflect the default boot order. Meanwhile, taking the preset attribute as an example, when the sequence attribute matches the preset attribute, it can be considered as a temporary, one-time pre-startup execution environment startup according to the target startup order. The preset default startup order in the system settings is not modified. It can start according to the default startup order the next time it is started, thus omitting the cumbersome operation of modifying the system settings multiple times due to different startup order, and retaining the server's preset, default startup order.

[0081] Please refer to Figure 2. After the pre-boot execution environment is executed in response to the hotkey function area, the pre-boot execution environment operating system is entered. The startup order of the current server's startup item group is read, and it is determined whether the startup order of the current server's startup item group meets the expectations.

[0082] That is, when the hotkey PXE boot function is executed, the PXE (Preboot Execution Environment) operating system is entered; after entering the operating system, the corresponding system tools are used to read the current server's boot device group order and determine whether the boot order of the current server's boot device group meets the expectations.

[0083] In some implementations, in response to executing a pre-boot execution environment based on a target boot order, the operating system enters the system, reads the boot order of the current server's boot item groups, and determines whether the boot order of the current server's boot item groups meets expectations.

[0084] The process of determining whether the startup order of the current server's startup item groups meets expectations includes: the operating system obtaining the startup order of the current server's startup item groups and obtaining the default startup order of the startup item groups; the operating system comparing the startup order of the current server's startup item groups with the default startup order of the startup item groups; and in response to the matching of the startup order of the current server's startup item groups with the default startup order of the startup item groups, the operating system determines that the startup order of the current server's startup item groups meets expectations.

[0085] Specifically, the startup order of the startup item groups on the current server and the default startup order of the startup item groups are obtained; the startup order of the startup item groups on the current server is compared with the default startup order of the startup item groups; if the startup order of the startup item groups on the current server matches the default startup order of the startup item groups, it is determined that the startup order of the startup item groups on the current server meets the expectations.

[0086] In this application, the startup order of the current server's startup item group is matched with the default startup order of the obtained startup system group to determine whether the current default startup order has changed due to the impact of a temporary, single-time pre-boot execution environment startup. If the startup order of the previous server's startup item group matches the default startup order of the obtained startup system group, it is considered that after the temporary, single-time pre-boot execution environment startup, the startup order of the previous server's startup item group obtained by the corresponding system tool is still the default startup order. If the startup order of the previous server's startup item group does not match the default startup order of the obtained startup system group, it is considered that after the temporary, single-time pre-boot execution environment startup, the startup order of the previous server's startup item group obtained by the corresponding system tool has changed and is no longer the default startup order.

[0087] In some implementations, in response to a server restart, the Basic Input / Output System (PIOS) starts according to the default startup order of the startup groups; upon entering the operating system, the operating system reads the startup order of the restarted server's startup group; and determines whether the startup order of the restarted server's startup group matches expectations.

[0088] The process of determining whether the startup order of the restarted server's startup item groups meets expectations includes: the operating system obtaining the startup order of the restarted server's startup item groups and obtaining the default startup order of the startup item groups; the operating system comparing the startup order of the restarted server's startup item groups with the default startup order of the startup item groups; and in response to the startup order of the restarted server's startup item groups matching the default startup order of the startup item groups, the operating system determines that the startup order of the restarted server's startup item groups meets expectations.

[0089] In this application, a PXE boot option is set once via a first protocol command, either in-band or out-of-band. Upon receiving this information, the BMC management firmware stores it. At this time, the BMC management firmware performs timing statistics and determines whether a preset time threshold has been exceeded. If the preset time threshold is exceeded, the boot option setting is cleared regardless of whether the BIOS receives the first protocol setting boot command stored in the BMC. Simultaneously, if the setting is completed and the server restarts or powers on again, the BIOS will prioritize the boot option stored in the BMC management firmware based on the first protocol and fixed format requirements. At the same time, it will abandon the single or permanent boot order for device group boot options. The adjustment of the boot order involves retrieving the BMC record information for the first protocol command to boot via PXE during the BIOS DXE stage and executing it through the hotkey PXE, while disabling other hotkey functions to prevent the first protocol command from failing to boot via PXE due to other hotkey inputs. After the hotkey PXE function is executed and the single PXE boot enters the operating system, the adjusted boot order priority is exported using the corresponding system tools. When the server restarts, the BIOS will boot according to the default and permanent boot priority. At this time, the default and permanent boot group priority settings will be exported using the corresponding system tools and verified to be consistent and in accordance with the expected settings.

[0090] The operations of executing the startup method of the pre-boot execution environment in this application are all recorded in the Debug log. The relevant information on the startup of the pre-boot execution environment recorded in the Debug log can be used for troubleshooting and function debugging.

[0091] In some implementations, the startup information of the pre-boot execution environment can be obtained; the startup information of the pre-boot execution environment can be parsed to obtain the field values ​​corresponding to each field in the preset structure; each field value can be written into the corresponding field to obtain the target structure; and the startup items of the pre-boot execution environment can be adjusted according to the target structure.

[0092] The preboot execution environment (PXE) startup information here refers to information related to starting the PXE, including verification information and startup information. Verification information is related to PXE verification, such as the header for information identification and classification range settings. Startup information includes the startup order information for startup items. This preboot execution environment startup information can be pre-stored in the memory of the baseboard management controller.

[0093] The default structure is a blank structure pre-stored by the Basic Input / Output System (BIOS) during the server's power-on self-test (POST) process. It stores information about the PXE boot priority from the pre-boot execution environment (PEXE) startup information. This blank structure contains multiple fields, each with an empty value initially. Upon receiving the PEXE startup information, the system parses the information to obtain the corresponding field values ​​from the blank structure.

[0094] This can be parsed according to ASCII code. ASCII code (American Standard Code for Information Interchange) is used to standardize data transmission across different computer hardware and software systems, and is used in most minicomputers and all personal computers. ASCII code is divided into two sets: standard ASCII code with 128 characters and extended ASCII code with an additional 128 characters. After obtaining the field values ​​corresponding to each field in the preset structure, each field value is written into its corresponding field to obtain the target structure. At this point, each field in the target structure has its corresponding field value. This standardizes the startup information of the pre-boot execution environment, helping to quickly extract the necessary information from the startup information and thus speeding up the startup of the pre-boot execution environment.

[0095] This application employs an external BMC (Browser Control Center) to manage the firmware's first protocol command and a server boot management firmware (BIOS) to interact and cooperate. Remote commands from the control terminal are used to set the first protocol PXE for one-time boot and system installation. During the server's boot process, the BIOS obtains the first protocol command parameters stored in the BMC via the first protocol and sends them back to the BIOS. The BIOS parses the parameters based on the returned data structure and adjusts the boot order. Simultaneously, the BIOS's permanent default boot order is stored and backed up without any adjustment. During the BIOS's DXE stage, the hotkey function section again uses the first protocol to check if the first protocol command PXE boot is one-time. If not, no processing is performed, and the system boots normally according to the BIOS's default and permanent boot order. If it is, the global flag for the hotkey PXE function is changed from false to true (i.e., the global flag is adjusted from "False" to "True"). At the same time, other hotkey functions are disabled, and only the PXE function is executed to install the system and boot into the PXE system. The corresponding system tool commands are used to read the current boot item grouping device order and determine if the device group boot priority order is consistent with the default and permanent boot settings. This is confirmed to be consistent with expectations. At this point, after the server restarts, the BIOS will use the first protocol to confirm that the boot priority settings in the BMC have been cleared, and will use the BIOS default, permanent boot order to boot. Only after entering the operating system again can you check whether it meets the expected default boot settings.

[0096] It should be noted that the control terminal remotely stores the boot priority order in the BMC management firmware via the first protocol command. When the server starts, the BIOS obtains the stored boot priority settings from the BMC via the first protocol. It then determines whether to start PXE once or permanently based on the obtained first protocol command. If it is a single boot, it executes the PXE function via hotkey during the DXE stage of the BIOS without adjusting the device group boot order of the default or permanent boot items. The global variable value of the hotkey PXE function is updated, and other hotkey functions are disabled to ensure that a single PXE boot will not adjust the default or permanent boot order. After the PXE system boots, the boot items are exported and confirmed using the corresponding system tools. Upon restarting, the system still boots according to the default and permanent boot order from the BIOS and exports and confirms the boot items using the corresponding system tools within the system, ensuring that the default and permanent boot items in the BIOS meet expectations.

[0097] An embodiment of this application provides a boot system for a pre-boot execution environment, as shown in Figure 4. The boot system for 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.

[0098] The Baseboard Management Controller (BMC) communicates with the Basic Input / Output System (BIOS) via a first protocol, and communicates with Processor 0 via a second protocol. The BMC communicates with the PCI interface network card via LPC (Reduced Pin Line) / PCI, and connects to multiple hard drives (PCI interface NVMe hard drive 0, PCI interface NVMe hard drive 1, PCI interface NVMe hard drive 2, and PCI interface NVMe hard drive 3) via UCB Over LAN.

[0099] The Basic Input / Output System (PIS) communicates with Processor 0 via LPC / SPI / QSPI. The SPI / QSPI protocol interface serves as the data communication interface for display devices, storage devices, and some sensor devices. Processor 0 communicates with Processor 1 via CCIX (Accelerator Cache Coherence Interconnect) / UPI / GMI (GMI is a communication bus between CPUs (Central Processing Units), GPUs (Graphics Processing Units), and between the CPU and memory). Processor 1 connects to a USB flash drive and a USB interface, which in turn connects to a USB keyboard hotkey. Processor 1 also connects to multiple hard drives via PCI interfaces (PCI interface NVMe hard drive 4, PCI interface NVMe hard drive 5, PCI interface NVMe hard drive 6, and PCI interface NVMe hard drive 7).

[0100] The embodiments of this application provide a startup device for a pre-start execution environment. The specific startup device for the pre-start execution environment is shown in FIG5. The startup device for the pre-start execution environment includes: a judgment module 20, a verification module 21, and a startup module 22.

[0101] The judgment module 20 is used by the basic input / output system to read the startup item data of the baseboard management controller and determine whether the startup item data identifies the target startup sequence.

[0102] The verification module 21 is used to verify whether the basic input / output system's sequence attribute matches the preset attribute in response to the target startup order identified by the startup item data. If they match, the preset default startup order in the system settings is retained. The sequence attribute is associated with the required number of startups for the target startup order.

[0103] The startup module 22 is used to initialize the startup hotkey of the basic input / output system, and to execute the startup of the pre-startup execution environment according to the target startup order using the startup hotkey; and to export the default startup order when the server finishes startup and exports the system settings.

[0104] In some embodiments, the above-described apparatus can implement another implementation of the pre-boot execution environment startup method, the specific steps of which are as follows:

[0105] Before the basic input / output system reads the startup item data from the baseboard management controller, it includes: in response to the baseboard management controller acquiring the target control command, the baseboard management controller parses the target control command, obtains the target control parameters, and stores the target control parameters in the baseboard management controller's memory. The target control parameters include sequence attributes, startup mode type, and startup order of startup item groups.

[0106] In some embodiments, the above-described apparatus can implement another implementation of the pre-boot execution environment startup method, with the following specific steps: the target control instruction is a first control instruction or a second control instruction, and the baseboard management controller obtains the target control instruction by: obtaining server status information, determining the server status based on the server status information, the server status including a first status and a second status; in response to the server status being the first status, obtaining the baseboard management controller password, and generating a first control instruction based on the baseboard management controller password; the first control instruction supports the startup of a single pre-boot execution environment; in response to the server status being the second status, obtaining the baseboard management controller network address, baseboard management controller username, and baseboard management controller password to generate a second control instruction, the second control instruction supporting the startup of a single pre-boot execution environment.

[0107] In some embodiments, the above-described apparatus can implement another implementation of the pre-boot execution environment startup method, with the following specific steps: after storing the target control parameters in the memory of the baseboard management controller, the method includes: in response to storing the target control parameters in the memory of the baseboard management controller, starting a timer; the baseboard management controller acquiring the timer duration and a preset time threshold; in response to the timer duration being less than or equal to the preset time threshold, and the basic input / output system acquiring 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 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 duration being less than the preset time threshold, and the basic input / output system not acquiring 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.

[0108] In some embodiments, the above-described apparatus can implement another implementation of the pre-boot execution environment startup method, with the following specific steps: after storing the target control parameters in the memory of the baseboard management controller, the basic input / output system installs a first protocol during the system initialization phase and determines whether the first protocol is successfully installed in response to the server powering on; in response to the successful installation of the first protocol, the basic input / output system determines whether a second protocol supports the startup of the pre-boot execution environment.

[0109] In some embodiments, the above-described apparatus can implement another implementation of the pre-boot execution environment startup method, with the following specific steps: The basic input / output system determines whether the second protocol supports the startup of the pre-boot execution environment, including: the basic input / output system determining whether the second protocol supports the startup of the pre-boot execution environment; in response to the second protocol supporting the startup of the pre-boot execution environment, the basic input / output system determining whether the second protocol includes a protocol startup order; wherein, the protocol startup order represents the startup order of the startup item groups set and adjusted in the second protocol; in response to the second protocol including a protocol startup order, the basic input / output system starting the server according to the protocol startup order in the second protocol; in response to the second protocol not including a protocol startup order, the basic input / output system determining that the second protocol supports the startup of the pre-boot execution environment.

[0110] In some embodiments, the above-described apparatus can implement another implementation of the pre-boot execution environment startup method, with the following specific steps: after determining whether the first protocol is successfully installed, the method further includes: in response to the first protocol failing to install, 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 the default startup order of the startup item groups.

[0111] In some embodiments, the above-described apparatus can implement another implementation of the pre-boot execution environment startup method, with the following specific steps: determining whether startup item data identifies a target startup order includes: the basic input / output system acquiring the data value of the startup item data and the least significant binary value of the startup item data; the basic input / output system determining 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 determining that the startup item data identifies a target startup order; in response to the data value of the startup item data not being the first preset value, the basic input / output system determining whether the least significant binary value of the startup item data is a second preset value; in response to the least significant binary value of the startup item data being the second preset value, the basic input / output system determining that the startup item data identifies a target startup order; in response to the least significant binary value of the startup item data not being the second preset value, the basic input / output system determining that the startup item data does not identify a target startup order, acquiring the default startup order of the startup item group, and starting the server based on the default startup order of the startup item group.

[0112] In some embodiments, the above-described apparatus can implement another implementation of the pre-boot execution environment startup method, with the following specific steps: After determining the startup item data identifier target startup order, the following steps are included: the baseboard management controller sends relevant information about the target startup order to the basic input / output system via a first protocol; in response to the basic input / output system receiving the relevant information about the target startup order, the target startup order is analyzed to obtain the startup item settings and startup mode parameters of the startup item group, wherein the startup item settings include the order attribute of the startup order of the startup item group, and the startup mode parameters include the startup mode type; based on the startup order of the startup item group and the startup mode parameters, it is determined whether the startup order adjustment of the startup item group is supported.

[0113] In some embodiments, the above-described apparatus can implement another implementation of the pre-boot execution environment startup method, with the following specific steps: Before the basic input / output system verifies whether the sequence attribute matches the preset attribute, the basic input / 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, it is determined that the basic input / output system does not support adjusting the startup order of the startup item group, and then 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 startup flag being valid, it is determined that the basic input / output system supports adjusting the startup order of the startup item group.

[0114] In some embodiments, the above-described apparatus can implement another implementation of the pre-boot execution environment startup method, with the following specific steps: The basic input / output system obtains the sequence attribute of the target startup order, the sequence attribute being associated with the required number of startups for the target startup order; checks whether the sequence attribute matches a preset attribute; if the sequence attribute does not match the preset attribute, the basic input / output system determines that the number of startups corresponding to the target startup order is not a single startup, 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 sequence attribute matching the preset attribute, if the basic input / output system determines that the number of startups corresponding to the target startup order is a single startup, the basic input / output system retains the default startup order of the startup group.

[0115] In some embodiments, the above-described apparatus can implement another implementation of the pre-boot execution environment startup method, the specific steps of which are as follows: using a startup hotkey to start the pre-boot execution environment according to the target startup order includes: the basic input / output system re-acquires the sequence attribute to verify whether the sequence attribute and the preset attribute match; in response to the match, the startup hotkey is activated to start the pre-boot execution environment based on the target startup order; and other hotkey functions are disabled.

[0116] In some embodiments, the above-described apparatus can implement another implementation of the pre-boot execution environment startup method, with the following specific steps: The basic input / output system (PIS) obtains the sequence attribute again to verify whether the sequence attribute and the preset attribute match, including: the PIS initializes the startup hotkey associated with the pre-boot execution environment; obtains the sequence attribute of the target startup order again through a first protocol, the sequence attribute being associated with the required number of startups for the target startup order; 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 startups corresponding to the target startup order is not a single startup, 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 sequence attribute matching the preset attribute, it is determined that the number of startups corresponding to the target startup order is a single startup, the startup hotkey is activated, and other hotkey functions are disabled to execute the startup of the pre-boot execution environment based on the target startup order.

[0117] In some embodiments, the above-described apparatus can implement another implementation of the pre-boot execution environment startup method, with the following specific steps: the startup method further includes: in response to the basic input / output system executing the pre-boot execution environment based on the target startup order, entering the operating system, the operating system reading the startup order of the current server's startup item group, and determining whether the startup order of the current server's startup item group meets expectations.

[0118] In some embodiments, the above-described apparatus can implement another implementation of the pre-boot execution environment startup method, with the following specific steps: determining whether the startup order of the current server's startup item group meets expectations includes: the operating system obtaining the startup order of the current server's startup item group and obtaining the default startup order of the startup item group; the operating system comparing the startup order of the current server's startup item group with the default startup order of the startup item group; in response to the startup order of the current server's startup item group matching the default startup order of the startup item group, the operating system determines that the startup order of the current server's startup item group meets expectations.

[0119] In some embodiments, the above-described apparatus can implement another implementation of the startup method for the pre-boot execution environment, with the following specific steps: the startup method further includes: in response to a server restart, 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; and determines whether the startup order of the startup item group of the restarted server meets expectations.

[0120] In some embodiments, the above-described apparatus can implement another implementation of the pre-boot execution environment startup method, with the following specific steps: determining whether the startup order of the startup item group of the restarted server meets expectations includes: the operating system obtaining the startup order of the startup item group of the restarted server and obtaining the default startup order of the startup item group; the operating system comparing 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 expectations.

[0121] In some embodiments, the above-described apparatus can implement another implementation of the pre-boot execution environment startup method, with the following specific steps: the startup items are grouped into multiple groups, and the multiple startup item groups correspond to multiple startup sequences. The multiple startup item groups include storage device groups, network card device groups, optical drive device groups, and other device groups.

[0122] As shown in Figure 6, an embodiment of this application also provides a computer device, including a memory and a processor. The memory stores a computer program, and the processor is configured to run the computer program to perform the steps in any of the above-described pre-boot execution environment startup method embodiments.

[0123] As shown in Figure 7, an embodiment of this application also provides a non-transitory computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above-described pre-boot execution environment startup method embodiments at runtime.

[0124] In one or more exemplary embodiments, the aforementioned non-transitory computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0125] As shown in Figure 8, an embodiment of this application also provides a computer program product, including a computer program, characterized in that, when the computer program is executed by a processor, it implements the steps in any of the above-described pre-boot execution environment startup method embodiments.

[0126] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software 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 considered beyond the scope of this application.

[0127] The above provides a detailed description of the startup method for a pre-boot execution environment provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are merely for the purpose of helping to understand the method and its core ideas. It should be noted that those skilled in the art can make various improvements and modifications to this application without departing from its principles, 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-boot execution environment, characterized in that, The startup method includes: The basic input / output system reads the startup item data from the baseboard management controller and determines whether the startup item data identifies the target startup sequence. In response to the startup item data identifying the target startup order, the basic input / output system verifies whether the order attribute matches a preset attribute. If they match, the preset default startup order in the system settings is retained. The order attribute is associated with the required number of startups for the target startup order. The basic input / output system initializes a startup hotkey, which is used to start the pre-startup execution environment according to the target startup order; the default startup order is exported when the server finishes startup and exports system settings.

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

3. The startup method for the pre-boot execution environment according to claim 2, characterized in that, The target control instruction is either a first control instruction or a second control instruction, and the baseboard management controller acquires the target control instruction in the following ways: Obtain server status information, and determine the server status based on 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, the baseboard management controller password is obtained, and a first control command is generated based on the baseboard management controller password; the first control command supports the startup of a single pre-boot execution environment; and In response to the server being in the second state, the system obtains the network address of the baseboard management controller, the username of the baseboard management controller, and the password of the baseboard management controller to generate a second control instruction. The second control instruction supports the startup of a single pre-boot execution environment.

4. The startup method for the pre-boot execution environment according to claim 2, characterized in that, The step of storing the target control parameters into the memory of the baseboard management controller includes: In response to storing the target control parameters in the memory of the baseboard management controller, a timer is started; the baseboard management controller obtains the timer duration and a preset time threshold. When the timer duration is less than or equal to a preset time threshold and the basic input / output system receives the target control parameters transmitted by the baseboard management controller, the target control parameters are deleted from the memory of the baseboard management controller. In response to the timer duration exceeding a preset time threshold, the target control parameter is deleted from the memory of the baseboard management controller; and When the timer duration is less than a preset time threshold and the basic input / output system does not receive 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.

5. The startup method for the pre-boot execution environment according to claim 2, characterized in that, After storing the target control parameters in the memory of the baseboard management controller, the process includes: In response to the server powering on, the basic input / output system installs a first protocol during the system initialization phase and determines whether the first protocol has been successfully installed; and 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.

6. The startup method for the pre-boot execution environment according to claim 5, characterized in that, The basic input / output system determines whether the second protocol supports the startup of the pre-boot execution environment, including: The basic input / 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 startup order; wherein the protocol startup order refers to the startup order of the startup item groups that are set and adjusted in the second protocol; In response to the protocol startup sequence included in the second protocol, the basic input / output system starts the server according to the protocol startup sequence in the second protocol; and In response to the fact that the second protocol does not include the protocol startup sequence, the basic input / output system determines that the second protocol supports the startup of the pre-boot execution environment.

7. The startup method for the pre-boot execution environment according to claim 5, characterized in that, After determining whether the first protocol has been successfully installed, the method further includes: In response to the failure of the first protocol installation, the Basic Input / Output System (PIOS) determines that it cannot adjust the startup item group settings, obtains the default startup item group information, and starts the server according to the default startup item group information, which includes the default startup order of the startup item groups.

8. The startup method for the pre-boot execution environment according to claim 1, characterized in that, The step of determining whether the startup item data identifies the target startup order includes: The basic input / output system acquires the data value of the startup item data and the least significant binary 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 order; In response to the fact that the data value of the startup item data is not the first preset value, the basic input / output system determines whether the least significant binary value of the startup item data is the second preset value. In response to the least significant bit of the startup data being the second preset value, the basic input / output system determines that the startup data identifies the target startup order; and In response to the least significant bit 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 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.

9. The startup method for the pre-boot execution environment according to claim 8, characterized in that, After determining the target startup order by identifying the startup item data, the process includes: The baseboard management controller sends the relevant information of the target startup sequence to the basic input / output system via a first protocol; In response to the basic input / output system receiving information related to the target startup order, the target startup order is analyzed to obtain the startup item settings and startup method parameters of the startup item group. The startup item settings include the order attribute of the startup order of the startup item group, and the startup method parameters include the startup method type; and Based on the startup order of the startup item group and the startup method parameters, it is determined whether the startup order adjustment of the startup item group is supported.

10. The startup method for the pre-boot execution environment according to claim 1, characterized in that, Before the basic input / output system verifies whether the order attribute matches the preset attribute, it includes: The basic input / output system obtains the start flag bit stored in the baseboard management controller and determines whether the start flag bit is valid; In response to the invalidation of the startup flag, it is determined that the basic input / output system does not support adjusting the startup order of startup item groups, the default startup order of the startup item groups is obtained, and the server is started based on the default startup order of the startup item groups; and In response to the activation flag being valid, it is determined that the basic input / output system supports adjusting the activation order of the startup item group.

11. The startup method for the pre-boot execution environment according to claim 1, characterized in that, The basic input / output system verifies whether the sequence attribute matches the preset attribute. If they match, the system retains the preset default startup order in the system settings, including: The basic input / output system acquires the sequence attribute of the target startup order, and the sequence attribute is associated with the required number of startups for the target startup order; Check whether the order attribute matches the preset attribute; In response to the mismatch between the sequence attribute and the preset attribute, the Basic Input / Output System (PIS) determines that the number of startups corresponding to the target startup order is not a single startup, determines that the PIS 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; and In response to the sequence attribute matching the preset attribute, the basic input / output system determines that the number of startups corresponding to the target startup order is a single startup, and the basic input / output system retains the default startup order of the startup group.

12. The startup method for the pre-boot execution environment according to claim 1, characterized in that, The step of using the startup hotkey to start the pre-boot execution environment according to the target startup order includes: The basic input / output system retrieves 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 the startup of the pre-boot execution environment based on the target startup order, and other hotkey functions are disabled.

13. The startup method for the pre-boot execution environment according to claim 12, characterized in that, The basic input / output system re-acquires the sequence attribute to verify whether 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, and obtains the order attribute of the target startup order again through the first protocol. The order attribute is associated with the required number of startups for the target startup order. Check whether the order attribute matches the preset attribute; In response to a mismatch between the sequence attribute and the preset attribute, it is determined that the number of startups corresponding to the target startup order is not a single startup; 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; and In response to the sequence attribute matching the preset attribute, if the number of startups corresponding to the target startup order is determined to be a single startup, the startup hotkey is activated and other hotkey functions are disabled, so as to execute the startup of the pre-startup execution environment based on the target startup order.

14. The startup method for the pre-boot execution environment according to claim 1, characterized in that, The method further includes: In response to the basic input / output system executing the pre-boot execution environment based on the target boot order, the operating system enters the operating system, which reads the boot order of the current server's boot item group and determines whether the boot order of the current server's boot item group meets expectations.

15. The startup method for the pre-boot execution environment according to claim 14, characterized in that, The step of determining whether the startup order of the startup item group of the current server meets expectations includes: The operating system obtains the startup order of the current server's startup item group and the default startup order of the startup item group; The operating system compares the startup order of the current server's startup item group with the default startup order of the startup item group; and In response to the fact that the startup order of the current server's startup item group matches the default startup order of the startup item group, the operating system determines that the startup order of the current server's startup item group is as expected.

16. The startup method for the pre-boot execution environment according to claim 1, characterized in that, The method further includes: In response to the server restart, the basic input / output system starts according to the default startup order of the startup groups; Upon entering the operating system, the operating system reads the startup order of the startup item groups of the restarted server; and Determine whether the startup order of the startup item group of the restarted server meets expectations.

17. The startup method for the pre-boot execution environment according to claim 16, characterized in that, The step of determining whether the startup order of the startup item group of the restarted server meets expectations includes: The operating system obtains the startup order of the startup item group of the restarted server and the default startup order of the startup item group; The operating system compares the startup order of the restarted server's startup item group with the default startup order of the startup item group; and In response to the fact that the startup order of the restarted server's startup item group matches the default startup order of the startup item group, the operating system determines that the startup order of the restarted server's startup item group is as expected.

18. The startup method for the pre-boot execution environment according to claim 1, characterized in that, The startup item group is multiple, and the multiple startup item groups correspond to multiple startup sequences. The multiple startup item groups include storage device group, network card device group, optical drive device group, and other device group.

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

20. A non-transitory computer-readable storage medium, characterized in that, The non-transitory computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, it implements the steps of the startup method of the pre-boot execution environment as described in 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 the processor, it implements the steps of the startup method of the pre-boot execution environment as described in any one of claims 1 to 18.