A starting method, device and computing equipment

By storing BIOS settings and RTC in the BMC, the problem of BIOS settings loss and RTC failure caused by insufficient button battery power is solved, enabling BIOS settings and RTC to be maintained without continuous power supply, thus reducing the cost and maintenance burden of computing devices.

CN115964089BActive Publication Date: 2026-02-27XFUSION DIGITAL TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202211614730.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-15
Publication Date
2026-02-27
Estimated Expiration
2042-12-15

AI Technical Summary

Technical Problem

When the button battery on the computer motherboard is low on power or is not in place, the CMOS and RTC will not be powered, resulting in the loss of BIOS settings and RTC failure, which increases the cost and manpower and material consumption of battery replacement.

Method used

By storing BIOS settings and RTC in the BMC, and having the BIOS program executor retrieve this information from the BMC after the computing device is powered on, the continuous power supply requirement for the CMOS and timing modules is avoided.

Benefits of technology

It enables the acquisition of BIOS settings and RTC without relying on continuous power supply from CMOS and timing modules, saving the cost of computing devices and the manpower and resources required for battery replacement.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115964089B_ABST
    Figure CN115964089B_ABST
Patent Text Reader

Abstract

Embodiments of the present application relate to the technical field of computer, in particular to a starting method and device and a computing device. The method is applied to a computing device, the computing device comprising a baseboard management controller (BMC) and a basic input / output system (BIOS) program executor, and the BIOS setting information is stored in the BMC. The method comprises the following steps: after the BMC is started and before the operating system of the computing device is started, the executor acquires the BIOS setting information from the BMC; and the executor runs the BIOS program of the computing device based on the BIOS setting information to complete the BIOS setting of the computing device. The method can enable the BIOS program executor to acquire the BIOS setting information after the computing device is powered on without supplying power to the CMOS in the PCH.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer, in particular to a starting method and device and computing device. BACKGROUND

[0002] The basic input output system (BIOS) is the firmware of the computer, specifically a set of programs solidified to a read-only memory (ROM) chip on the motherboard of the computer. The setting information of the BIOS such as the starting parameters of the computer running is stored in the complementary metal oxide semiconductor (CMOS) in the platform controller hub (PCH). Each time the computer is started, the PCH reads the setting information of the BIOS and other information from the CMOS, executes the BIOS program, and realizes hardware detection, hardware initialization, resource allocation, operating system (OS) starting and booting, etc.

[0003] The CMOS is a volatile memory, and needs uninterrupted power supply to keep data. In addition, the timing module in the PCH needs uninterrupted power supply to maintain the real-time clock (RTC). At present, the button cell specially set on the motherboard of the computer supplies power to the PCH. When the button cell is insufficient or not in place, the CMOS in the PCH cannot be powered, resulting in data loss. In addition, the RTC cannot be maintained, and returns to the initial time. In addition, to avoid insufficient power of the button cell, the button cell needs to be replaced regularly. For platforms such as data centers that deploy a large number of servers, a large amount of manpower and material resources are consumed to replace the button cell for the server. SUMMARY

[0004] The embodiments of the present application provide a starting method and device and computing device, which can make the BIOS program executor obtain the BIOS setting information after the computing device is powered on again under the condition that the CMOS in the PCH is not powered after the computing device is powered off.

[0005] In a first aspect, a starting method is provided, which is applied to a computing device including a baseboard management controller (BMC) and a basic input / output system (BIOS) program executor, and the BIOS setting information is stored in the BMC; the method includes: after the BMC is started and before an operating system of the computing device is started, the executor acquires the BIOS setting information from the BMC; and the executor runs a BIOS program of the computing device based on the BIOS setting information to complete the BIOS setting of the computing device.

[0006] The BMC has a non-volatile memory, and the BIOS setting information is stored in the non-volatile memory, so that the BIOS setting information in the BMC is not lost even if the computing device is powered off.

[0007] In the starting method, the BIOS program executor can acquire the BIOS setting information from the BMC, so that the BIOS setting information does not need to be acquired from the CMOS, and a battery specially used for powering the CMOS in the PCH does not need to be arranged on the mainboard, thereby saving the cost of the computing device and saving the manpower and material resources required for battery replacement.

[0008] In a possible implementation, the BMC stores a first configuration file, and the first configuration file includes the BIOS setting information; and the executor acquiring the BIOS setting information from the BMC includes: the executor acquiring the first configuration file from the BMC and acquiring the BIOS setting information from the first configuration file.

[0009] In the implementation, the BIOS setting information is recorded in the configuration file, the executor acquires the configuration file from the BMC, and acquires the BIOS setting information from the configuration file.

[0010] In a possible implementation, the executor acquiring the first configuration file from the BMC includes: in a case where the first configuration file is legal, the executor acquiring the first configuration file from the BMC. The legality of the configuration file means that the configuration file is complete or has not been illegally modified.

