Starting method for pre-starting execution environment, computer equipment and related products

By reading and verifying the startup item data in the server and adjusting the startup sequence using the startup hotkey, the problem of temporary startup item grouping adjustments resulting in changes in the default startup order is solved, and the startup accuracy and stability of the pre-start execution environment is improved.

CN119902811AActive Publication Date: 2025-04-29INSPUR SUZHOU INTELLIGENT TECH CO LTD

Patent Information

Application Number
CN202510376850.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-28
Publication Date
2025-04-29
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

The basic input and output system reads the start item data of the substrate management controller, determines whether the target startup sequence is identified, and checks whether the sequence attribute matches the preset attribute. If it matches, the default startup order within the system settings item is preserved. Use the startup hotkey to execute the startup of the pre-start execution environment in the target startup order, and export the default startup order after the server startup is completed.

Benefits of technology

Ensure whether the startup item data is the target startup sequence, judge the matching between the sequence attributes and the preset attributes, avoid the temporary target startup sequence affecting the default startup sequence, and improve the startup accuracy and stability of the pre-start execution environment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119902811A_ABST
    Figure CN119902811A_ABST
Patent Text Reader

Abstract

The invention discloses a starting method of a pre-starting execution environment, computer equipment and a related product, and relates to the technical field of computers, and the starting method comprises the following steps: judging whether starting item data identifies a target starting sequence or not so as to judge whether the pre-starting execution environment can be started or not; obtaining a sequence attribute associated with the number of required starting times of the target starting sequence, judging whether the sequence attribute is matched with a preset attribute or not, in response to the matching, reserving a default starting sequence preset in the system setting item, initializing the starting hot key, and executing starting of the pre-starting execution environment according to the target starting sequence by utilizing the starting hot key; the technical problem that the default starting sequence of the starting item group is changed due to starting adjustment based on the starting sequence of the temporary starting item group is solved, and the technical effect of improving the starting accuracy and stability of the pre-starting execution environment is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] As one of the important carriers of network background operation, the server can not only maintain the operation of the network and store data, but also serve as the carrier of many network services and devices. Therefore, the server is considered to be the basic carrier of information services. For each server, it is equivalent to a large PC (Personal Computer) and can install the system. The installation system is usually installed with the help of the PXE (Preboot Execute Environment) network environment.

[0003] In the related art, the pre-boot execution environment is usually started according to the startup order of the default startup item group exported by the corresponding system tool. However, after the temporary pre-boot execution environment is started, the system is accustomed to exporting 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 a temporary target startup order. This will result in the failure to obtain the correct startup order of the default startup item group, causing system performance to deteriorate. Summary of the invention

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

[0005] The present application provides a method for starting a pre-boot execution environment, comprising: a basic input / output system reads boot item data of a baseboard management controller, and determines whether the boot item data identifies a target boot sequence; in response to the boot item data identifying the target boot sequence, the basic input / output system checks whether a sequence attribute matches a preset attribute, and in response to the two matching, retains a default boot sequence preset in a system setting item; wherein the sequence attribute is associated with a required number of boots of the target boot sequence; the basic input / output system initializes a startup hot key, and uses the startup hot key to start the pre-boot execution environment according to the target boot sequence; and exports the default boot sequence when the server boot completes exporting the system setting item.

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

[0007] The basic input and output system reads the startup item data of 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 sequence, the basic input and output system checks whether the sequence attribute and the preset attribute match, and in response to the two matching, retains the default startup sequence preset in the system setting item; wherein the sequence attribute is associated with the required startup number of the target startup sequence; the basic input and output system initializes the startup hot key, and uses the startup hot key to execute the startup of the pre-boot execution environment according to the target startup sequence; and exports the default startup sequence when the server startup completes exporting the system setting item.

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

[0009] The basic input and output system reads the startup item data of 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 sequence, the basic input and output system checks whether the sequence attribute and the preset attribute match, and in response to the two matching, retains the default startup sequence preset in the system setting item; wherein the sequence attribute is associated with the required startup number of the target startup sequence; the basic input and output system initializes the startup hot key, and uses the startup hot key to execute the startup of the pre-boot execution environment according to the target startup sequence; and exports the default startup sequence when the server startup completes exporting the system setting item.

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

[0011] The basic input and output system reads the startup item data of 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 sequence, the basic input and output system checks whether the sequence attribute and the preset attribute match, and in response to the two matching, retains the default startup sequence preset in the system setting item; wherein the sequence attribute is associated with the required startup number of the target startup sequence; the basic input and output system initializes the startup hot key, and uses the startup hot key to execute the startup of the pre-boot execution environment according to the target startup sequence; and exports the default startup sequence when the server startup completes exporting the system setting item.

