How to set up basic input and output system functions
By pre-storing scripts and EFI files in the storage device, the servo system automatically executes the settings of BIOS functions, solving the problem of low efficiency of manual BIOS settings in the existing technology and realizing automatic and fast BIOS configuration.
Patent Information
- Application Number
- CN202110032322.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-01-11
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2041-01-11
AI Technical Summary
The prior art requires multiple manual changes to BIOS settings during the testing process, which wastes time and can easily lead to boot failures due to operational errors, especially in more complex BIOS settings such as DCPMM Configuration in servo systems.
By pre-storing script files and EFI files in a storage device, the servo system automatically searches and loads the corresponding EFI file according to the hotkey content when starting self-test, and executes basic input and output system functions, including modification or update of BIOS functions.
It realizes the automated BIOS setting process, reduces manual operations, improves efficiency, avoids operational errors, and simplifies the servo system startup process.
Smart Images

Figure CN114764497B_ABST
Abstract
Description
Technical field
[0001] The present invention relates to a setting method, and more particularly to a time-saving and efficient method for setting basic input / output system functions. [Background Technology]
[0002] During computer system development, meeting the test unit's measurement signal requirements often requires multiple modifications to basic input / output system (BIOS) settings or registers. The current approach involves manually modifying the BIOS code to create multiple versions of test BIOS code for use by the test unit. However, test units often perform cycle testing, requiring repeated manual modifications and re-creation of the code for similar modifications, wasting development time. In servo systems, complex BIOS settings (such as DCPMM configuration) are particularly prone to boot failures due to operational errors. Therefore, providing a time-saving and efficient method for setting BIOS configurations has become an unresolved issue. [Summary of the invention]
[0003] The technical problem to be solved by the present invention is to provide a time-saving and efficient method for setting basic input and output system functions.
[0004] To solve the above technical problems, the present invention provides a method for setting basic input / output system functions, which is applicable to a storage device and a servo system and includes steps (A) to (D).
[0005] In step (A), when the servo system performs a power-on self-test (POST), it is determined whether the storage device is communicatively connected.
[0006] In step (B), when the server system determines that the storage device is communicatively connected, it determines whether the storage device stores a script file with a default name.
[0007] In step (C), after the server system determines that the storage device stores the script file that matches the default name, it enters a ready to boot phase and confirms whether a hot key content is received.
[0008] In step (D), when the servo system is in the boot-up preparation phase, the servo system executes at least one basic input / output system (BIOS) function corresponding to the hotkey content according to the hotkey content received before the boot-up preparation phase.
[0009] Preferably, in step (D), the servo system first determines whether the hotkey content matches a preset content, and then executes the at least one BIOS function corresponding to the hotkey content.
[0010] Preferably, in step (D), the server system searches the script file for an EFI (Extensible Firmware Interface) file name corresponding to the hotkey content, and then executes the at least one BIOS function corresponding to the hotkey content.
[0011] Preferably, in step (D), the servo system loads the EFI file based on the searched EFI file name corresponding to the hotkey content and determines that the storage device stores an EFI file corresponding to the EFI file name, thereby executing the at least one basic input and output system function corresponding to the hotkey content.
[0012] Preferably, in step (D), after searching the EFI file name corresponding to the hotkey content in the script file and determining that an administrator password is set to be enabled, the server system loads and executes the EFI file, and then executes the at least one basic input and output system function corresponding to the hotkey content.
[0013] Preferably, in step (D), after searching the EFI file name corresponding to the hotkey content in the script file and determining that an administrator password is set to be not enabled, the server system does not load the EFI file, and further does not execute the at least one basic input and output system function corresponding to the hotkey content according to the EFI file.
[0014] Preferably, in step (D), after searching the EFI file name corresponding to the hotkey content in the script file, and determining that an administrator password is set to be enabled and an input password matches the administrator password within a predetermined number of times, the servo system loads and executes the EFI file, thereby executing the at least one basic input and output system function corresponding to the hotkey content.
[0015] Preferably, in step (D), after searching the script file for the EFI file name corresponding to the hotkey content, and determining that the administrator password is set to be enabled and the input password does not match the administrator password within the predetermined number of times, the server system does not load the EFI file, and further does not execute the at least one basic input and output system function corresponding to the hotkey content according to the EFI file.
[0016] Compared to the prior art, the present invention pre-stores the script file and multiple EFI files in the storage device, so that during the startup self-test process, the servo system can search the script file for the EFI file name corresponding to the hotkey content received, and then open and load the EFI file to execute the corresponding at least one basic input and output system function.
Brief Description of the Drawings
[0017] Other features and effects of the present invention will be clearly presented in the embodiments with reference to the accompanying drawings, in which:
[0018] Figure 1 is a block diagram illustrating a servo system and a storage device to which the method for setting basic input / output system functions of the present invention is applicable; and
[0019] Figure 2 This is a flow chart illustrating an embodiment of a method for setting basic input / output system functions according to the present invention. [Specific implementation method]
[0020] Before the present invention is described in detail, it should be noted that similar components are denoted by the same reference numerals in the following description.
[0021] See Figure 1 and Figure 2 An embodiment of a method for configuring basic input / output system functions of the present invention is applicable to a storage device 2 and a server system 1, and includes steps S1 to S9. In this embodiment, the storage device 2 is a local universal serial bus (USB) flash drive. The server system 1 is, for example, a server host, and includes a processing unit, such as a central processing unit. The USB flash drive can be plugged into a USB connector of the server host to form an electrical connection with the central processing unit.
[0022] In step S1, the servo system 1 is powered on. Then, step S2 is executed.
[0023] In step S2, the processing unit of the server system 1 loads a basic input / output system (BIOS) program code to execute a boot process. While executing the BIOS program code to perform a power-on self-test (POST) of the boot process, the processing unit of the server system 1 determines whether the storage device 2 is in communication with the processing unit, that is, whether the USB flash drive is electrically connected to the processing unit. If the connection is established, step S3 is executed. If the connection is not established, step S9 is executed.
[0024] In step S3, the processing unit of the server system 1 determines whether the storage device 2 (i.e., the USB flash drive) stores a script file with a preset name. For example, the preset name of the script file is "Automation_Feature.txt." If it is determined that the script file is stored, step S4 is executed. If it is determined that the script file is not stored, step S9 is executed.
[0025] In step S4, the processing unit of the server system 1 executes the BIOS program code to cause the server system 1 to enter a ready-to-boot phase of the boot process and detect whether a hotkey content is received. In other words, the server system 1 detects a key of an input device electrically coupled to it, such as an input key on a keyboard, as the hotkey. The hotkey can also be a physical key on the housing panel of the server system 1 electrically coupled to the processing unit, or a numeric key displayed on a touch panel on the housing panel of the server system 1 electrically coupled to the processing unit. The following uses the keyboard as an example of the input device. The keyboard sends a keyboard trigger signal in response to the hot key being triggered. For example, when the hot key is triggered, the keyboard sends a key code corresponding to the hot key (e.g., 001, 010, 011, etc., hereinafter 001 is used as an example). The processing unit of the servo system 1 also obtains the corresponding hot key content (e.g., A, B, C, etc., hereinafter A is used as an example) according to the key code 001 due to the hot key being triggered. Specifically, after the servo system 1 enters the ready to boot phase, it determines whether the hot key content was received before entering the ready to boot phase. In other words, whether the hot key content (e.g., A) was received between the time the servo system 1 is powered on and the time it enters the ready to boot phase. If it is determined that the hot key content was received, step S5 is executed. If it is determined that the hot key content was not received, step S9 is executed. In addition, in step S4 , the processing unit may also sequentially receive a plurality of identical or different hotkey contents, or a combination of a plurality of identical and a plurality of different hotkey contents.
[0026] In step S5, the processing unit of the servo system 1 determines whether the hotkey content (e.g., A) matches the preset content. When it is determined that it matches, the script file is opened and step S6 is executed. When it is determined that it does not match, step S9 is executed. The preset content is stored in the BIOS program code in the form of parameters, or in a memory electrically coupled to the processing unit in the form of set values, wherein the preset content includes at least one default hotkey message (e.g., A, B, C, hotkey A, hotkey B, hotkey C...), and when the hotkey content (e.g., A) matches any default hotkey message (e.g., hotkey A), it is determined that the hotkey content matches the preset content.
[0027] In step S6, the server system 1 determines whether the script file conforms to a preset format. If so, step S7 is executed. If not, step S9 is executed. For example, the script file contains the following: "A," "B," and "C" are the three default hotkey messages included in the preset content.
[0028]
[0029] In step S7, the processing unit of server system 1 searches the script file for an EFI file corresponding to the hotkey content and determines whether the storage device 2 (i.e., the USB flash drive) stores an EFI file corresponding to the EFI file name. If it is, step S8 is executed. If it is not, step S9 is executed. Continuing with the previous example, for example, if the hotkey content is "C," the EFI file name is "Auto_Create_DCPMM_Namespace."
[0030] In step S8, the processing unit of the server system 1 executes at least one BIOS function contained in the EFI file corresponding to the hotkey content and continues the boot process. Each BIOS function can be a modification of a BIOS configuration, the addition or replacement of a program code corresponding to the BIOS function, or a different configuration of hardware within the server system 1.
[0031] It should be specifically noted that in other embodiments, the EFI file corresponding to the hotkey content may also selectively integrate the program code or parameters corresponding to the EFI file into the BIOS program code and store them in a non-volatile memory based on the storage attributes of the EFI file. More specifically, the EFI file may have a permanent storage attribute or a temporary storage attribute. When the EFI file corresponding to the hotkey content has a permanent storage attribute, the program code or parameters corresponding to the EFI file may be integrated into the BIOS program code and stored in a volatile memory (e.g., DIMM memory) and a non-volatile memory (e.g., BIOS flash). The EFI file may also include location information indicating a corresponding location in the BIOS program code. When the processing unit executes the at least one BIOS function included in the EFI file corresponding to the hotkey content, the program code or parameter value included in the EFI file may be added or updated and integrated into the corresponding location in the BIOS program code based on the location information. Thus, when the BIOS program code is executed during the current boot (from the DIMM) or after the system is restarted (from the BIOS flash), the processing unit of the server system 1 will execute the BIOS program code modified, integrated, and stored according to the EFI file. If the EFI file corresponding to the hotkey content has a temporary storage attribute, the program code or parameters corresponding to the EFI file will be integrated into the BIOS program code and stored in the volatile memory (e.g., DIMM memory). Thus, when the BIOS program code is executed during the current boot (from the DIMM), the processing unit of the server system 1 will execute the BIOS program code modified, integrated, and stored according to the EFI file. However, after the server system 1 is restarted, since the BIOS program code in the non-volatile memory (e.g., BIOS flash) has not been changed, the processing unit of the server system 1 will only execute the BIOS program code that has not been integrated by the EFI file.
[0032] In step S9 , the server system 1 continues to execute the boot process with the original BIOS settings.
[0033] It should be noted that in this embodiment, the storage device 2 is, for example, a local Universal Serial Bus (USB) flash drive electrically connected to the server system 1, and the USB flash drive serves as a USB key. In other embodiments, the storage device 2 may also be a local hard drive electrically connected to the server system 1, or a remote hard drive or another USB flash drive connected to the server system 1 via a network, and may be replaced as a virtual device. Furthermore, in other embodiments, step S7 may be supplemented with the following determination sub-steps: after the processing unit of the server system 1 loads the EFI file and determines that an administrator password is set to disabled, step S9 is executed; after the processing unit of the server system 1 loads the EFI file and determines that the administrator password is set to enabled, if an input password matches the administrator password within a predetermined number of times, step S8 is executed; after the server system 1 loads the EFI file and determines that the administrator password is set to enabled, if the input password does not match the administrator password within the predetermined number of times, step S9 is executed. The predetermined number of times is, for example, three.
[0034] In summary, by pre-storing the script file and multiple EFI files in the storage device 2, during the startup self-test process, the server system 1 can search the script file for the EFI file name corresponding to the hotkey content received, and then open and load the EFI file to execute the corresponding setting of the at least one BIOS configuration or the addition or update of the program code of the at least one BIOS function. This allows general users to easily edit the BIOS program code currently executed by the processing unit during startup in a more flexible and diverse manner, and can selectively make permanent BIOS program code changes, thereby effectively achieving the objectives of the present invention.
[0035] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any modifications or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be based on the scope of protection of the claims.
Claims
1. A method for setting basic input / output system functions, applicable to a storage device and a servo system, characterized in that: Include: (A) when the servo system executes a basic input / output system program code to perform a startup self-test of a boot process, determining whether the storage device is communicatively connected; (B) when the server system determines that the storage device is communicatively connected, determining whether the storage device stores a script file having a default name; (C) when the server system determines that the storage device stores the script file matching the default name, it enters a boot preparation phase and confirms whether a hotkey content is received; and (D) When the servo system is in the preparation-for-boot phase, based on the hotkey content received before the preparation-for-boot phase, the servo system searches for an EFI file name corresponding to the hotkey content in the script file, and when it is determined that the storage device stores an EFI file corresponding to the EFI file name, the servo system loads the EFI file, and then executes at least one BIOS function contained in the EFI file corresponding to the hotkey content, wherein one of the BIOS functions is an addition or update replacement of a section of program code corresponding to the BIOS, wherein the EFI file further includes position information, and the position information indicates a corresponding position in the BIOS program code. When the servo system executes the at least one BIOS function contained in the EFI file corresponding to the hotkey content, the servo system adds or updates the program code or parameter value contained in the EFI file to the corresponding position in the BIOS program code according to the position information.
2. The method for setting basic input / output system functions according to claim 1, wherein: In step (D), the servo system first determines whether the hotkey content matches the preset content, and then executes the at least one basic input and output system function corresponding to the hotkey content.
3. The method for setting basic input / output system functions according to claim 1, wherein: In step (D), after searching the EFI file name corresponding to the hotkey content in the script file and determining that an administrator password is set to be enabled, the server system loads and executes the EFI file, thereby executing the at least one basic input and output system function corresponding to the hotkey content.
4. The method for setting basic input / output system functions according to claim 1, wherein: In step (D), after searching the script file for the EFI file name corresponding to the hotkey content and determining that an administrator password is set to be disabled, a processing unit of the server system does not load the EFI file, and further does not execute the at least one basic input and output system function corresponding to the hotkey content according to the EFI file.
5. The method for setting basic input / output system functions according to claim 1, wherein: In step (D), after searching the script file for the EFI file name corresponding to the hotkey content, and determining that an administrator password is set to be enabled and an input password matches the administrator password within a predetermined number of times, the server system loads and executes the EFI file, thereby executing the at least one basic input and output system function corresponding to the hotkey content.
6. The method for setting basic input / output system functions according to claim 5, wherein: In step (D), after searching the script file for the EFI file name corresponding to the hotkey content, and determining that the administrator password is set to be enabled and the input password does not match the administrator password within the predetermined number of times, a processing unit of the server system does not load the EFI file, and further does not execute the at least one basic input and output system function corresponding to the hotkey content according to the EFI file.
Citation Information
Patent Citations
System and method for managing multiple bios default configurations
CN105404525A
Security authentication method based on a security computer
CN109800554A
Method and server for remote launching deployment utility
TW201729123A