[0011] In the implementation, the executor acquires the configuration file in the case where the legality of the configuration file is confirmed, and then acquires the BIOS setting information, thereby ensuring that the acquired BIOS setting information is correct BIOS configuration information.

[0012] In a possible implementation, the method further includes: the executor updating the BIOS setting information and sending the updated BIOS setting information to the BMC; and the BMC is configured to record the updated BIOS setting information into a second configuration file and save the second configuration file.

[0013] In the implementation, when the BIOS setting information is updated, the updated BIOS information is recorded by a new configuration file, so that when a problem occurs in BIOS setting by using the updated BIOS setting information, the BIOS setting can be performed by using the original BIOS setting information.

[0014] In a possible implementation, the BIOS setting information comprises at least one of a startup parameter, an administrator password, a user password, and a hard disk password; and the startup parameter comprises at least one of a system partition and a startup priority.

[0015] In a possible implementation, the method further comprises: acquiring, by the executor, a real-time clock (RTC) from the BMC; and setting, by the executor, the RTC of the BIOS of the computing device according to the RTC acquired from the BMC.

[0016] In the implementation, the RTC of the BIOS can be set by the executor acquiring the RTC from the BMC, so that the RTC can be acquired and set without continuously supplying power to the timing module in the PCH, thereby eliminating the need to set a battery on the motherboard for supplying power to the timing module in the PCH, saving the cost of the computing device and saving the manpower and resources required for battery replacement.

[0017] In a possible implementation, the RTC acquired by the executor from the BMC is an RTC acquired by the BMC from an NTP server or another device, wherein the other device is a device in the same local area network as the computing device and in a running state.

[0018] In a possible implementation, the method further comprises: when the BMC does not have the RTC, acquiring, by the executor, a system time of the operating system, the operating system being started without setting the RTC of the BIOS, the system time being acquired by the operating system from a network; and setting, by the executor, the RTC of the BIOS of the computing device according to the system time.

[0019] In the implementation, when the BMC does not have the RTC, the operating system can be started without setting the RTC of the BIOS. After the operating system is started, the system time can be acquired from the network, so that the system time can be set. The RTC of the BIOS can be set by the BIOS program executor acquiring the system time from the operating system.

[0020] In a possible implementation, the method further comprises: sending, by the executor, the system time to the BMC, the system time being used by the BMC to set the RTC of the BMC.

[0021] In this implementation, when the BMC does not have an RTC, the executor can cause the system time obtained from the operating system to the BMC, so that the BMC sets the RTC.

[0022] In a second aspect, a starting device is provided, configured in a computing device including a baseboard management controller (BMC) and a basic input / output system (BIOS) program executor, and the BMC stores BIOS setting information; the device includes: an acquisition module, configured to acquire the BIOS setting information from the BMC after the BMC is started and before an operating system of the computing device is started; and a running module, configured to run a BIOS program of the computing device based on the BIOS setting information to complete BIOS setting of the computing device.

[0023] In a third aspect, a computing device is provided, including a baseboard management controller (BMC) and a basic input / output system (BIOS) program executor, and the BMC stores BIOS setting information; and the executor is configured to execute the method in the first aspect.

[0024] In a fourth aspect, a computer readable storage medium is provided, including computer program instructions, when the computer program instructions are executed by a computing device, the computing device executes the method provided in the first aspect.

[0025] In a fifth aspect, a computer program product is provided, storing instructions, when the instructions are executed by a computer, the computer executes the method provided in the first aspect.

[0026] The starting method, device and computing device provided by the embodiments of the present application do not rely on CMOS to obtain BIOS setting information when performing BIOS setting, so that a battery specially used for powering the CMOS in the PCH does not need to be arranged on the motherboard, thereby saving the cost of the computing device and saving manpower and material resources required for battery replacement. BRIEF DESCRIPTION OF DRAWINGS

[0027] Figure 1 FIG. 1 is a structural schematic diagram of a computing device provided by an embodiment of the present application;

[0028] Figure 2 FIG. 2 is a flowchart of a starting scheme provided by an embodiment of the present application;

[0029] Figure 3 FIG. 3 is a flowchart of a starting scheme provided by an embodiment of the present application;

[0030] Figure 4 FIG. 4 is a flowchart of a starting method provided by an embodiment of the present application;

[0031] Figure 5 A structural schematic diagram of a starting device provided by an embodiment of the present application is shown in FIG. 1.

[0032] Figure 6 A structural schematic diagram of a computing device provided by an embodiment of the present application is shown in FIG. 2. DETAILED DESCRIPTION

[0033] The technical solutions in the embodiments of the present application will be described below with reference to the drawings. Obviously, the described embodiments are only some of the embodiments of the present application, not all the embodiments.

[0034] In the description of the embodiments of the present application, "one embodiment" or "some embodiments" means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present application. Therefore, the statements "in one embodiment", "in some embodiments", "in other some embodiments", "in yet some embodiments" and the like appearing in various places in the description of the embodiments of the present application do not necessarily all refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized.