[0012] The startup method of the pre-boot execution environment provided by the present application determines whether the startup item data identifies the target startup sequence to determine whether the pre-boot execution environment can be started, obtains the sequence attribute associated with the required startup number of the target startup sequence, and determines whether the sequence attribute matches the preset attribute. In response to the match, the default startup sequence preset in the system setting item is retained, the startup hot key is initialized, and the startup hot key is used to execute the startup of the pre-boot execution environment according to the target startup sequence; the default startup sequence is exported when the server startup completes exporting the system setting item. Therefore, it can be determined whether the startup item data is the target startup sequence, and whether the sequence attribute of the target startup sequence matches the preset attribute to determine whether the target startup sequence is a temporary target startup sequence, and by activating the startup hot key associated with the pre-boot execution environment, the startup of the pre-boot execution environment is executed according to the target startup sequence using the startup hot key, thereby solving the technical problem in the related art that the startup adjustment based on the startup sequence of the temporary startup item grouping causes the startup sequence of the default startup item grouping to be changed, and achieving the technical effect of improving the startup accuracy and stability of the pre-boot execution environment. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0014] Figure 1 A schematic diagram of a process for starting a pre-start execution environment according to an embodiment of the present application; Figure 2 A schematic diagram of a process for starting a pre-start execution environment provided by another embodiment of the present application; Figure 3 A schematic diagram of a process of activating a startup hotkey of a basic input / output system according to an embodiment of the present application to start a pre-boot execution environment based on a target boot sequence and shielding other hotkey functions; Figure 4 A schematic diagram of the structure of a startup system of a pre-startup execution environment provided in an embodiment of the present application; Figure 5 A schematic diagram of the structure of a startup device for a pre-start execution environment provided in an embodiment of the present application; Figure 6 This is a diagram of the internal structure of a computer device provided in one embodiment of the present application. DETAILED DESCRIPTION

[0015] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present application.

[0016] It should be noted that, in the description of this application, the terms "comprises", "includes" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. 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.

[0017] Servers usually need to be configured with peripheral devices, such as PCI network cards with PCI interfaces, PCI RAID cards, PCI OCP network cards, PCI nvme hard disks, SATA hard disks, CD / DVD-ROM (optical drive), USB network cards, USB hard disks, etc.; no matter what interface form the device uses, it 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 disks, U disks, etc.; or, according to the type of device, it can be defined as a network card device group, which may include network cards with PCI interfaces, OCP network cards with PCI interfaces, onboard network cards, network card devices with USB interfaces, etc.; classification according to different definitions can be displayed as different grouping types. Here, non-USB interface network card devices can be classified as network card device groups, and the network card device group includes PCI interface network cards, OCP network cards, HCA cards or HBA cards, etc.; nvme type storage devices belong to the hard disk device group; optical drives or DVD devices are classified into CD / DVD-ROM device groups; the remaining devices are uniformly classified into other device groups. After the devices are grouped in this way, there are about 4 types of devices, and each device has a device priority issue. For example, the priority of network card 1 needs to be higher than the priority of network card 2; the priority of storage device 1 in the storage device group needs to be higher than the priority of storage device 2, and so on. At the same time, the grouping design also needs to pay attention to the priority setting between device groups. For example, if the network card needs to be the first startup item, the network card device needs to be adjusted to the highest priority. If the storage device needs to be the first startup item, the storage device needs to be adjusted to the highest priority. Similarly, the devices within the group also have priority adjustments.

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

[0019] OCP network card, the full name of which is Open Compute Project network card, is a network interface card designed based on the OCP standard.

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

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

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

[0023] HCA cards, Host Channel Adapter cards, are commonly used in High Performance Computing (HPC) and data center environments, providing very efficient data communications.

[0024] HBA card, 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.

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

[0026] Priority adjustment between device groups is usually performed manually by entering the Setup interface of the BIOS (Basic Input Output System) during the server startup process. However, this adjustment scheme is time-consuming and labor-intensive, and using this method on tens of thousands of servers in a data center will consume huge manpower, financial resources, and material resources. In addition, after a temporary PXE (Pre-boot Execution Environment) startup, the system is accustomed to exporting the startup order of the startup item group through the corresponding system tool. The corresponding system tool here is a tool that can realize the export of the startup order of the startup item group. For example, it can be an SCE tool, a system management tool for monitoring and managing enterprises. However, at this time, the startup order of the startup item group exported by the corresponding system tool is a temporary target startup order, which will result in the failure to obtain the correct startup order of the default startup item group, resulting in a decrease in system performance. Therefore, there is an urgent need for a startup method of the pre-boot execution environment that can realize the temporary adjustment of the startup order of the startup item group without changing the startup order of the acquired default startup item group.

[0027] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.

[0028] like Figure 1 As shown, an embodiment of the present application provides a method for starting a pre-start execution environment, and the method specifically includes the following steps: 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 a target startup sequence.

[0029] Specifically, the basic input-output system obtains the data value of the startup item data and the lowest binary value of the data 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 a target startup sequence; in response to the data value of the startup item data being not the first preset value, the basic input-output system determines whether the lowest binary value of the data of the startup item data is a second preset value; in response to the lowest binary value of the data of the startup item data being the second preset value, the basic input-output system determines that the startup item data identifies a target startup sequence; in response to the lowest binary value of the data of the startup item data being not the second preset value, the basic input-output system determines that the startup item data does not identify a target startup sequence, obtains a default startup sequence of the startup item group, and starts the server based on the default startup sequence of the startup item group.

