Basic input output system firmware upgrade method and electronic device
By performing structured transformation and difference processing on the current configuration data of the BIOS firmware, a target configuration file is generated for upgrading, which solves the problem of difficulty in preserving user configurations during BIOS firmware upgrades and achieves an efficient and accurate firmware upgrade process.
Patent Information
- Application Number
- CN202511231296.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-31
- Publication Date
- 2025-12-05
- Estimated Expiration
- 2045-08-31
AI Technical Summary
In existing technologies, it is difficult to retain user-customized configurations during BIOS firmware upgrades, leading to configuration errors and compatibility issues, affecting normal system startup and resulting in low efficiency.
By acquiring the current configuration data of the BIOS firmware, performing structured transformation, comparing it with the configuration data of the standard upgrade firmware, identifying the differences in configuration items, and generating the target configuration file for upgrade according to the difference processing rules, the user configuration is preserved and compatible.
This technology preserves user configurations during BIOS firmware upgrades, avoids configuration conflicts, improves the accuracy and automation of upgrades, and ensures system stability and efficiency.
Smart Images

Figure CN120704718B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of server technology, and in particular to a basic input / output system firmware upgrade method and electronic device. Background Technology
[0002] With the accelerating pace of server demand iterations, the update frequency of BIOS (Basic Input / Output System) has also increased significantly. In practical applications, users typically customize the BIOS according to their own business needs. During BIOS firmware upgrades, users generally expect their customized configurations to be retained. Relying on manual backup and recovery of configurations is not only cumbersome but also prone to errors due to human negligence, resulting in overall low efficiency. Although some related technologies now have configuration export and import functions, they still have significant shortcomings in handling the semantic evolution and changes in the scope of application of configuration items. When existing configuration items are deleted, renamed, or their parameter ranges are adjusted in new firmware versions, directly using related technologies for configuration migration often leads to compatibility issues, and in severe cases, may even cause the system to fail to boot, affecting business continuity.
[0003] Therefore, in view of the shortcomings of existing technical solutions, the present invention provides a basic input / output system firmware upgrade method. Summary of the Invention
[0004] This application provides a basic input / output system firmware upgrade method and electronic device to at least solve the firmware upgrade compatibility problem in related technologies.
[0005] This application provides a method for upgrading firmware of a Basic Input / Output System (BIOS). The method includes: obtaining current configuration data of the BIOS firmware; performing a structured transformation on the current configuration data to obtain a first configuration file; obtaining upgrade configuration data of a standard upgrade firmware for the BIOS to obtain a second configuration file; comparing the configuration parameters of the first configuration file and the configuration parameters of the second configuration file to determine the difference configuration items; processing the difference configuration items according to the difference processing rules to obtain a target configuration file; and upgrading the BIOS firmware according to the target configuration file.
[0006] This application also provides an electronic device, including: a memory for storing a computer program; and a processor for implementing the steps of any of the above-described basic input / output system firmware upgrade methods when executing the computer program.
[0007] This application also provides a computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, it implements the steps of any of the above-described basic input / output system firmware upgrade methods.
[0008] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of any of the above-described basic input / output system firmware upgrade methods.
[0009] This application achieves the following: by obtaining the current configuration data of the Basic Input / Output System (BIOS) firmware, performing a structured transformation on the current configuration data to obtain a first configuration file; obtaining the upgrade configuration data of the BIOS standard upgrade firmware to obtain a second configuration file; comparing the configuration parameters of the first configuration file and the second configuration file to determine the differing configuration items; processing the differing configuration items according to the difference processing rules to obtain a target configuration file; and performing the BIOS firmware upgrade based on the target configuration file. Therefore, it retains user configuration as much as possible, avoids upgrade failures or startup failures due to configuration conflicts, efficiently completes firmware upgrades, and improves accuracy and automation. Attached Figure Description
[0010] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0011] Figure 1 A schematic flowchart illustrating a firmware upgrade method for a basic input / output system provided in this application embodiment;
[0012] Figure 2 A schematic diagram of the upgrade process for a basic input / output system firmware upgrade method provided in this application embodiment;
[0013] Figure 3 A schematic diagram of a dual-partition upgrade process for a basic input / output system firmware upgrade method provided in this application embodiment;
[0014] Figure 4 A structural block diagram of a basic input / output system firmware upgrade device provided in this application embodiment;
[0015] Figure 5 This is an internal structural diagram of an electronic device provided in an embodiment of this application. Detailed Implementation
[0016] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.
[0017] It should be noted that, in the description of this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. The terms "first," "second," etc., in this application are used to distinguish similar objects and are not used to describe a specific order or sequence.
[0018] It should be noted that the terms "S1," "S2," etc., are used only for descriptive purposes and do not specifically refer to the order or sequence, nor are they intended to limit this application. They are merely for the convenience of describing the method of this application and should not be construed as indicating the sequential order of the steps. Furthermore, the technical solutions of the various embodiments can be combined with each other, but this must be based on the ability of those skilled in the art to implement them. When the combination of technical solutions is contradictory or impossible to implement, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection claimed in this application.
[0019] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0020] The embodiments of this application provide a firmware upgrade method for a basic input / output system. The method is described in detail below in conjunction with the execution flow of the basic input / output system firmware upgrade method.
[0021] S101: Obtain the current configuration data of the basic input / output system firmware, perform a structured transformation on the current configuration data, and obtain the first configuration file.
[0022] Here, the basic input / output system firmware is a set of core programs embedded in the motherboard memory chip in the computer system, responsible for key functions such as hardware initialization, system self-test, and operating system boot.
[0023] The configuration data may include system time, date, motherboard information, language settings, CPU (Central Processing Unit) configuration, memory settings, chipset and I / O (Input / Output) settings, control system boot order settings, control system boot method settings, security settings, power management, voltage and overclocking settings, and integrated peripheral settings. Specifically, CPU configuration may include enabling / disabling CPU dynamic frequency adjustment for power saving, adjusting the CPU multiplier, setting the CPU core voltage, enabling CPU sleep mode, and enabling virtualization support.
[0024] Here, structured transformation is used to convert the current configuration data into a file with the same format as the second configuration file so that both can be processed.
[0025] Structured conversion can be performed using tools, UEFI NVRAM parsing, or scripts.
[0026] For example, formatting conversion can be used to convert binary configurations into structured JSON / XML format.
[0027] S102: Obtain the upgrade configuration data of the basic input / output system standard upgrade firmware to obtain the second configuration file.
[0028] Here, the basic input / output system standard upgrade firmware is the upgrade firmware without configuration migration.
[0029] S103: Compare the configuration parameters of the first configuration file and the configuration parameters of the second configuration file to determine the differences in configuration items.
[0030] Specifically, the differences in configuration items can be determined by comparing the configuration parameters of each configuration item in the first configuration file with the corresponding configuration item in the second configuration file.
[0031] S104: Process the difference configuration items according to the difference processing rules to obtain the target configuration file, and perform basic input / output system firmware upgrade according to the target configuration file.
[0032] Here, the difference handling rules can be different for different difference configuration items.
[0033] The target configuration file includes the configuration of the basic input / output system standard upgrade firmware and the processed difference configuration items. The processed difference configuration items can be obtained from the current configuration data through methods such as retention and mapping.
[0034] Specifically, the target upgrade firmware is obtained based on the target configuration file and firmware template, and the BIOS is upgraded using the target upgrade firmware.
[0035] It should be noted that this application retains user configuration as much as possible, avoids upgrade or startup failures due to configuration conflicts, efficiently completes firmware upgrades, and improves accuracy and automation.
[0036] In some specific implementations, the current configuration data of the basic input / output system firmware is obtained, and the current configuration data is structured to obtain a first configuration file, including:
[0037] Parse the basic input / output system firmware and locate the configuration data area of the basic input / output system firmware based on the configuration area identifier;
[0038] The configuration data in the configuration data area is structured and transformed using a conversion tool to obtain the first configuration file.
[0039] The configuration region identifier can be a Setup Module GUID.
[0040] The conversion tool can be IFR (Internal Forms Representation) to XML.
[0041] Specifically, the configuration block is located by parsing the Setup Module GUID in the header of the current firmware BIOS module, and a structured configuration file is generated using the IFR to XML conversion tool.
[0042] In this way, the originally closed, binary configuration logic can be transformed into readable, analyzable, and programmable structured data.
[0043] In some specific implementations, based on the configuration parameters, the configuration parameters of the first configuration file and the configuration parameters of the second configuration file are compared to determine the differing configuration items, including:
[0044] Identify user configuration items based on preset identifiers in the first configuration file;
[0045] Compare the configuration parameters of the user configuration items in the first configuration file with the configuration parameters of the corresponding user configuration items in the second configuration file to determine the differences in configuration items.
[0046] The default flag can be Non-Default.
[0047] Specifically, when a user modifies the configuration, the modified configuration item is marked as Non-Default in real time. During BIOS firmware upgrades, the different configuration items are identified directly through the Non-Default identifier.
[0048] Specifically, after determining that a configuration item is a differential configuration item, the configuration parameters of the differential configuration item can be compared according to the configuration item name, data type, value range and configuration value to determine the type of the differential configuration item, and then processed according to the differential processing rules.
[0049] In this way, different configuration items can be quickly identified through preset identifiers.
[0050] In some specific implementations, comparing the configuration parameters of the first configuration file and the configuration parameters of the second configuration file to determine the differing configuration items further includes:
[0051] Retrieve the first configuration parameters of multiple configuration items in the first configuration file, where the configuration parameters include the configuration item name, data type, value range, and configuration value;
[0052] Retrieve the second configuration parameters of multiple configuration items in the second configuration file;
[0053] Compare the first and second configuration parameters of multiple configuration items to determine the type of the differing configuration items.
[0054] The types of differential configuration items can include new configuration items, obsolete configuration items, modified configuration items, conflicting configuration items, and compatibility risk configuration items.
[0055] In one embodiment, after determining the difference configuration item by a preset identifier, the type of the difference configuration item can be determined by comparing the first configuration parameter and the second configuration parameter of multiple difference configuration items.
[0056] In some specific implementations, comparing the first and second configuration parameters of multiple configuration items to determine the type of the differing configuration item further includes:
[0057] Get the configuration item name in the first configuration parameter. If the configuration item name does not exist in the second configuration parameter, determine that the configuration item corresponding to the configuration parameter is the first difference configuration item.
[0058] When a configuration item name exists in the second configuration parameter, the data types in the first configuration parameter and the second configuration parameter are compared.
[0059] In response to data inconsistencies, the configuration item corresponding to the configuration parameter is determined as the second difference configuration item;
[0060] When the data types are consistent, compare the parameter ranges in the first configuration parameter and the parameter ranges in the second configuration parameter;
[0061] When the parameter ranges are consistent, the configuration item corresponding to the configuration parameter is determined as the second difference configuration item;
[0062] In response to inconsistent parameter ranges, determine whether the configuration value in the first configuration parameter is within the parameter range of the second configuration parameter;
[0063] If the configuration value in the first configuration parameter is within the parameter range of the second configuration parameter, the configuration item corresponding to the configuration parameter is determined to be the third difference configuration item;
[0064] If the configuration value in the first configuration parameter is not within the parameter range of the second configuration parameter, the configuration item corresponding to the configuration parameter is determined to be the fourth difference configuration item;
[0065] Obtain the configuration item name from the second configuration parameter. If the configuration item name does not exist in the first configuration parameter, determine that the configuration item corresponding to the configuration parameter is the fifth difference configuration item.
[0066] Here, the first difference configuration item can be an obsolete configuration item, meaning that the configuration item only exists in the first configuration file and not in the second configuration file.
[0067] Here, the second difference configuration item can be a conflicting configuration item, that is, the configuration items have the same name but different data types. For example, "SecureBoot" changes from a boolean type to an enumeration type.
[0068] Here, the third difference configuration item can be a modified configuration item, that is, the configuration item name is the same, the parameter range has changed, and the current configuration value falls into the updated parameter range.
[0069] Here, the fourth difference configuration item can be a compatibility risk configuration item, that is, the configuration item name is the same, the parameter range has changed, and the current configuration value does not fall within the updated parameter range.
[0070] Here, the fifth difference configuration item can be a newly added configuration item, that is, it only exists in the second configuration file and not in the first configuration file.
[0071] Specifically, the configuration parameters of each configuration item in the first configuration file and the second configuration file are compared in turn. First, the configuration items in the first configuration file are obtained, and then the matching configuration items in the second configuration file are obtained. After all the configuration items in the first configuration file have been compared, the unmatched configuration items in the second configuration file are obtained.
[0072] This allows for accurate identification of configuration change types and improves analysis efficiency.
[0073] In some specific implementations, the difference configuration items are processed according to the difference processing rules to obtain the target configuration file, including:
[0074] In response to the first difference configuration item being the first difference configuration item, the first difference configuration item is updated according to the preset mapping table to obtain the configuration item in the target configuration file;
[0075] When mapping cannot be performed through the preset mapping table, the first difference configuration item is updated to the default value and an alarm log is generated to obtain the configuration item in the target configuration file;
[0076] In response to the differential configuration item being the second differential configuration item, construct the decision elements;
[0077] Adjust the weights of decision-making factors based on historical data and user needs;
[0078] Based on the decision elements and weights, the scores of the second difference configuration items in the first configuration parameter and the second difference configuration items in the second configuration parameter are calculated and compared.
[0079] Use the second highest-scoring difference configuration item as the configuration item in the target configuration file;
[0080] In response to the fact that the difference configuration item is the third difference configuration item, the configuration item in the target configuration file is determined based on the first configuration parameter;
[0081] In response to the fact that the difference configuration item is the fourth difference configuration item, the parameter range in the second configuration parameter and the configuration value in the first configuration parameter are obtained;
[0082] By using a linear interpolation formula, the configuration values in the first configuration parameter are mapped to the parameter range in the second configuration parameter to determine the configuration items in the target configuration file;
[0083] In response to the fifth differential configuration item, the configuration items in the target configuration file are determined based on the second configuration parameter.
[0084] Here, multiple processing rules can be combined into a multi-layered rule engine.
[0085] Among them, the first difference configuration item is replaced by a function based on a dynamic mapping table.
[0086] Specifically, the configuration items in the first configuration file are replaced with functionally equivalent configuration items according to the preset mapping table. The system automatically finds alternative items or generates compatibility warnings. If mapping is not possible, the default value of the configuration item in the second configuration file is used as the configuration value and an alarm log is generated.
[0087] For example, suppose the boot method in the first configuration file is Legacy Boot, and the second configuration file removes this method and changes it to UEFI Boot With CSM. If there is a preset mapping table rule, the old configuration item Legacy Boot = Enabled will be replaced with UEFI Boot with CSM=Enabled according to the mapping table. If there is no preset mapping table rule, the old item will be removed, replaced with the new option and default value, and a compatibility warning will be generated (e.g., configuration item).<Legacy Boot> (Obsted and with no alternative).
[0088] The second differential configuration item is processed using a weighted decision tree adjudication method.
[0089] The decision-making factors may include the source of the strategy, compliance risks, performance impact, and user history behavior.
[0090] Among them, the weight ratio of each decision element can be automatically adjusted based on the historical conflict resolution effect (such as the stability of the system after the decision).
[0091] Specifically, the weight ratio can be dynamically adjusted according to user needs.
[0092] Specifically, for the third difference configuration item, the configuration item in the first configuration file can be used as the configuration item in the target configuration file.
[0093] The fourth difference configuration item can be processed through linear interpolation formula mapping.
[0094] Specifically, based on the parameter range mapping, the configuration values in the first configuration file are proportionally mapped to the parameter range in the second configuration file. The new configuration value can be obtained using the formula NewValue = (OldValue - OldMin) / (OldMax - OldMin) * (NewMax - NewMin) + NewMin.
[0095] For example, in the first configuration file, the user sets "CPU temperature threshold = 95℃", but in the second configuration file, due to changes in the heat dissipation design, the maximum temperature is limited to 90℃. The system performs parameter adaptation: 95℃ → 90℃, and generates logs.
[0096] Specifically, for the fifth difference configuration item, the configuration item in the second configuration file can be used as the configuration item in the target configuration file.
[0097] In one embodiment, it may further include: constructing a dependency graph based on configuration parameters, configuration item read / write dependencies, logical dependencies, binding relationships between configuration items and hardware resources, and service cascading dependencies; and processing the differential configuration items based on the dependency graph and in conjunction with differential processing rules.
[0098] Specifically, static configuration definitions are obtained by parsing firmware header files, which are used to extract configuration parameters of configuration items. Configuration access relationships are obtained through static code analysis, which are used to capture read and write dependencies of configuration items. Dynamic code records the access stack of configuration items to obtain runtime call chains, which are used to obtain implicit logical dependencies. Hardware resource mapping tables are obtained through device tree or chip manual parsing, which are used to establish the binding relationship between configuration items and hardware resources. Service startup dependencies are obtained by analyzing systemed units or initialization scripts, which are used to identify service cascading dependencies.
[0099] For example, when processing the first difference configuration item, the mapping table is combined with the dependency graph to obtain the mapping value of the first difference configuration item. When processing the fourth difference configuration item, the upstream and downstream relationships of the difference configuration item can be quickly identified through the dependency graph as a decision factor. In this way, the accuracy of configuration migration can be improved.
[0100] In this way, configuration lifecycle management is automated, cross-version compatibility is guaranteed, and a dynamic balance between security and flexibility is achieved.
[0101] In some specific implementations, the score of the second difference configuration item in the first configuration parameter and the score of the second difference configuration item in the second configuration parameter are calculated and compared based on the decision elements and weights, including:
[0102] Determine the priority of the second difference configuration item;
[0103] In response to the fact that the second difference configuration item belongs to the first priority, obtain the security configuration parameters corresponding to the second difference configuration item;
[0104] Calculate the scores for the security configuration parameters based on the decision-making factors and weights;
[0105] Compare the scores of the security configuration parameters, the scores of the second difference configuration items in the first configuration parameters, and the scores of the second difference configuration items in the second configuration parameters.
[0106] The first priority category includes configuration items corresponding to security policies. Specifically, the priority category may also include configuration items corresponding to security performance and configuration items corresponding to user interface preferences.
[0107] For example, assuming the configuration item is CPU overclocking, configuration value A in the first configuration file represents aggressive overclocking, configuration value B in the second configuration file represents allowing basic overclocking, and configuration value C in the security configuration parameter represents disabling overclocking. Decision factors include policy source, compliance risk, performance impact, and user history behavior, with weight coefficients of 0.6, 0.2, 0.15, and 0.05 for each factor. The policy source scores for A, B, and C are 0.3, 0.7, and 1.0, respectively; the compliance risk scores are 0 (non-compliant), 0.8 (compliant), and 0.8 (compliant); the performance impact scores are 0.8 (performance gain), 0.7 (performance balance), and 0 (performance loss); and the user history scores are 0.9 (frequent modifications), 0.3 (occasional modifications), and 0 (no history). According to the formula, the score for A is 0.345, the score for B is 0.7, and the score for C is 0.76. Therefore, the security configuration parameter is selected as the configuration parameter for the configuration item in the target configuration file.
[0108] In one embodiment, the weighting coefficients are optimized based on feedback from historical decision results. For example, if an enterprise frequently overrides security policies due to performance requirements, the weight of compliance risk is automatically increased.
[0109] In some specific implementations, the method further includes, prior to upgrading the basic input / output system firmware according to the target configuration file:
[0110] Obtain the target configuration file and perform conflict configuration detection on the target configuration file;
[0111] The test results are sent to the user so that the user can determine the appropriate course of action.
[0112] Specifically, the target configuration file is obtained, a migration simulation is pre-executed locally, the configuration is checked, a compatibility report is generated, and the user is prompted about the differences between the target configuration file and the first configuration file, allowing the user to determine whether to agree to the modification; if there are critical conflicts, the user is notified in advance to interrupt the upgrade or confirm the handling method.
[0113] In this way, configuration risks are exposed in advance, avoiding failures during the upgrade process.
[0114] In some specific implementations, the basic input / output system firmware is upgraded according to the target configuration file, including:
[0115] The target upgrade firmware is obtained based on the target configuration file and the preset firmware template;
[0116] Create a primary partition and a secondary partition, with the primary partition running the Basic Input / Output System firmware;
[0117] Write the target upgrade firmware to the spare partition, and perform a basic input / output system firmware upgrade based on the target upgrade firmware.
[0118] In response to an upgrade failure, an automatic rollback is triggered, restoring the firmware in the spare partition to the basic input / output system firmware.
[0119] Here, valid partitions are distinguished by identifiers. Specifically, the SPI Flash reserved area storage status identifier: 0x55AA indicates a valid primary partition, and 0xAA55 indicates a valid spare partition.
[0120] Specifically, during BIOS upgrade, the target upgrade firmware is written to the backup partition. If the upgrade is successful, the system attempts to boot from the backup partition. If boot is successful, the SPI Flash status identifier is updated (changing 0x55AA to 0xAA55), and the primary and backup partitions are switched. If the primary / backup switch is successful, the original primary partition is erased and a rollback image is written. The status identifier is updated, and the original primary partition is updated to the backup partition. If the upgrade fails (firmware flashing failure / boot timeout / POST verification error), the status identifier is restored to 0x55AA, invalid firmware in the backup partition is cleared, automatic rollback is triggered, and the backup partition is restored to the basic input / output system firmware.
[0121] This dual-partition design ensures that the system automatically rolls back to an available version in case of upgrade failure, reducing the problem of devices failing to boot due to upgrade interruptions and significantly improving operational efficiency and system reliability.
[0122] In one embodiment, the upgrade process may further include: S1, when the user modifies the configuration, automatically marking all non-default values, converting the binary configuration into structured JSON / XML format after modification, extracting key parameters to compare with the configuration definition files of the old and new firmware, and identifying new / deprecated / modified / conflicting / compatibility risk items; S2, modifying the options that differ between the old and new versions according to the version difference modification rules; S3, extracting the configuration template of the new firmware, performing a migration simulation locally, generating a compatibility report, prompting the user with inconsistent information, and notifying the user in advance to interrupt the upgrade or confirm the handling method if there is a key conflict; S4, adopting a dual-partition design, writing the new firmware to the backup partition and migrating the configuration during the upgrade, switching to the primary partition after successful verification, and automatically rolling back to the last available version if it fails.
[0123] In one embodiment, Figure 2 This is a schematic diagram of the upgrade process in the embodiments of this application, such as Figure 2As shown, the upgrade process in this application includes: obtaining the current firmware file, receiving user-modified configurations, marking user configuration items, parsing them into an A.xml file, obtaining the standard upgrade firmware file, parsing it into a B.xml file, comparing the A.xml file and the B.xml file to obtain configuration differences, modifying the configuration according to version differences to obtain the target configuration file, obtaining the target upgrade firmware file according to the firmware template, generating a compatibility report, prompting whether to upgrade, and if yes, performing the upgrade; otherwise, ending the upgrade.
[0124] In one embodiment, Figure 3 This is a schematic diagram of the dual-partition upgrade process in an embodiment of this application, as shown below. Figure 3 As shown, the dual-partition upgrade process in this application includes: upgrading the backup partition version A to version B, checking whether the upgrade is successful, if not, reverting the backup partition to version A, if yes, checking the primary partition version, if the primary partition version is B, ending the upgrade, if the primary partition version is A, switching the backup partition to the running partition, checking whether the switch is successful, if yes, running partition version B, if not, switching the running partition version A to the backup partition.
[0125] It should be understood that, although Figures 1-3 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figures 1-3 At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.
[0126] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method.
[0127] Embodiments of this application also provide a basic input / output system firmware upgrade apparatus. The cloud platform includes deployment nodes and at least one base node. The apparatus includes: a first processing module 401, used to acquire the current configuration data of the basic input / output system firmware, and perform a structured transformation on the current configuration data to obtain a first configuration file; a second processing module 402, used to acquire the upgrade configuration data of the basic input / output system standard upgrade firmware to obtain a second configuration file; a third processing module 403, used to compare the configuration parameters of the first configuration file and the configuration parameters of the second configuration file to determine the difference configuration items; and a fourth processing module 404, used to process the difference configuration items according to the difference processing rules to obtain a target configuration file, and perform a basic input / output system firmware upgrade according to the target configuration file.
[0128] As a preferred implementation, in this embodiment of the application, the first processing module 401 is specifically used to: parse the basic input / output system firmware, locate the configuration data area of the basic input / output system firmware according to the configuration area identifier, and perform structured conversion on the configuration data in the configuration data area through a conversion tool to obtain a first configuration file.
[0129] As a preferred implementation, in this embodiment of the application, the third processing module 403 is specifically used to: identify user configuration items according to the preset identifier in the first configuration file; compare the configuration parameters of the user configuration items in the first configuration file with the configuration parameters of the corresponding user configuration items in the second configuration file to determine the difference configuration items.
[0130] As a preferred implementation, in this embodiment of the application, the third processing module 403 is specifically used to: obtain the first configuration parameters of multiple configuration items in the first configuration file, wherein the configuration parameters include configuration item name, data type, value range and configuration value; obtain the second configuration parameters of multiple configuration items in the second configuration file; compare the first configuration parameters and the second configuration parameters of the multiple configuration items to determine the type of the difference configuration item.
[0131] In a preferred embodiment of this application, the third processing module 403 is further configured to: obtain the configuration item name in the first configuration parameter; when the configuration item name does not exist in the second configuration parameter, determine the configuration item corresponding to the configuration parameter as the first difference configuration item; when the configuration item name exists in the second configuration parameter, compare the data type in the first configuration parameter and the data type in the second configuration parameter; when the data types are inconsistent, determine the configuration item corresponding to the configuration parameter as the second difference configuration item; when the data types are consistent, compare the parameter range in the first configuration parameter and the parameter range in the second configuration parameter; when the parameter range is consistent... When the configuration parameter is inconsistent, the configuration item corresponding to the configuration parameter is determined as the second difference configuration item; when the parameter range is inconsistent, it is determined whether the configuration value in the first configuration parameter is within the parameter range of the second configuration parameter; if the configuration value in the first configuration parameter is within the parameter range of the second configuration parameter, the configuration item corresponding to the configuration parameter is determined as the third difference configuration item; if the configuration value in the first configuration parameter is not within the parameter range of the second configuration parameter, the configuration item corresponding to the configuration parameter is determined as the fourth difference configuration item; the configuration item name in the second configuration parameter is obtained, and when the configuration item name does not exist in the first configuration parameter, the configuration item corresponding to the configuration parameter is determined as the fifth difference configuration item.
[0132] In a preferred implementation, in this embodiment, the fourth processing module 404 is specifically configured to: in response to a first differential configuration item being a differential configuration item, update the first differential configuration item according to a preset mapping table to obtain the configuration item in the target configuration file; in response to the inability to map through the preset mapping table, update the first differential configuration item to a default value and generate an alarm log to obtain the configuration item in the target configuration file; in response to a second differential configuration item being a differential configuration item, construct decision elements; adjust the weights of the decision elements according to historical data and user needs; and calculate the score of the second differential configuration item in the first configuration parameter and the score of the first differential configuration item according to the decision elements and weights. The scores of the second difference configuration items in the two configuration parameters are compared; the second difference configuration item with the higher score is selected as the configuration item in the target configuration file; in response to the difference configuration item being the third difference configuration item, the configuration item in the target configuration file is determined based on the first configuration parameter; in response to the difference configuration item being the fourth difference configuration item, the parameter range in the second configuration parameter and the configuration value in the first configuration parameter are obtained; the configuration value in the first configuration parameter is mapped to the parameter range in the second configuration parameter using a linear interpolation formula to determine the configuration item in the target configuration file; in response to the difference configuration item being the fifth difference configuration item, the configuration item in the target configuration file is determined based on the second configuration parameter.
[0133] In a preferred embodiment of this application, the fourth processing module 404 is further configured to: determine the priority of the second differential configuration item; in response to the second differential configuration item belonging to the first priority, obtain the security configuration parameter corresponding to the second differential configuration item; calculate the score of the security configuration parameter according to the decision elements and weights; and compare the score of the security configuration parameter with the score of the second differential configuration item in the first configuration parameter and the score of the second differential configuration item in the second configuration parameter.
[0134] In a preferred embodiment of this application, the device further includes a detection module, which is specifically used for: obtaining a target configuration file, performing conflict configuration detection on the target configuration file, and sending the detection results to the user for the user to determine the processing method.
[0135] In a preferred embodiment of this application, the fourth processing module 404 is further configured to: obtain a target upgrade firmware based on a target configuration file and a preset firmware template; create a primary partition and a backup partition, wherein the primary partition runs the basic input / output system firmware; write the target upgrade firmware to the backup partition, and perform a basic input / output system firmware upgrade based on the target upgrade firmware; and, in response to an upgrade failure, trigger an automatic rollback to restore the firmware in the backup partition to the basic input / output system firmware.
[0136] For a description of the features in the embodiment corresponding to the basic input / output system firmware upgrade device, please refer to the relevant description in the embodiment corresponding to the basic input / output system firmware upgrade method, which will not be repeated here.
[0137] Embodiments of this application also provide an electronic device, which may be a terminal, and its internal structure diagram may be as follows: Figure 5 As shown, the electronic device includes a processor, memory, network interface, display screen, and input devices connected via a system bus. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The network interface is used to communicate with external terminals via a network connection. When the computer program is executed by the processor, it implements a basic input / output system firmware upgrade method. The display screen can be a liquid crystal display (LCD) or an e-ink display. The input devices can be a touch layer covering the display screen, buttons, a trackball, or a touchpad mounted on the device's casing, or an external keyboard, touchpad, or mouse.
[0138] Those skilled in the art will understand that Figure 5The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the electronic device to which the present application is applied. The specific electronic device may include more or fewer components than shown in the figure, or combine certain components, or have different component arrangements.
[0139] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it performs the following steps: S1: Obtaining current configuration data of the Basic Input / Output System (BIOS) firmware, performing a structured transformation on the current configuration data to obtain a first configuration file; S2: Obtaining upgrade configuration data of the BIOS standard upgrade firmware to obtain a second configuration file; S3: Comparing the configuration parameters of the first configuration file and the configuration parameters of the second configuration file to determine the difference configuration items; S4: Processing the difference configuration items according to the difference processing rules to obtain a target configuration file, and performing a BIOS firmware upgrade based on the target configuration file.
[0140] In one embodiment, when the processor executes the computer program, it further performs the following steps: parsing the basic input / output system firmware, locating the configuration data area of the basic input / output system firmware according to the configuration area identifier, and performing a structured transformation on the configuration data in the configuration data area using a conversion tool to obtain a first configuration file.
[0141] In one embodiment, when the processor executes the computer program, it further performs the following steps: identifying user configuration items according to a preset identifier in a first configuration file; comparing the configuration parameters of the user configuration items in the first configuration file with the configuration parameters of the corresponding user configuration items in the second configuration file to determine the difference configuration items.
[0142] In one embodiment, when the processor executes the computer program, it further performs the following steps: obtaining first configuration parameters for multiple configuration items in a first configuration file, wherein the configuration parameters include configuration item name, data type, value range, and configuration value; obtaining second configuration parameters for multiple configuration items in a second configuration file; and comparing the first configuration parameters and second configuration parameters of the multiple configuration items to determine the type of the differing configuration items.
[0143] In one embodiment, when the processor executes the computer program, it further performs the following steps: obtaining the configuration item name in the first configuration parameter; in response to the absence of a configuration item name in the second configuration parameter, determining the configuration item corresponding to the configuration parameter as a first differential configuration item; in response to the presence of a configuration item name in the second configuration parameter, comparing the data types in the first configuration parameter and the second configuration parameter; in response to the data types being inconsistent, determining the configuration item corresponding to the configuration parameter as a second differential configuration item; in response to the data types being consistent, comparing the parameter range in the first configuration parameter and the parameter range in the second configuration parameter; in response to the parameter ranges being consistent, determining the configuration item corresponding to the configuration parameter as a second differential configuration item; in response to the parameter ranges being inconsistent, determining whether the configuration value in the first configuration parameter is within the parameter range of the second configuration parameter; if the configuration value in the first configuration parameter is within the parameter range of the second configuration parameter, determining the configuration item corresponding to the configuration parameter as a third differential configuration item; if the configuration value in the first configuration parameter is not within the parameter range of the second configuration parameter, determining the configuration item corresponding to the configuration parameter as a fourth differential configuration item; obtaining the configuration item name in the second configuration parameter; in response to the absence of a configuration item name in the first configuration parameter, determining the configuration item corresponding to the configuration parameter as a fifth differential configuration item.
[0144] In one embodiment, when the processor executes the computer program, it further performs the following steps: in response to a first differential configuration item being a different configuration item, updating the first differential configuration item according to a preset mapping table to obtain the configuration item in the target configuration file; in response to the inability to map through the preset mapping table, updating the first differential configuration item to a default value and generating an alarm log to obtain the configuration item in the target configuration file; in response to a second differential configuration item being a different configuration item, constructing decision elements; adjusting the weights of the decision elements according to historical data and user needs; and calculating the score of the second differential configuration item and the second configuration item in the first configuration parameter according to the decision elements and weights. The system calculates and compares the scores of the second difference configuration items in the parameters; it selects the second difference configuration item with the higher score as the configuration item in the target configuration file; in response to the difference configuration item being the third difference configuration item, it determines the configuration item in the target configuration file based on the first configuration parameter; in response to the difference configuration item being the fourth difference configuration item, it obtains the parameter range in the second configuration parameter and the configuration value in the first configuration parameter; it maps the configuration value in the first configuration parameter to the parameter range in the second configuration parameter using a linear interpolation formula to determine the configuration item in the target configuration file; in response to the difference configuration item being the fifth difference configuration item, it determines the configuration item in the target configuration file based on the second configuration parameter.
[0145] In one embodiment, when the processor executes the computer program, it further performs the following steps: determining the priority of the second differential configuration item; in response to the second differential configuration item belonging to the first priority, obtaining the security configuration parameter corresponding to the second differential configuration item; calculating the score of the security configuration parameter according to the decision elements and weights; and comparing the score of the security configuration parameter with the score of the second differential configuration item in the first configuration parameter and the score of the second differential configuration item in the second configuration parameter.
[0146] In one embodiment, when the processor executes the computer program, it also performs the following steps: obtaining a target configuration file, performing conflict configuration detection on the target configuration file, and sending the detection results to the user so that the user can determine the handling method.
[0147] In one embodiment, when the processor executes the computer program, it further performs the following steps: obtaining a target upgrade firmware based on a target configuration file and a preset firmware template; creating a primary partition and a backup partition, wherein the primary partition runs the basic input / output system firmware; writing the target upgrade firmware to the backup partition and performing a basic input / output system firmware upgrade based on the target upgrade firmware; and in response to an upgrade failure, triggering an automatic rollback to restore the firmware in the backup partition to the basic input / output system firmware.
[0148] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon. When the computer program is executed by a processor, it performs the following steps: S1: Obtaining the current configuration data of the Basic Input / Output System (BIOS) firmware, performing a structured transformation on the current configuration data to obtain a first configuration file; S2: Obtaining the upgrade configuration data of the BIOS standard upgrade firmware to obtain a second configuration file; S3: Comparing the configuration parameters of the first configuration file and the configuration parameters of the second configuration file to determine the difference configuration items; S4: Processing the difference configuration items according to the difference processing rules to obtain a target configuration file, and performing a BIOS firmware upgrade based on the target configuration file.
[0149] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: parsing the basic input / output system firmware, locating the configuration data area of the basic input / output system firmware according to the configuration area identifier, and performing a structured transformation on the configuration data in the configuration data area using a transformation tool to obtain a first configuration file.
[0150] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: identifying user configuration items according to a preset identifier in a first configuration file; comparing the configuration parameters of the user configuration items in the first configuration file with the configuration parameters of the corresponding user configuration items in the second configuration file to determine the difference configuration items.
[0151] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: obtaining first configuration parameters for multiple configuration items in a first configuration file, wherein the configuration parameters include configuration item name, data type, value range, and configuration value; obtaining second configuration parameters for multiple configuration items in a second configuration file; and comparing the first configuration parameters and second configuration parameters of the multiple configuration items to determine the type of the differing configuration items.
[0152] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: obtaining the configuration item name in the first configuration parameter; in response to the absence of a configuration item name in the second configuration parameter, determining the configuration item corresponding to the configuration parameter as a first differential configuration item; in response to the presence of a configuration item name in the second configuration parameter, comparing the data types in the first configuration parameter and the second configuration parameter; in response to the data types being inconsistent, determining the configuration item corresponding to the configuration parameter as a second differential configuration item; in response to the data types being consistent, comparing the parameter range in the first configuration parameter and the parameter range in the second configuration parameter; in response to the parameter ranges being consistent, determining the configuration item corresponding to the configuration parameter as a second differential configuration item; in response to the parameter ranges being inconsistent, determining whether the configuration value in the first configuration parameter is within the parameter range of the second configuration parameter; if the configuration value in the first configuration parameter is within the parameter range of the second configuration parameter, determining the configuration item corresponding to the configuration parameter as a third differential configuration item; if the configuration value in the first configuration parameter is not within the parameter range of the second configuration parameter, determining the configuration item corresponding to the configuration parameter as a fourth differential configuration item; obtaining the configuration item name in the second configuration parameter; in response to the absence of a configuration item name in the first configuration parameter, determining the configuration item corresponding to the configuration parameter as a fifth differential configuration item.
[0153] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: in response to a first differential configuration item, updating the first differential configuration item according to a preset mapping table to obtain the configuration item in the target configuration file; in response to the inability to map through the preset mapping table, updating the first differential configuration item to a default value and generating an alarm log to obtain the configuration item in the target configuration file; in response to a second differential configuration item, constructing decision elements; adjusting the weights of the decision elements according to historical data and user needs; and calculating the score of the second differential configuration item and the second configuration item in the first configuration parameter according to the decision elements and weights. The system calculates and compares the scores of the second difference configuration items in the parameters; it selects the second difference configuration item with the higher score as the configuration item in the target configuration file; in response to the difference configuration item being the third difference configuration item, it determines the configuration item in the target configuration file based on the first configuration parameter; in response to the difference configuration item being the fourth difference configuration item, it obtains the parameter range in the second configuration parameter and the configuration value in the first configuration parameter; it maps the configuration value in the first configuration parameter to the parameter range in the second configuration parameter using a linear interpolation formula to determine the configuration item in the target configuration file; in response to the difference configuration item being the fifth difference configuration item, it determines the configuration item in the target configuration file based on the second configuration parameter.
[0154] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: determining the priority of the second differential configuration item; in response to the second differential configuration item belonging to the first priority, obtaining the security configuration parameter corresponding to the second differential configuration item; calculating the score of the security configuration parameter according to the decision elements and weights; and comparing the score of the security configuration parameter with the score of the second differential configuration item in the first configuration parameter and the score of the second differential configuration item in the second configuration parameter.
[0155] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: obtaining the target configuration file, performing conflict configuration detection on the target configuration file, and sending the detection results to the user for the user to determine the handling method.
[0156] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: obtaining a target upgrade firmware based on a target configuration file and a preset firmware template; creating a primary partition and a backup partition, wherein the primary partition runs the basic input / output system firmware; writing the target upgrade firmware to the backup partition and performing a basic input / output system firmware upgrade based on the target upgrade firmware; and in response to an upgrade failure, triggering an automatic rollback to restore the firmware in the backup partition to the basic input / output system firmware.
[0157] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0158] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0159] The above embodiments are merely illustrative of several implementation methods of this application, and their descriptions are relatively specific and detailed. However, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application.
Claims
1. A basic input / output system firmware upgrade method, characterized by, The method comprises: obtaining current configuration data of basic input output system firmware, structurally converting the current configuration data to obtain a first configuration file; obtaining upgrade configuration data of basic input output system standard upgrade firmware to obtain a second configuration file; comparing configuration parameters of the first configuration file with configuration parameters of the second configuration file to determine a difference configuration item; processing the difference configuration item according to a difference processing rule to obtain a target configuration file, and performing the basic input output system firmware upgrade according to the target configuration file; wherein the comparing the configuration parameters of the first configuration file with the configuration parameters of the second configuration file to determine the difference configuration item further comprises: obtaining first configuration parameters of a plurality of configuration items in the first configuration file, wherein the configuration parameters comprise a configuration item name, a data type, a value range and a configuration value; obtaining second configuration parameters of a plurality of configuration items in the second configuration file; comparing the first configuration parameters of the plurality of configuration items with the second configuration parameters to determine a type of the difference configuration item; wherein the processing the difference configuration item according to the difference processing rule to obtain the target configuration file comprises: in response to the difference configuration item being a first difference configuration item, updating the first difference configuration item according to a preset mapping table to obtain a configuration item in the target configuration file; in response to being unable to map through the preset mapping table, updating the first difference configuration item to a default value and generating an alarm log to obtain a configuration item in the target configuration file; in response to the difference configuration item being a second difference configuration item, constructing a decision element, wherein the decision element comprises a policy source, a compliance risk, a performance impact and a user historical behavior; adjusting weights of the decision element according to historical data and user demand; calculating scores of the second difference configuration item in the first configuration parameters and scores of the second difference configuration item in the second configuration parameters according to the decision element and the weights and comparing the scores; taking the second difference configuration item with a higher score as a configuration item in the target configuration file; in response to the difference configuration item being a third difference configuration item, determining a configuration item in the target configuration file according to the first configuration parameter; in response to the difference configuration item being a fourth difference configuration item, obtaining a parameter range in the second configuration parameter and a configuration value in the first configuration parameter; mapping the configuration value in the first configuration parameter to the parameter range in the second configuration parameter through a linear interpolation formula to determine a configuration item in the target configuration file; in response to the difference configuration item being a fifth difference configuration item, determining a configuration item in the target configuration file according to the second configuration parameter.
2. The method of claim 1, wherein the updating of the BIOS firmware is performed by a BIOS update program. The obtaining the current configuration data of the basic input output system firmware, and structurally converting the current configuration data to obtain the first configuration file comprises: parsing the basic input output system firmware, and locating a configuration data region of the basic input output system firmware according to a configuration region identifier; The configuration data in the configuration data area is structurally converted by a conversion tool to obtain the first configuration file.
3. The method of claim 1, wherein the updating of the BIOS firmware is performed by a BIOS update program. The comparing the configuration parameters of the first configuration file and the configuration parameters of the second configuration file to determine the difference configuration item includes: According to a preset identifier in the first configuration file, a user configuration item is identified. The configuration parameters of the user configuration item of the first configuration file are compared with the configuration parameters of the corresponding user configuration item in the second configuration file to determine the difference configuration item.
4. The method of claim 1, wherein the updating of the BIOS firmware is performed by a BIOS update program. The comparing the first configuration parameters of the plurality of configuration items and the second configuration parameters to determine the type of the difference configuration item further includes: The configuration item name in the first configuration parameter is obtained, and in response to the configuration item name not existing in the second configuration parameter, it is determined that the configuration item corresponding to the configuration parameter is a first difference configuration item. In response to the configuration item name existing in the second configuration parameter, the data type in the first configuration parameter is compared with the data type in the second configuration parameter. In response to the data types being inconsistent, it is determined that the configuration item corresponding to the configuration parameter is a second difference configuration item. In response to the data types being consistent, the parameter range in the first configuration parameter is compared with the parameter range in the second configuration parameter. In response to the parameter ranges being consistent, it is determined that the configuration item corresponding to the configuration parameter is a second difference configuration item. In response to the parameter ranges being inconsistent, it is judged whether the configuration value in the first configuration parameter is in the parameter range of the second configuration parameter. If the configuration value in the first configuration parameter is in the parameter range of the second configuration parameter, it is determined that the configuration item corresponding to the configuration parameter is a third difference configuration item. If the configuration value in the first configuration parameter is not in the parameter range of the second configuration parameter, it is determined that the configuration item corresponding to the configuration parameter is a fourth difference configuration item. The configuration item name in the second configuration parameter is obtained, and in response to the configuration item name not existing in the first configuration parameter, it is determined that the configuration item corresponding to the configuration parameter is a fifth difference configuration item.
5. The method of claim 1, wherein the updating of the BIOS firmware is performed by a BIOS update program. The comparing the score of the second difference configuration item in the first configuration parameter and the score of the second difference configuration item in the second configuration parameter according to the decision element and the weight includes: It is judged whether the second difference configuration item belongs to a first priority. In response to the second difference configuration item belonging to the first priority, the safety configuration parameter corresponding to the second difference configuration item is obtained. According to the decision element and the weight, the score of the safety configuration parameter is calculated. The scores of the safety configuration parameter, the second difference configuration item in the first configuration parameter, and the second difference configuration item in the second configuration parameter are compared.
6. The method of claim 1, wherein the BIOS firmware upgrade is performed by a BIOS upgrade application. Before the basic input / output system firmware is upgraded according to the target configuration file, the method further includes: The target configuration file is obtained, and conflict configuration detection is performed on the target configuration file. The detection result is sent to a user for the user to determine a processing mode.
7. The method of claim 1, wherein the BIOS firmware upgrade is performed by a BIOS upgrade tool. The basic input / output system firmware is upgraded according to the target configuration file, including: According to the target configuration file and a preset firmware template, a target upgrade firmware is obtained; A main partition and a backup partition are created, wherein the basic input output system firmware runs in the main partition; The target upgrade firmware is written into the backup partition, and the basic input output system firmware is upgraded according to the target upgrade firmware; In response to an upgrade failure, an automatic rollback is triggered, and the firmware in the backup partition is restored to the basic input output system firmware.
8. An electronic device, comprising: The method comprises the steps of: a memory for storing a computer program; a processor for executing the computer program to implement the steps of the basic input output system firmware upgrade method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Object selection method and device, storage medium and electronic equipment
CN110533485A
Version updating method, device and equipment of baseboard management controller, and medium
CN117742764A
Middleware deployment method, system and equipment based on hardware parameter weight and medium
CN118916045A