[0035] In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this document is only a description of the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B can mean that A exists alone, A and B exist together, and B exists alone. In addition, in the description of the embodiments of the present application, "multiple" means two or more than two.

[0036] In the description of the embodiments of the present application, the terms "first", "second" are only for the purpose of description, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features limited by "first", "second" can explicitly or implicitly include one or more of the features. The terms "include", "contain", "have" and their variants mean "include but are not limited to", unless otherwise specifically emphasized.

[0037] BIOS provides the lowest and most direct hardware settings and controls for a computer, and as a boot program of an operating system, it guides the start of the operating system. In order to achieve the foregoing functions, BIOS needs to read BIOS setting information and RTC, etc. The BIOS setting information is information for BIOS setting, and usually includes information such as boot parameters, administrator passwords, user passwords, hard disk passwords, etc. Among them, the boot parameters include information such as system partition, boot option priorities, etc. Before the operating system starts, the computing device needs to complete the BIOS setting. Among them, the BIOS program executor in the computing device can execute the BIOS program based on the BIOS setting information to perform the BIOS setting.

[0038] The starting scheme provided by the embodiment of the present application can make the BIOS no longer rely on the method of using the battery to supply power to the CMOS in the PCH to obtain the BIOS setting information and other information, and no longer rely on the method of using the battery to supply power to the timing module in the PCH to obtain the RTC. Next, the starting scheme provided by the embodiment of the present application will be introduced.

[0039] Figure 1 A computing device 100 that can be used to implement the starting scheme provided by the embodiment of the present application is shown. In some embodiments, the computing device 100 can be a physical machine, such as a server. In some embodiments, the computing device 100 can be a virtual device, such as a virtual machine (VM).

[0040] As shown in Figure 1 The computing device 100 includes a baseboard management controller (BMC) 110, a BIOS device 120, a processor 130, and a communication interface 140.

[0041] The BMC 120 includes a processor 111, a memory 112, and a communication interface 113. The processor 111 is a device with data processing capability. In some embodiments, the processor 111 can be a complex programming logic device (CPLD), a field programmable gate array (FPGA), or a microprocessor unit (MCU), etc. The memory 112 is a device with data storage function, and the memory 112 is non-volatile. That is, without power supply to the memory 112, the memory 112 continues to store the data stored therein. The communication interface 113 is capable of communicating with other devices, such as a network time protocol (NTP) server or other computing devices in the same local area network as the computing device 110. In some embodiments, the communication interface 113 can be a wired network interface, such as a network cable interface. In some embodiments, the communication interface 113 can be a wireless network interface, such as a wireless fidelity (WIFI) module, a Bluetooth module, etc. The embodiments of the present application do not limit the specific implementation forms of the processor 111, the memory 112, and the communication interface 113.

[0042] The BIOS device 120 includes a BIOS program memory and a BIOS program executor. The BIOS program memory stores a BIOS program, and the BIOS program memory can be a ROM chip, for example. The BIOS program executor is configured to execute the BIOS program, and the BIOS program executor can be a platform controller hub (PCH), for example. When the computing device 100 is started, the BIOS program executor can execute the BIOS program stored in the BIOS program memory to detect hardware, initialize hardware, allocate resources, boot an operating system, and the like, so as to perform and complete BIOS settings.

[0043] The processor 130 is a device with data processing capability. After the BIOS program executor starts the BIOS program, the processor 130 can start and run the operating system of the computing device 100. In some embodiments, the processor 130 can be one or more central processing units (CPUs). In other embodiments, the processor 130 can also be other forms of processors, such as graphics processing units (GPUs), artificial intelligence (AI) chips, etc. The embodiments of the present application do not limit the specific implementation form of the processor 130.

[0044] The communication interface 140 can be used for the computing device 100 to perform network communication, for example, connecting the computing device to the Internet. In some embodiments, the communication interface 140 can be a network interface card (NIC). The embodiments of the present application do not limit the specific implementation form of the communication interface 140.

[0045] The above examples introduce the computing device 100. Next, in combination with the computing device 100, the starting scheme provided by the embodiments of the present application is introduced.

[0046] The starting scheme provided by the embodiments of the present application includes a scheme in which the BIOS program acquires the RTC in a manner that does not rely on uninterrupted power supply of a timing module in the PCH. The timing module is also referred to as an RTC module, which is a module in the PCH for maintaining the RTC.

[0047] Referring to Figure 2 In step 201, the computing device 100 is powered on. In step 201, the power-on of the computing device 100 can be started, and the computing device 100 starts to start.

[0048] The starting sequence of the computing device 100 is in turn the starting of the BMC 110, the starting of the BIOS (i.e., the execution of the BIOS program by the BIOS program executor), and the starting of the operating system (the execution of the operating system by the processor 130).