[0030] The startup item data here is used to indicate whether the basic input and output system can obtain the target control parameters from the baseboard management controller. Determining whether the startup item data identifies the target startup sequence refers to whether the basic input and output system can obtain the target startup sequence from the target control parameters in the baseboard management controller.

[0031] Specifically, the first protocol startup item data of the BMC end can be read from the first protocol through the BIOS. After the first protocol startup item data of the BMC end is obtained, the startup item data is judged to determine 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 data 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 a setting for setting the first protocol startup sequence; 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 first protocol command to set the startup sequence adjustment function.

[0032] See also Figure 2 First, before the basic input and 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, and the target control parameters include sequence attributes and startup mode type.

[0033] The baseboard management controller of the present application will obtain target parameter information according to the target control instruction, wherein the target control instruction is the first control instruction or the second control instruction, and the baseboard management controller obtains the target control instruction including: obtaining server status information, determining the server status according to the server status information, the server status including 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 the execution of 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 the execution of a single pre-boot execution environment.

[0034] The Basic Input Output System (BIOS) is the most basic and direct manager of hardware settings and controls on the server motherboard. Optimizing BIOS functions can further improve the usability of the server.

[0035] 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. The first state is the server shutdown state. The remote management control instruction here is a remote first protocol instruction. In the server shutdown state, a pre-startup execution environment is remotely set through the first control instruction. The second control instruction corresponds to a control instruction in the system band generated in the second state. The second state is after the server is started through the system disk and enters the system state. The second control instruction here is a first protocol instruction in the server system band, and a pre-startup execution environment is set through the second control instruction.

[0036] Exemplarily, the first control instruction may be as follows: Remote control command: “ipmitool.exe chassis bootdev PXE;”

[0037] The second control instruction may be as follows: The system issues the command: "ipmitool.exe –I lanplus -H XX.XX.XX.XX(bmc ip address) –UBMC username –P BMC password chassis bootdev PXE;".

[0038] Under 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 related parameters of the pre-start execution environment set by the target control instruction.

[0039] The target control parameters here include the attributes of the startup sequence of the startup item group corresponding to the pre-boot execution environment and the startup mode type. The attributes of the startup sequence of the startup item group are the number of times the startup sequence of the startup item group is set, that is, how many times the startup is performed according to the startup sequence of the startup item group. The startup mode type here refers to the type of startup mode. For example, the type of startup mode can include startup of the pre-boot execution environment, memory startup, optical drive device startup, etc.

[0040] When the system or remote control end sets a first protocol command to start, the baseboard management controller end stores a startup command that supports the pre-start execution environment in the memory of the baseboard management controller after receiving the command. 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 end can automatically count through the timer to obtain the timer timing length and the preset time threshold. By comparing the obtained timer timing length 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.

[0041] In one embodiment, storing the target control parameters in the memory of the baseboard management controller includes: in response to storing the target control parameters in the memory of the baseboard management controller, starting a timer; obtaining the timer timing duration and obtaining 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 and 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 and 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.

[0042] 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. For example, in this application, the preset time threshold is 3 minutes, 6 minutes, etc., and the preset time threshold is 3 minutes.

[0043] When the timer displayed on the baseboard management controller side exceeds 3 minutes, the target control parameters will be erased from the memory of the baseboard management controller regardless of whether the basic input and output system has been started; when the basic input and output system fails to obtain the target control parameters transmitted by the baseboard management control within 3 minutes, the target control parameters will continue to be stored in the memory of the baseboard management controller, and the target control parameters in the memory will not be processed. In response to the basic input and output system obtaining the target control parameters through the first protocol between BIOS and BMC within 3 minutes or at 3 minutes, the target control parameters will also be erased from the memory of the baseboard management controller. At this time, the first protocol command can be used to query whether the parameters of a PXE startup are effectively set.

[0044] Exemplarily, the first protocol command format is as follows: Remote console command: “ipmitool.exe chassis bootparam get 5”.

[0045] The system issues the command: “ipmitool.exe –I lanplus -H XX.XX.XX.XX(bmc ip address) –UBMC username –P BMC password chassis bootparam get 5”.

[0046] Next, you can execute ipmitool.exe –I lanplus -HXX.XX.XX.XX(bmc ip address) –U BMC username –P BMC password power cycle through the BMC web or IPMI command to start the pre-boot execution environment, or use the server physical power button to start it.

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

[0048] Specifically, in response to the server being powered on, the basic input / output system installs the first protocol in the 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.

[0049] The first protocol may be a protocol that can be linked to a baseboard management controller through a system interface and used to implement out-of-band management. The second protocol may be a protocol for centralized management and monitoring of servers, storage systems, and network devices. For example, the first protocol may specifically be an IPMI protocol, and the second protocol may specifically be a Redfish protocol. The startup item data is 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 sequence refers to whether the basic input / output system can obtain the target startup sequence from the target control parameters in the baseboard management controller.