[0049] In some embodiments, after the BMC 110 is started, the BMC 110 can perform step 202 to determine whether the NTP function of the BMC 110 is enabled. If the NTP function is enabled, i.e., the result of step 202 is YES, the BMC 110 can perform step 203a to obtain the RTC from an NTP server. Specifically, the BMC 110 with the enabled NTP function can obtain the RTC from the NTP server via the communication interface 113, and thus obtain the RTC. In some embodiments, the NTP server and the computing device 100 are in the same local area network. In some embodiments, the NTP server can be an NTP server in the Internet.

[0050] The BIOS program executor can perform step 204 to obtain the RTC from the BMC 110. In some embodiments, the BIOS program executor can obtain the RTC from the BMC 110 when starting to execute the BIOS program or during the execution of the BIOS program, and set the RTC as the RTC of the BIOS. In some embodiments, the BMC 110 can send the RTC to the BIOS program executor after obtaining the RTC. Thus, the BIOS program executor can set the RTC as the RTC of the BIOS when executing the BIOS program. In some embodiments, the BMC 110 can set the RTC of the BIOS. In one example, the BMC 110 can set the RTC of the BIOS via the BMC redfish / ipmi software interface.

[0051] In some embodiments, the setting of the RTC of the BIOS refers to setting the start time of the timing module in the PCH to start timing.

[0052] In some embodiments, if the result of step 202 is NO, the BMC 110 can attempt to obtain the RTC from a device 200. The device 200 is any device in the same local area network as the computing device 100 and in a running state. In some embodiments, the computing device 100 can be a device in a computing device cluster (e.g., a data center), and the device 200 can be a user management platform in the computing device cluster. The user management platform can be used by a user (e.g., an operation and maintenance personnel) to manage devices in the computing device cluster. In one example, the user management platform can be FusionDirector. The BMC 110 can connect to the device 200 via the communication interface 113, and obtain the RTC from the device 200.

[0053] Specifically, the BMC 110 can send a time request to the device 200 via the communication interface 113. The device 200 can respond to the time request by sending the RTC to the BMC 110 after receiving the time request.

[0054] BMC 110 can execute step 203b to determine whether it has obtained the RTC from device 200. If the RTC has been obtained from device 200, i.e., the result of step 203b is yes, then BMC 110 can execute step 204. Step 204 can be referred to the above description and will not be repeated here.

[0055] If the result of step 203b is negative, the BIOS program executor can execute step 205, obtaining the system time from the operating system after it starts and setting it as the RTC. That is, even without setting the BIOS RTC, the processor 130 starts the operating system. For example, when the BIOS RTC is not set, the timing module in the PCH starts counting from the initial time of the RTC (i.e., January 1, 1970, 00:00). After the operating system starts, the operating system or the processor 130 can obtain time, such as an RTC, through a network and set the system time. Then, the BIOS program executor can obtain the system time from the operating system and set the obtained system time as the BIOS RTC.

[0056] In one example of these embodiments, such as Figure 2 As shown, after the BIOS program executor obtains the system time from the operating system or processor 130, it can execute step 206 to send the system time to BMC 110, enabling BMC 110 to set its RTC according to the system time. Specifically, as mentioned above, if the judgment results of steps 202 and 203b are both negative, it indicates that BMC 100 has also failed to obtain the RTC. In this embodiment, BMC 110 can obtain the time from the BIOS program, and thus can set the RTC correctly.

[0057] In some embodiments, if the determination result of step 202 is negative, the BIOS program executor can execute step 205, obtaining the system time from the operating system after the operating system starts and using the system time as the RTC. That is, even if the BIOS RTC is not set, the processor 130 still starts the operating system. For example, when the BIOS RTC is not set, the timing module in the PCH starts counting from the initial time of the RTC (i.e., January 1, 1970, 00:00). After the operating system starts, the operating system or the processor 130 can obtain time, such as an RTC, through a network and set the system time. Then, the BIOS program executor can obtain the system time from the operating system and set the obtained system time as the BIOS RTC.

[0058] In one example of these embodiments, such as Figure 2As shown, after the BIOS program executor obtains the system time from the operating system or the processor 130, the BIOS program executor can send the system time to the BMC 110, so that the BMC 110 can set the RTC of the BMC according to the system time. Specifically, as described above, the result of the determination in step 202 is all negative, which means that the BMC 100 also fails to obtain the RTC. In this embodiment, the BMC 110 can obtain the time from the BIOS program, and then can set the RTC, so that the RTC can be correctly set.

[0059] In some embodiments, after step 201, the BMC 110 can attempt to obtain the RTC from a device 200. The device 200 is any device that is in the same local area network as the computing device 100 and is in a running state. In one illustrative example, the computing device 100 can be a device in a computing device cluster (e.g., a data center), and the device 200 can be a user management platform in the computing device cluster. The user management platform can be used by a user (e.g., an operator) to manage devices in the computing device cluster. In one example, the user management platform can be FusionDirector. The BMC 110 can connect to the device 200 through the communication interface 113, and obtain the RTC from the device 200.

[0060] Specifically, the BMC 110 can send a time request to the device 200 through the communication interface 113. After receiving the time request, the device 200 can respond to the time request by sending the RTC to the BMC 110.

[0061] The BMC 110 can perform step 203b to determine whether the RTC is obtained from the device 200. If the RTC is obtained from the device 200, i.e., the result of the determination in step 203b is yes, then the BMC 110 can perform step 204. Step 204 can be referred to the above description, and will not be described here.

[0062] In one example of these embodiments, if the result of the determination in step 203b is no, then the BIOS program executor can perform step 205 to obtain the system time from the operating system after the operating system is started, and set the system time as the RTC. That is, even if the RTC of the BIOS is not set, the processor 130 starts the operating system. Illustratively, when the RTC of the BIOS is not set, the timing module in the PCH starts timing from the initial time of the RTC (i.e., January 1, 1970, 00:00:00). After the operating system is started, the operating system or the processor 130 can obtain the time, e.g., the RTC, through the network, and set the system time. Then, the BIOS program executor can obtain the system time from the operating system, and set the obtained system time as the RTC of the BIOS.

[0063] In another example of these embodiments, if the determination result of step 203b is negative, BMC 110 can execute step 202 to determine whether the NTP function of BMC 110 is enabled. If enabled, that is, if the determination result of step 202 is positive, then BMC 110 can execute step 203a to obtain the RTC from the NTP server. Specifically, BMC 110 with NTP function enabled can obtain the RTC from the NTP server through communication interface 113, thereby obtaining the RTC. In some embodiments, the NTP server and computing device 100 are located on the same local area network. In some embodiments, the NTP server can be an NTP server on the Internet.

[0064] The BIOS executor can perform step 204 to obtain the RTC from the BMC 110. In some embodiments, the BIOS executor may obtain the RTC from the BMC 110 when starting or during the execution of the BIOS program and set the RTC as the BIOS's RTC. In some embodiments, the BMC 110 may send the RTC to the BIOS executor after obtaining it. Thus, the BIOS executor may set the RTC as the BIOS's RTC when executing the BIOS program. In some embodiments, the BMC 110 may set the BIOS's RTC. In one example, the BMC 110 may set the BIOS's RTC through the BMCredfish / ipmi software interface.

[0065] If enabled (i.e., the result of step 202 is negative), the BIOS program executor can execute step 205, obtaining the system time from the operating system after it starts and using that system time as the RTC. In other words, the processor 130 starts the operating system even without setting the BIOS RTC. For example, when the BIOS RTC is not set, the timing module in the PCH starts counting from the initial time of the RTC (i.e., January 1, 1970, 00:00). After the operating system starts, the operating system or the processor 130 can obtain time, such as from an RTC, over a network and set the system time. Then, the BIOS program executor can obtain the system time from the operating system and set the obtained system time as the BIOS RTC.

[0066] pass Figure 2 The solution shown allows the BIOS program to obtain the RTC without relying on a continuous power supply to the timing module in the PCH, thus eliminating the need for a PCH-powered battery on the motherboard and reducing costs.

[0067] The startup scheme provided in this application includes a scheme in which the BIOS program obtains BIOS setting information without relying on CMOS.

[0068] Referring to Figure 3 At step 201, the computing device 100 is powered on. Details can be referred to the above description, and thus will not be repeated here.

[0069] The BIOS program executor can extract the BIOS setting information and the like from the configuration file A at step 303 when starting the BIOS program or when executing the BIOS program. The configuration file A is a file recording the BIOS setting information and the like, that is, the content of the configuration file A includes the BIOS setting information and the like. For example, a user (e.g., a developer or an operator) can configure the BIOS setting information and the like, and store the BIOS setting information and the like into the BMC 110. For example, the user can configure the BIOS setting information through the BIOS program executor, and instruct the BIOS program executor to send the BIOS setting information to the BMC 110. The BMC 110 can store the BIOS setting information. The BMC 110 can record the BIOS setting information into the configuration file A. In some embodiments, the configuration file A can be an XML format file.

[0070] The configuration file A is stored in the memory 112 of the BMC 110. As described above, the memory 112 is a non-volatile memory, and can save the data stored therein during power off. Thus, storing the configuration file A in the memory 112 can prevent the configuration file A from being lost in the case of power off and power on of the computing device. After completing the BIOS setting, the user can instruct the computing device 100 or the processor 130 to send the BIOS setting information and the like to the BMC 110, and instruct the BMC 110 to store the BIOS setting information and the like into the memory 112.