[0050] That is to say, this solution can transmit the boot order of the boot item group by using the first protocol and the second protocol. Among them, the intelligent platform management interface IPMI (Intelligent Platform Management Interface) provides settings for setting and obtaining the boot items in the BMC (Baseboard Management Controller) chip. The IPMI tool can issue commands to the specified network address through the network, so that the Boot option (boot option) can be directly changed on the remote control end without having to log in to the server BMC control end to perform more steps. There is no need to restart the server immediately. 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. It meets the requirements of some customers who do not want to stop the server immediately. Redfish is a standard for managing modern data centers and network equipment, mainly used for data center hardware management. It provides a modern, easy-to-use interface that uses JSON format for data transmission and description.

[0051] Pre-boot Execution Environment (PXE) is a network boot technology that works in Client / Server mode. The ROM (Read-Only Memory) of the PXE network card has built-in support for DHCP and TFTP protocols, allowing the client to download the boot image from the remote server through the network and load the installation file or the entire operating system. The PXE network is used to achieve automatic batch installation of the system. No manual intervention is required during the entire installation process, which greatly improves work efficiency.

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

[0053] There are many different boot devices in the server system, such as the commonly used CD / DVD drive, floppy drive, hard disk, bootable USB device, etc. All bootable devices have a default boot order in the BIOS, for example: the first boot item is the CD / DVD drive, the second boot item is the floppy drive, and the third boot item is the hard disk. By default, the BIOS will try to boot into the operating system one by one according to the boot order. If the first boot item fails to boot, it will automatically try the next one until all bootable devices have been tried.

[0054] See also Figure 3 , Figure 3 This is a flow chart of a basic input / output system activating a startup hotkey to start a pre-boot execution environment based on a target startup sequence and shielding other hotkey functions according to an embodiment of the present application. Figure 3 for Figure 2 The BIOS in the system responds to the target boot sequence identified by the boot data and the sequence attribute matches the preset attribute, activates the boot hotkey, executes the boot of the pre-boot execution environment based on the target boot sequence, and shields the specific processes of other hotkey functions.

[0055] Specifically, after the server is powered on, before determining whether the startup data identifies the target startup sequence and whether 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.

[0056] Specifically, in response to the server being powered on, the basic input / output system installs the first protocol in the 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. In response to the first protocol being unsuccessfully installed, 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 sequence of the startup item grouping.

[0057] Among them, the basic input and output system determines whether the second protocol supports the startup of 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 and 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 grouping set and adjusted in the second protocol; in response to the second protocol including the 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 the protocol startup sequence, the basic input and output system determines that the second protocol supports the startup of the pre-boot execution environment.

[0058] In the present application, it is determined whether the basic input / output system installs the first protocol during the initialization (DXE) phase and whether the first protocol is successfully installed. In response to a failure in the installation of the first protocol, the program returns to stop executing. In response to a successful installation of the first protocol, the program continues executing. It is checked whether the second protocol (second protocol) supports a pre-boot execution environment. In response to the second protocol supporting a pre-boot execution environment, it is determined whether the second protocol includes a protocol startup sequence. The protocol startup sequence indicates the startup sequence of the startup item groups adjusted in the second protocol. In response to the second protocol including the protocol startup sequence, the server is started based on the protocol startup sequence in the second protocol.

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

[0060] After determining that the startup item data identifies the target startup sequence, the method includes: a baseboard management controller sends relevant information of the target startup sequence to a basic input / output system through a first protocol; in response to the basic input / output system receiving relevant information of the target startup sequence, analyzing the target startup sequence, obtaining startup item settings and startup mode parameters of the startup item group, wherein the startup item settings include sequence attributes of the startup sequence of the startup item group, and the startup mode parameters include a startup mode type; and judging whether the startup sequence of the startup item group is supported based on the startup sequence of the startup item group and the startup mode parameters.

[0061] The startup item setting data here refers to the startup item setting data, which refers to the startup sequence setting of the startup group, whether the startup times are single or multiple, and the startup mode type refers to the startup type, such as pre-boot execution environment startup, memory startup, optical drive startup, etc.

[0062] It should be noted that the meanings of determining whether to support the pre-startup execution environment and whether to support the startup of the pre-startup execution environment in this application are different. Determining whether to support the pre-startup execution environment refers to the startup environment configuration of the pre-startup execution environment. As long as the startup environment meets the startup conditions, that is, no matter what startup method is used, as long as the startup environment can support the startup of the pre-startup execution environment. Determining whether to support the startup of the pre-startup execution environment refers to whether to start the pre-startup execution environment according to the target startup sequence in this application.

[0063] In one embodiment, the function can be set and the return value of the function can be obtained to determine whether the boot flag is valid. Specifically, the basic input and output system obtains the boot flag stored in the baseboard management controller to determine whether the boot flag is valid; in response to the boot flag being invalid, it is determined that the basic input and output system does not support the adjustment of the boot sequence of the boot item group, then the default boot sequence of the boot item group is obtained, and the server is started based on the default boot sequence of the boot item group; in response to the boot flag being valid, it is determined that the basic input and output system supports the adjustment of the boot sequence of the boot item group.