[0071] In some embodiments, the BIOS program executor can obtain the configuration file A from the BMC 110 at step 303. For example, the BIOS program executor can send a configuration file request to the BMC 110. The BMC 110 can respond to the configuration file request, and send the configuration file A to the BIOS program executor. In one example, the BMC 110 can send the configuration file A to the BIOS program executor through a BMC redfish / ipmi software interface. Thus, the BIOS program chip can obtain the configuration file A, and further extract the BIOS setting information and the like from the configuration file A.

[0072] In some embodiments, the BMC 110 can actively send the configuration file A to the BIOS program executor after being started, so that the BIOS program executor can extract the BIOS setting information and the like from the configuration file A at step 303.

[0073] In some embodiments, as Figure 3 Before sending the configuration file A to the BIOS program executor, the BMC 110 performs step 302 to determine whether the configuration file A in the BMC 110 is legal. The configuration file being illegal can mean that the configuration file is incomplete or is modified illegally.

[0074] In some embodiments, in step 302, the BMC 110 can perform a hash calculation on the configuration file A to obtain a hash value Al, and then compare the hash value Al with a hash value A2 of the configuration file A. The hash value A2 is a hash value obtained by the BMC 110 performing a hash calculation on the configuration file A before the last power-off of the computing device 100. The hash value A2 can be stored in the memory 112, so that the hash value A2 is not lost after the computing device 100 is powered off. The last power-off of the computing device 100 means the last power-off before the power-on of the computing device 100 in step 201. That is, the power-on of the computing device 100 after the last power-off is the power-on in step 201.

[0075] If the hash value Al is consistent with the hash value A2, it means that the configuration file A is legal. If the hash value Al is not consistent with the hash value A2, it means that the configuration file A is illegal.

[0076] If the configuration file is legal, i.e., the determination result of step 302 is yes, the BMC 110 allows the BIOS program executor to obtain the configuration file A from the BMC 110, i.e., the BMC 110 can send the configuration file A to the BIOS program executor. Thus, the BIOS program executor can perform step 303 and subsequent steps (e.g., step 304-step 305, etc.).

[0077] If the configuration file is illegal, i.e., the determination result of step 302 is no, the BMC 110 can perform step 307 to issue an alarm while refusing to provide the configuration file A to the BIOS program executor. For example, the BMC 100 can generate an alarm and send the alarm to a user management platform of the computing device 100 to prompt a user (e.g., an operation and maintenance personnel) to check or repair the configuration file A.

[0078] Continuing to refer to FIG. 3, after extracting the BIOS setting information and other information, the BIOS program executor can perform step 304 to run the BIOS program based on the BIOS setting information and other information to detect hardware, initialize hardware, allocate resources, boot an operating system, and the like, so as to perform and complete BIOS setting.

[0079] After step 304, the processor 130 performs step 305 to start and run the operating system.

[0080] At this point, the computing device 100 completes the startup and can perform business.

[0081] In some embodiments, the user can perform step 306 through the BIOS program executor to update the BIOS setting information and the like, and store the updated BIOS setting information and the like into the BMC 110. The user can change the BIOS setting through the BIOS executor, thereby updating the BIOS setting information. The BIOS executor can send the updated BIOS setting information to the BMC 110. The BMC 110 can specifically store the updated BIOS setting information and the like into the memory 112. When the computing device 100 starts again, the updated BIOS setting information and the like are preferentially used for startup, i.e., the BIOS program executor preferentially runs the BIOS program based on the updated BIOS setting information and the like.

[0082] In one example, the BMC 110 can newly create a configuration file B to record the updated BIOS setting information and the like, and store the configuration file B in the memory 112. That is, the updated BIOS setting information and the like do not overwrite the original BIOS setting information and the like, but are stored as a new file. Thus, when the BIOS setting using the updated BIOS setting information and the like has a problem, the configuration file A can be used for BIOS setting again.

[0083] Through the scheme shown in FIG. 4, the BIOS program acquires the BIOS setting information and the like without relying on the CMOS mode, thereby eliminating the need for a battery for CMOS power supply on the motherboard, and reducing the cost. Figure 3 Based on the startup scheme described above, the embodiments of the present application further provide a startup method. It can be understood that the method is another expression of the startup scheme described above, and the specific implementation process of the method can refer to the introduction of the startup scheme above. The method can be applied to a computing device, which includes a baseboard management controller (BMC) and a basic input / output system (BIOS) program executor, and the BMC stores BIOS setting information. As shown in FIG. 5, the method includes the following steps.

[0084] Figure 4

[0085] Step 401: After the BMC starts, the operating system of the computing device starts, the executor acquires the BIOS setting information from the BMC. The specific implementation can refer to the introduction of step 303 in the startup scheme described above. Figure 3

[0086] ​​​In step 403, the executor runs the BIOS program of the computing device based on the BIOS setting information, to complete the BIOS setting of the computing device. For details, refer to the description of step 304 in the method for setting BIOS of a computing device in the first aspect. Figure 3

[0087] In some embodiments, the BMC stores a first configuration file, and the first configuration file includes the BIOS setting information; and the step of obtaining, by the executor, the BIOS setting information from the BMC includes: obtaining, by the executor, the first configuration file from the BMC, and obtaining the BIOS setting information from the first configuration file.

[0088] In one example of these embodiments, the step of obtaining, by the executor, the first configuration file from the BMC includes: in a case where the first configuration file is legal, obtaining, by the executor, the first configuration file from the BMC. For details, refer to the description of step 302 in the method for setting BIOS of a computing device in the first aspect. Figure 3

[0089] In another example of these embodiments, the method further includes: updating, by the executor, the BIOS setting information, and sending the updated BIOS setting information to the BMC; and the BMC is configured to record the updated BIOS setting information into a second configuration file, and save the second configuration file. For details, refer to the description of step 306 in the method for setting BIOS of a computing device in the first aspect. Figure 3

[0090] In some embodiments, the BIOS setting information includes at least one of a startup parameter, an administrator password, a user password, and a hard disk password; and the startup parameter includes at least one of a system partition and a startup priority.

[0091] In some embodiments, the method further includes: obtaining, by the executor, a real-time clock (RTC) from the BMC; and setting, by the executor, an RTC of the BIOS of the computing device according to the RTC obtained from the BMC. For details, refer to the description of steps 202-204 in the method for setting BIOS of a computing device in the first aspect. Figure 2

[0092] In one example of these embodiments, the RTC obtained by the executor from the BMC is an RTC obtained by the BMC from an NTP server or another device, where the other device is a device that is in the same local area network as the computing device and is in a running state. For details, refer to the description of steps 203a and 203b in the method for setting BIOS of a computing device in the first aspect. Figure 2

[0093] ​​​​​In another example of the embodiments, the method further includes: when the BMC does not have an RTC, the executor acquires a system time of the operating system, the operating system is started without setting the RTC of the BIOS, and the system time is acquired by the operating system from a network; and the executor sets the RTC of the BIOS of the computing device according to the system time. For details, refer to the description of step 205 in the method embodiment of Figure 2 .

[0094] In one example of the example, the method further includes: the executor sends the system time to the BMC, and the system time is used by the BMC to set the RTC of the BMC. For details, refer to the description of step 206 in the method embodiment of Figure 2 .

[0095] The starting method provided by the embodiments of the present application does not rely on CMOS to acquire BIOS setting information when performing BIOS setting, so that a battery specially used for supplying power to CMOS in PCH does not need to be arranged on a motherboard, thereby saving the cost of the computing device and saving manpower and material resources required for battery replacement.

[0096] The embodiments of the present application further provide a starting device 500. The device 500 is arranged in a computing device, and the computing device includes a baseboard management controller (BMC) and a basic input / output system (BIOS) program executor, and the BMC stores BIOS setting information. As shown in Figure 5 , the device 500 includes:

[0097] An acquiring module 510 is configured to acquire the BIOS setting information from the BMC after the BMC is started and before an operating system of the computing device is started.

[0098] A running module 520 is configured to run a BIOS program of the computing device based on the BIOS setting information, so as to complete BIOS setting of the computing device.

[0099] The functions of the functional modules of the device 500 can refer to the description of the method embodiments of Figure 2 , Figure 3 or Figure 4 as shown in the foregoing description, which will not be repeated here.

[0100] In some embodiments, the device 500 can be implemented in a software manner, for example, the device 500 can be a set of application programs contained in one or more chips on a motherboard.

[0101] In some embodiments, the apparatus 500 can be implemented in hardware. For example, the apparatus 500 can be one or more chips on a motherboard, which store a computer program and can execute the computer program to implement the method embodiments shown in Figure 2 , Figure 3 or Figure 4 .

[0102] The embodiments of the present application provide a computing device 600. As shown in Figure 6 , the computing device 600 includes a baseboard management controller (BMC) 610, a basic input output system (BIOS) program executor 620, and a processor 630, the BMC 610 stores BIOS setting information; wherein the executor 620 is configured to execute the operations performed by the BIOS program executor in the method embodiments shown in Figure 2 , Figure 3 or Figure 4 .

[0103] The embodiments of the present application further provide a computer readable storage medium, which stores a computer program, when the computer program is executed in a computer, the computer is caused to execute the method shown in Figure 4 .

[0104] The embodiments of the present application further provide a computer program product, which stores instructions, when the instructions are executed by a computer, the computer implements the method shown in Figure 4 .

[0105] Those skilled in the art can realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be realized in electronic hardware or in combination of computer software and electronic hardware. Whether the functions are realized in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to realize the described functions for each specific application, but such implementation should not be considered beyond the scope of the embodiments of the present application.