[0064] In the present application, a startup flag is set to determine whether the basic input / output system supports adjustment of the startup order of the startup item grouping. Based on the startup order of the startup item grouping and the startup mode parameters, it is determined whether adjustment of the startup order of the startup item grouping is supported. Whether adjustment of the startup order of the startup item grouping is supported is determined in multiple ways, which can improve the stability of server startup.

[0065] Step 102: In response to the target boot sequence identified by the boot item data, the basic input and 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 number of boots of the target boot sequence.

[0066] Specifically, the basic input-output system verifies whether the sequence attribute matches the preset attribute, and in response to the two matching, retains the default startup sequence, including: the basic input-output system obtains the sequence attribute of the target startup sequence, and the sequence attribute is associated with the required startup number of the target startup sequence; verifies whether the sequence attribute matches the preset attribute; if the sequence attribute does not match the preset attribute, the basic input-output system determines that the startup number corresponding to the target startup sequence is not a single time, determines that the basic input-output system does not support adjustment of 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-output system determines that the startup number corresponding to the target startup sequence is a single time, and the basic input-output system retains the default startup sequence of the startup group.

[0067] In the present application, it is set to judge whether the obtained boot flag is valid. The boot sequence can be adjusted only when it is valid. When it is invalid (not set or the setting waiting time has timed out), it returns, and judges the number of times the boot item is set to see whether it is a single boot (whether the basic input and output system check sequence attribute matches the preset attribute). If it is not a single boot, the current boot sequence is permanently stored in the memory area of ​​BIOS. If it is a single boot, it will no longer be set by obtaining the boot variables of the BIOS Setup interface, that is, the default boot sequence of the BIOS Setup interface will be retained. At the same time, BIOS will no longer adjust, back up, or store the boot sequence of the device group. In short, regardless of whether it is a single or permanent boot, the boot sequence of the default permanent boot item device group will no longer be adjusted.

[0068] Step 103: The basic input and output system initializes the startup hotkey, and uses the startup hotkey to execute the startup of the pre-boot execution environment according to the target startup sequence; when the server startup completes exporting the system setting items, the default startup sequence is exported.

[0069] Specifically, the basic input and 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 startup number 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 startup number corresponding to the target startup sequence is not a single time, obtains the default startup sequence of the startup item grouping, and starts the server based on the default startup sequence of the startup item grouping; in response to the sequence attribute matching the preset attribute, it is determined that the startup number 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.

[0070] In the DXE (initialization) phase, the server's BIOS obtains the sequence attribute of the target boot sequence again by obtaining the first protocol. The sequence attribute is associated with the required number of boots of the target boot sequence; checks whether the sequence attribute matches the preset attribute; determines whether the target boot sequence is a single boot by whether the sequence attribute matches the preset attribute. If it is not a single boot, it is executed according to the default boot sequence. If it is a single boot, the pre-boot execution environment startup function is executed in the hotkey function area. At the same time, other hotkey functions, such as F11 BBS startup, DEL hotkey to enter BIOS setup, etc., are shielded. Here, the PXE (pre-boot execution environment) function hotkey global variable can be set to true, that is, True, to prevent other hotkeys from interrupting the hotkey PXE function. At the same time, shielding other hotkeys can avoid modifying the default boot sequence of the system setting items, so that when the pre-boot execution environment is started according to the target boot sequence, it can help to ensure that other hotkey functions tamper with the default boot sequence preset in the system setting items. If so, after the server is started, when the system setting items are exported, the default boot sequence is still exported. At the same time, taking the preset attribute as once as an example, when the sequence attribute matches the preset attribute, it can be considered that the pre-start execution environment is started temporarily and once according to the target startup sequence, and the default startup sequence preset in the system setting item is not modified. It can be started according to the default startup sequence at the next startup, and the tedious operation of modifying the system setting items multiple times due to the different sequence of single startup items can be omitted, and the server's preset, default default startup sequence is retained.

[0071] See also Figure 2 After executing the pre-boot execution environment in response to the hot key function area, the pre-boot execution environment operating system is entered, the boot sequence of the boot item group of the current server is read, and it is determined whether the boot sequence of the boot item group of the current server meets expectations.

[0072] That is, when the hotkey PXE boot function is executed, the PXE (Pre-boot Execution Environment) operating system is entered; after entering the operating system, the corresponding system tool is used to read the boot item device group sequence of the current server to determine whether the boot item grouping boot sequence of the current server meets expectations.

[0073] In one embodiment, in response to 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 groups of the current server, and determines whether the boot sequence of the boot item groups of the current server meets expectations.

[0074] Among them, 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.

[0075] Among them, the startup sequence of the startup item group of the current server and the default startup sequence of the startup item group are obtained; the startup sequence of the startup item group of the current server is compared 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, it is determined that the startup sequence of the startup item group of the current server meets expectations.

[0076] In the present application, the startup sequence of the startup item group of the current server is obtained and matched with the default startup sequence of the acquired startup system group, and then it is determined whether the current default startup sequence is affected by the temporary, one-time pre-startup execution environment startup, resulting in a change in the startup sequence of the startup item group of the server that was originally consistent with the default startup sequence. Here, if the startup sequence of the startup item group of the previous server matches the default startup sequence of the acquired startup system group, it is considered that after the temporary, one-time pre-startup execution environment startup, the startup sequence of the startup item group of the previous server obtained by the corresponding system tool is still the default startup sequence. If the startup sequence of the startup item group of the previous server does not match the default startup sequence of the acquired startup system group, it is considered that after the temporary, one-time pre-startup execution environment startup, the startup sequence of the startup item group of the previous server obtained by the corresponding system tool has changed and is not the default startup sequence.

[0077] In one embodiment, in response to a server restart, a basic input / output system is started according to a default startup sequence of a startup group; an operating system is entered, and the operating system reads the startup sequence of the startup item group of the restarted server; and a determination is made as to whether the startup sequence of the startup item group of the restarted server meets expectations.

[0078] Among them, judging whether the startup sequence of the startup item group 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.

[0079] In this application, the PXE boot item setting is set once through the first protocol command in the system band or out of band. After the BMC management firmware receives this information, it is stored in the BMC management firmware. At this time, the BMC management firmware performs timing statistics and determines whether it exceeds the preset time threshold. If it exceeds the preset time threshold, regardless of whether the BIOS obtains the first protocol setting boot command stored in the BMC, the 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 turned on, the BIOS will obtain the boot item priority of the first protocol setting stored in the BMC management firmware through the first protocol and fixed format requirements, and at the same time, the single or permanent boot of the device group boot item sequence will be abandoned. To adjust the boot item, obtain the BMC record information of the first protocol command to set a PXE boot again in the DXE stage of BIOS and execute it through the hotkey PXE execution method and shield other hotkey functions to avoid the problem of the first protocol command failing to start PXE due to other hotkey inputs. After the hotkey PXE function is executed, that is, after the single PXE boot enters the operating system, use the corresponding system tool to export the currently adjusted boot item sequence priority. When the server restarts again, BIOS will start according to the default and permanent boot item priority. At this time, the system will use the corresponding system tool to export the default permanent boot item group priority setting and verify whether it is consistent and meets the expected settings.

[0080] The operations of the startup method of executing the pre-boot execution environment in this application are all recorded in the Debug (debug log), and subsequent problem troubleshooting and function debugging can be performed based on the relevant information of the startup of the pre-boot execution environment recorded in the Debug (debug log).

[0081] In one embodiment, pre-boot execution environment startup information can be obtained; the pre-boot execution environment startup information is parsed to obtain field values ​​corresponding to each field in a preset structure; each field value is written into a corresponding field to obtain a target structure; and the pre-boot execution environment startup item is adjusted according to the target structure.

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

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

[0084] Among them, it can be parsed according to the ASCII code. The ASCII code is the American Standard Code for Information Interchange, which can be used to realize the standardization of 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 128 characters. After obtaining the field value corresponding to each field in the preset structure, each field value is written into the corresponding field to obtain the target structure. At this time, each field in the target structure has a corresponding field value, so that 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 speeding up the startup speed of the pre-boot execution environment.

[0085] In this application, the first protocol command of the external BMC management firmware and the server boot management firmware BIOS are used to interact and cooperate, and the first protocol PXE is set to start once and install the system using the remote command of the control end. During the boot process of the server, the BIOS obtains the first protocol command parameters stored in the BMC through the first protocol and feeds them back to the BIOS end. The BIOS end performs parameter parsing and adjusts the boot order according to the returned data structure data. At the same time, the permanent default boot 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, the first protocol command PXE boot is obtained again through the first protocol to determine whether it is a one-time boot. If not, no processing is performed here, and the BIOS can be started normally according to the default and permanent boot 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 boot into the PXE system. The corresponding system tool command is used to read the boot item group device order at the current startup, and it is determined whether the device group group boot priority order is consistent with the default and permanent boot settings. After checking, it must be in line with expectations. At this time, after the server restarts, the BIOS will confirm through the first protocol that the boot priority items set by the BMC have been cleared, and will use the BIOS default and permanent boot item order for booting. At this time, you can check whether it meets the expected default boot item settings after entering the operating system again.

[0086] It should be noted that the control end remotely stores the boot priority order in the BMC management firmware through the first protocol command. When the server starts, the BIOS obtains the storage boot item priority setting of the BMC end through the first protocol, and judges whether to start PXE for a single time or permanently for the obtained first protocol command. If it is a single time, it is executed through the hotkey PXE function in the DXE stage of the BIOS and the device grouping boot item order of the default and permanent boot items is no longer adjusted. The hotkey PXE function global variable value is updated and other hotkey functions are shielded to ensure that the default and permanent boot item order is not adjusted during a PXE startup. After the PXE system is started, the corresponding system tool is used to export the boot item and confirm it. When restarting again, it is still started according to the default and permanent boot item order of the BIOS end and the corresponding system tool is used under the system to export the boot item and confirm it, to ensure that the default and permanent boot items of the BIOS meet expectations.