[0106] Moreover, various aspects or features of the embodiments disclosed herein can be implemented as a method, apparatus, or article of manufacture using standard programming and / or engineering techniques. The term "article of manufacture" as used herein is intended to encompass a computer program accessible from any computer- readable device, carrier, or media. For example, computer-readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips, etc.), optical disks (e.g., compact disk (CD), digital versatile disk (DVD), etc.), smart cards, and flash memory devices (e.g., EPROM, card, stick, or key drive, etc.). Additionally, various storage media described herein can represent one or more devices and / or other machine-readable media for storing information. The term "machine- readable medium" can include, without being limited to, wireless channels and various other media capable of storing, containing, and / or carrying instruction(s) and / or data.

[0107] In the embodiments described above, the computing device can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, the functions can be stored on or transmitted over as one or more computer program products. The computer program product can include one or more computer instructions. When the computer instructions are executed by a computer, the computer performs the functions described in the embodiments of the present application. The computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions can be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, such as from a website, a computer, a server, or a data center to another website, computer, server, or data center through a wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) medium. The computer readable storage medium can be any available medium or a combination of one or more available media that is accessible by a computer or a data storage device such as a server, data center, etc. that includes one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a compact disk (CD), a digital versatile disk (DVD)), or a semiconductor medium (e.g., a solid state disk (SSD)), etc.

[0108] It should be understood that the size of the serial number of the processes described above does not mean the execution order in various embodiments of the embodiments of the present application, and the execution order of the processes should be determined according to its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0109] Those skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working processes of the above-described system, device and unit can refer to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0110] In several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the above-described device embodiments are only schematic, for example, the division of the units is only a logical function division, and actual implementation can have another division manner, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some interface, device or unit, and can be electrical, mechanical or other forms.

[0111] The units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, that is, can be located in one place, or can be distributed on a plurality of network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiment scheme.

[0112] If the functions are realized in the form of software function units and sold or used as independent products, they can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the embodiments of the present application essentially or the parts that make contributions to the prior art or parts of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or an access network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various media that can store program codes.

[0113] The above is only a specific implementation of the embodiments of the present application, but the protection scope of the embodiments of the present application is not limited thereto, and any person skilled in the art can easily think of changes or replacements within the technical range disclosed in the embodiments of the present application, which should be covered in the protection scope of the embodiments of the present application.

Claims

1. A startup method, characterized in that, Applied to computing devices, the computing devices include a board management controller (BMC) and a basic input / output system (BIOS) program executor, wherein the BMC stores BIOS setting information; The motherboard of the computing device does not have a CMOS battery for powering the BIOS, and the method includes: After the BMC starts up and before the operating system of the computing device starts up, the executor obtains the BIOS setting information from the BMC; The actuator, based on the BIOS setting information, runs the BIOS program of the computing device to complete the BIOS settings of the computing device; and The actuator obtains the real-time clock (RTC) from the BMC; The actuator sets the RTC of the BIOS of the computing device according to the RTC obtained from the BMC; When the BMC does not have an RTC, the executor obtains the system time of the operating system, which is started without setting the RTC of the BIOS, and the system time is obtained by the operating system from the network; The actuator sets the RTC of the BIOS of the computing device according to the system time; The actuator updates the BIOS settings information and sends the updated BIOS settings information to the BMC; The BMC is used to record the updated BIOS settings information into a second configuration file and save the second configuration file.

2. The method according to claim 1, characterized in that, The BMC stores a first configuration file, which includes the BIOS settings information. The actuator obtains the BIOS setting information from the BMC, including: The actuator obtains the first configuration file from the BMC and obtains the BIOS setting information from the first configuration file.

3. The method according to claim 2, characterized in that, The executor obtaining the first configuration file from the BMC includes: if the first configuration file is valid, the executor obtaining the first configuration file from the BMC.

4. The method according to any one of claims 1-3, characterized in that, The BIOS settings include at least one of the following: boot parameters, administrator password, user password, and hard drive password; wherein, the boot parameters include at least one of the following: system partition and boot priority.

5. The method according to claim 1, characterized in that, The RTC obtained by the actuator from the BMC is the RTC obtained by the BMC from the NTP server or other devices, wherein the other devices are devices that are on the same local area network as the computing device and are in operation.

6. The method according to claim 1, characterized in that, The method further includes: The actuator sends the system time to the BMC, and the system time is used by the BMC to set the RTC of the BMC.

7. A starting device, characterized in that, The computing device is configured with a single-board management controller (BMC) and a basic input / output system BIOS program executor that executes the boot method as described in any one of claims 1 to 6. The BMC stores BIOS setting information, and the motherboard of the computing device does not have a CMOS battery for powering the BIOS.

8. A computing device, characterized in that, The computing device includes a board management controller (BMC) and a basic input / output system (BIOS) program executor, wherein the BMC stores BIOS setting information; and the executor is used to execute the method of any one of claims 1-6.

Citation Information

Patent Citations

  • BIOS configuring method, terminal and server

    CN107861760A

  • Time synchronization method and server

    CN112148065A

  • Information configuration method and device

    CN114237751A