[0087] The embodiment of the present application provides a startup system of a pre-startup execution environment. The startup system of the pre-startup execution environment is specifically as follows: Figure 4 As shown, the boot system of the pre-boot execution environment includes: a baseboard management controller, a basic input and output system, a processor 0, a processor 1, and a plurality of hard disks.

[0088] The baseboard management controller (BMC) communicates with the basic input and output system (BIOS) through the first protocol, and the baseboard management controller communicates with the processor 0 through the second protocol. The baseboard management controller communicates with the PCI interface network card through LPC (Low Pin Line) / PCI, and the baseboard management controller is connected to multiple hard disks (PCI interface nvme hard disk 0, PCI interface nvme hard disk 1, PCI interface nvme hard disk 2, PCI interface nvme hard disk 3) through UCB Over Lan (UCB remote connection).

[0089] The basic input and output system communicates with processor 0 through LPC / SPI / QSPI. The SPI / QSPI protocol interface is the data communication interface for display, storage, and some sensor devices. Processor 0 communicates with processor 1 through CCIX (Accelerator Cache Coherent Interconnect) / UPI / GMI (GMI is the communication bus between CPUs (central processing units), GPUs (graphics processing units), and CPUs and memories). Processor 1 is connected to the USB interface U disk and the USB interface. The USB interface is connected to the 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).

[0090] The embodiment of the present application provides a startup device for a pre-startup execution environment. The startup device for the pre-startup execution environment is specifically as follows: Figure 5 As shown, the startup device of the pre-start execution environment includes: a judgment module 20, a verification module 21 and a startup module 22.

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

[0092] The verification module 21 is used to respond to the target startup sequence identified by the startup item data, and the basic input and output system verifies whether the sequence attribute and the preset attribute match each other. In response to the two matching, the default startup sequence preset in the system setting item is retained; wherein the sequence attribute is associated with the required startup number of the target startup sequence.

[0093] The startup module 22 is used for initializing the startup hotkey of the basic input and output system, and using the startup hotkey to execute the startup of the pre-startup execution environment according to the target startup sequence; and to export the default startup sequence when the server startup completes exporting the system setting items.

[0094] In one embodiment, the above device can implement another implementation of a method for starting a pre-start execution environment, and the specific steps are as follows: Before the basic input and output system reads the startup item data of the baseboard management controller, it 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 sequence attributes, startup mode type and startup order of the startup item grouping.

[0095] In one embodiment, the above-mentioned device can implement another implementation method of the startup method of the pre-boot execution environment, and the specific steps are as follows: the target control instruction is the first control instruction or the second control instruction, and the baseboard management controller obtains the target control instruction including: obtaining server status information, determining the server status according to the server status information, and the server status includes a first state and a second state; in response to the server status being the first state, 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 execution of a single pre-boot execution environment startup; in response to the server status being the second state, obtaining the baseboard management controller network address, the baseboard management controller user name and the baseboard management controller password to generate a second control instruction, and the second control instruction supports the execution of a single pre-boot execution environment startup.

[0096] In one embodiment, the above-mentioned device can implement another implementation method of the startup method of the pre-boot execution environment, and 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 the timer; the baseboard management controller obtains the timer timing duration and the preset time threshold; in response to the timer timing duration being less than or equal to the preset time threshold, and the basic input and output system obtains 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 and 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.

[0097] In one embodiment, the above-mentioned device can implement another implementation method of the pre-boot execution environment startup method, and 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 being powered on, the basic input and output system installs the first protocol in 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 and output system determines whether the second protocol supports the startup of the pre-boot execution environment.

[0098] In one embodiment, the above-mentioned device can implement another implementation method of the pre-boot execution environment startup method, and the specific steps are as follows: the basic input and output system determines whether the second protocol supports the startup of 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 and 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 grouping set and adjusted in the second protocol; in response to the second protocol including the 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 the protocol startup sequence, the basic input and output system determines that the second protocol supports the startup of the pre-boot execution environment.

[0099] In one embodiment, the above-mentioned device can implement another implementation method of the startup method of the pre-boot execution environment, and the specific steps are as follows: after determining whether the first protocol is installed successfully, it also includes: in response to the first protocol installation being unsuccessful, the basic input and output system determines that the basic input and 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, and the default startup item grouping information includes the default startup order of the startup item group.

[0100] In one embodiment, the above-mentioned device can implement another implementation method of the startup method of the pre-boot execution environment, and the specific steps are as follows: determining whether the startup item data identifies the target startup sequence includes: the basic input and output system obtains the data value of the startup item data and the lowest binary value of the data of the startup item data; the basic input and 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 and output system determines that the startup item data identifies the target startup sequence; in response to the data value of the startup item data being not the first preset value, the basic input and output system determines whether the lowest binary value of the data of the startup item data is a second preset value; in response to the lowest binary value of the data of the startup item data being the second preset value, the basic input and output system determines that the startup item data identifies the target startup sequence; in response to the lowest binary value of the data of the startup item data being not the second preset value, the basic input and 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.

[0101] In one embodiment, the above-mentioned device can implement another implementation method of the startup method of the pre-boot execution environment, and the specific steps are as follows: after determining that the startup item data identifies the target startup sequence, the baseboard management controller sends the relevant information of the target startup sequence to the basic input and output system through the first protocol; in response to the basic input and output system receiving the relevant information of the target startup sequence, the target startup sequence is analyzed to obtain the startup item settings and startup mode parameters of the startup item group, the startup item settings include the sequence attributes of the startup sequence of the startup item group, and the startup mode parameters include the startup mode type; based on the startup sequence of the startup item group and the startup mode parameters, it is determined whether the startup sequence adjustment of the startup item group is supported.

[0102] In one embodiment, the above-mentioned device can implement another implementation method of the startup method of the pre-boot execution environment, and the specific steps are as follows: before the basic input and output system checks whether the sequence attribute and the preset attribute match, it includes: 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, it is determined that the basic input and output system does not support adjusting the startup sequence of the startup item group, then 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; in response to the startup flag being valid, it is determined that the basic input and output system supports adjusting the startup sequence of the startup item group.

[0103] In one embodiment, the above-mentioned device can implement another implementation method of the startup method of the pre-boot execution environment, and the specific steps are as follows: the basic input and output system obtains the sequence attribute of the target startup sequence, and the sequence attribute is associated with the required startup number of the target startup sequence; checks 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 not single, and determines that the basic input and output system does not support adjustment of 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.

[0104] In one embodiment, the above-mentioned device can implement another implementation method of the pre-boot execution environment startup method, and the specific steps are as follows: using the startup hotkey to execute the startup of the pre-boot execution environment according to the target startup sequence, including: 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 the match between the two, activating the startup hotkey to execute the startup of the pre-boot execution environment based on the target startup sequence; and shielding other hotkey functions.

[0105] In one embodiment, the above-mentioned device can implement another implementation method of the startup method of the pre-boot execution environment, and the specific steps are as follows: the basic input and output system obtains 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 hotkey associated with the pre-boot execution environment, and obtains the sequence attribute of the target startup sequence again through the first protocol, and the sequence attribute is associated with the required startup number 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 startup number corresponding to the target startup sequence is not a single time, 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; in response to the sequence attribute matching the preset attribute, it is determined that the startup number corresponding to the target startup sequence is a single time, and 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.

[0106] In one embodiment, the above-mentioned device can implement another implementation method of the startup method of the pre-boot execution environment, and the specific steps are as follows: the startup method also includes: in response to the basic input and output system executing the pre-boot execution environment based on the target startup sequence, 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 expectations.

[0107] In one embodiment, the above-mentioned device can implement another implementation method of the startup method of the pre-boot execution environment, and the specific steps are as follows: judging whether the startup order of the startup item group of the current server meets expectations, including: 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 expectations.

[0108] In one embodiment, the above-mentioned device can implement another implementation method of the startup method of the pre-boot execution environment, and the specific steps are as follows: the startup method also includes: in response to the server restarting, the basic input and 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 is as expected.

[0109] In one embodiment, the above-mentioned device can implement another implementation method of the startup method of the pre-boot execution environment, and the specific steps are as follows: judging whether the startup order of the startup item group of the restarted server meets expectations, including: 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 expectations.

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

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

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

[0113] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.

[0114] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be judged to be beyond the scope of this application.

[0115] The above is a detailed introduction to a method for starting a pre-startup execution environment provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and core idea of ​​the present application. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present 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, and determines whether the startup item data identifies the target startup 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 exports the default startup sequence when the server startup completes the export of system setting items.

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 startup of a single pre-boot execution environment; 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: The determining whether the startup item data identifies a target startup sequence includes: The basic input and output system obtains the data value of the startup item data and the lowest bit binary value of the data of the startup item data; The basic input and 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 a first 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 startup item data being not the first preset value, the basic input and output system determines whether the least significant binary value of the data of the startup item data is a second preset value; In response to the least significant bit binary value of the boot item data being a second preset value, the basic input / output system determines that the boot item data identifies a target boot sequence; In response to the least significant binary value of the startup item data being not the second preset value, the basic input / output system determines that the startup item data does not identify a target startup sequence, obtains a default startup sequence of the startup item group, and starts the server based on the default startup sequence of the startup item group.

9. The method for starting a pre-boot execution environment according to claim 8, 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 startups 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 1, 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

  • Method and device for adjusting starting sequence of network card PXE

    CN111124508A

  • 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

  • Configuration method and device for pre-starting execution environment function and server

    CN116886524A

Cited By

  • Server starting method and device, electronic equipment and storage medium

    CN120407032A

  • Equipment starting control method, electronic equipment and server

    CN121255299A