A method and apparatus for determining a system boot mode

By storing recovery data in system memory and using guidance information to determine data integrity, the problem of the system failing to boot normally after firmware flashing was solved, enabling the system to boot quickly and reliably.

CN117608696BActive Publication Date: 2026-07-03LENOVO (BEIJING) LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
LENOVO (BEIJING) LTD
Filing Date
2023-11-29
Publication Date
2026-07-03

Smart Images

  • Figure CN117608696B_ABST
    Figure CN117608696B_ABST
Patent Text Reader

Abstract

This application provides a method and apparatus for determining a system startup mode. The method for determining the system startup mode includes: storing first data required during system recovery into memory; storing guidance information for retrieving the first data into a first memory, which is not in memory; in response to system startup, obtaining second data based on the guidance information; if the second data meets a preset condition, selecting to restart the system instead of restoring the system; wherein, meeting the preset condition indicates that the second data does not include the first data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of system startup technology, and in particular to a method and apparatus for determining a system startup mode. Background Technology

[0002] After the existing system firmware is flashed, the boot method involves storing the newly defined SS3 Variables in non-volatile memory. However, this approach has the following drawbacks:

[0003] If any unexpected events occur during the system restart and recovery process after the firmware upgrade is completed, such as an unexpected power outage or a cold start caused by various reasons, all memory data, including operating system data, will be lost. In this case, the Seamless S3 recovery process should be interrupted and the normal boot process should be entered.

[0004] However, since SS3 Variables are stored in non-volatile memory, their data will not be lost due to power failure or restart. As a result, the BIOS always thinks that the system is in the Seamless S3 process and always tries to start from the operating system's Wake Vector. However, due to the loss of operating system data, the operating system can no longer restore the system based on the Wake Vector, thus causing the device to be unable to enter the operating system and get stuck in an infinite loop. Summary of the Invention

[0005] This application provides a method for determining the system startup mode, including:

[0006] The first data required during the system recovery process is stored in memory;

[0007] The guidance information used to extract the first data is stored in the first memory, which is not in memory;

[0008] In response to system startup, second data is obtained based on the guidance information;

[0009] If the second data meets the preset conditions, then select to restart the system instead of restoring the system;

[0010] The condition of satisfying the preset condition indicates that the second data does not include the first data.

[0011] In some embodiments, the method further includes:

[0012] If the second data includes the first data, the system is restored based on the second data.

[0013] In some embodiments, the method further includes:

[0014] Based on the first data, a corresponding identifier is preset;

[0015] In response to obtaining the second data based on the guidance information, it is determined whether the second data includes the identifier;

[0016] If the second data does not include a preset identifier, it indicates that the second data satisfies the preset condition.

[0017] In some embodiments, the system includes a first system and a second system, the system firmware flashing is performed by the first system, and the method further includes:

[0018] When the first system completes the system firmware update, control is transferred to the second system;

[0019] The second system writes the first data into memory and presets a corresponding identifier based on the first data.

[0020] In some embodiments, the method further includes:

[0021] In response to obtaining the second data based on the guidance information, it is determined whether the second data can characterize the specified system state;

[0022] If the second data cannot characterize the specified system state, then the second data satisfies the preset condition.

[0023] Another embodiment of this application also provides a system startup mode determination device, including:

[0024] The first storage module is used to store the first data required during the system recovery process into memory;

[0025] The second storage module is used to store the guidance information for retrieving the first data into the first memory, which is not in memory.

[0026] The acquisition module is used to acquire second data based on the guidance information in response to system startup;

[0027] The first judgment module is used to select restarting the system instead of restoring the system when it is determined that the second data meets the preset conditions;

[0028] The condition of satisfying the preset condition indicates that the second data does not include the first data.

[0029] In some embodiments, the apparatus further includes:

[0030] The second judgment module is used to select a recovery system based on the second data when it is determined that the second data includes the first data.

[0031] In some embodiments, the apparatus further includes:

[0032] The setting module is used to preset the corresponding identifier based on the first data;

[0033] The third judgment module is used to respond to obtaining the second data based on the guidance information, and to determine whether the second data includes the identifier. If the second data does not include the preset identifier, it indicates that the second data meets the preset condition.

[0034] In some embodiments, the system includes a first system and a second system, wherein the system firmware update is performed by the first system, and the first system is further configured to:

[0035] Upon completion of the system firmware update, control is transferred to the second system;

[0036] The second system is used for:

[0037] Obtain the first data;

[0038] Write the first data into memory and preset a corresponding identifier based on the first data.

[0039] In some embodiments, the apparatus further includes:

[0040] The fourth judgment module is used to respond to the second data obtained based on the guidance information, and to determine whether the second data can represent the specified system state. If the second data cannot represent the specified system state, then the second data is characterized as meeting the preset conditions.

[0041] Another embodiment of this application also provides an electronic device, including:

[0042] At least one processor; and,

[0043] A memory that is communicatively connected to the at least one processor;

[0044] The memory stores instructions that can be executed by the at least one processor, and the instructions are configured to execute a method for determining the system startup mode as described in any of the embodiments above.

[0045] The features and advantages of this application will be set forth in the following description, and will be apparent in part from the description, or may be learned by practicing the application. The objectives and other advantages of this application may be realized and obtained by means of the structures particularly pointed out in the written description, claims, and drawings.

[0046] The technical solution of this application will be further described in detail below with reference to the accompanying drawings and embodiments. Attached Figure Description

[0047] To more clearly illustrate the technical solutions of the embodiments of this application, the 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.

[0048] Figure 1 This is a flowchart of the method for determining the system startup mode in an embodiment of this application.

[0049] Figure 2 This is a flowchart of the method for determining the system startup mode in an embodiment of this application.

[0050] Figure 3 The flowchart illustrates the application of the system startup method determination method in this application embodiment.

[0051] Figure 4 This is a structural block diagram of the system startup mode determination device in an embodiment of this application. Detailed Implementation

[0052] The specific embodiments of this application will now be described in detail with reference to the accompanying drawings, but these are not intended to limit the scope of this application.

[0053] It should be understood that various modifications can be made to the embodiments disclosed herein. Therefore, the following description should not be considered as limiting, but merely as an example of embodiments. Other modifications within the scope and spirit of this disclosure will be apparent to those skilled in the art.

[0054] The accompanying drawings, which are included in and form part of this specification, illustrate embodiments of the present disclosure and, together with the general description of the disclosure given above and the detailed description of the embodiments given below, serve to explain the principles of the disclosure.

[0055] These and other features of this application will become apparent from the following description of preferred forms of embodiments given as non-limiting examples, with reference to the accompanying drawings.

[0056] It should also be understood that although this application has been described with reference to some specific examples, those skilled in the art can certainly implement many other equivalent forms of this application, which have the features described in the claims and are therefore all within the scope of protection defined herein.

[0057] The above and other aspects, features and advantages of this disclosure will become more apparent when taken in conjunction with the accompanying drawings and in view of the following detailed description.

[0058] Specific embodiments of the present disclosure are described thereafter with reference to the accompanying drawings; however, it should be understood that the disclosed embodiments are merely examples of the present disclosure and can be implemented in various ways. Well-known and / or repeated functions and structures are not described in detail to avoid unnecessary or redundant details that could obscure the present disclosure. Therefore, the specific structural and functional details disclosed herein are not intended to be limiting, but merely to serve as the basis and representative basis for the claims to teach those skilled in the art to use the present disclosure in a variety of substantially any suitable detailed structures.

[0059] This specification may use the phrases “in one embodiment,” “in another embodiment,” “in yet another embodiment,” or “in still another embodiment,” all of which may refer to one or more of the same or different embodiments according to this disclosure.

[0060] The embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0061] like Figure 1 As shown in the embodiment of this application, a method for determining the system startup mode is provided, including:

[0062] S1: Store the first data required during the system recovery process into memory;

[0063] S2: Store the guidance information used to extract the first data into the first memory, which is not in memory;

[0064] S3: In response to system startup, obtain second data based on the guidance information;

[0065] S4: If the second data meets the preset conditions, select to restart the system instead of restoring the system;

[0066] The condition of satisfying the preset condition indicates that the second data does not include the first data.

[0067] For example, after an electronic device completes a firmware update, it stores the recovery data corresponding to the current system state in memory. This means it stores the first data required for system recovery in memory, because the system's recovery vector is stored in memory. This recovery vector guides the system to execute the system recovery process using the first data. When the electronic device experiences a power outage or other event causing a cold start, the data in memory is lost. Without the recovery vector, even if the system has the first data, it cannot complete system recovery. However, since the first data can always be obtained normally, the system can only execute the system recovery mode and cannot switch to the normal reboot mode, meaning the system cannot enter the operating system, severely impacting user access to the electronic device. To solve this problem, this embodiment proposes storing the first data and the recovery vector together in memory. This allows the recovery vector and the first data to coexist and be lost together. Based on this first data and recovery vector, the device can perform system recovery more quickly after a reboot, avoiding delays in user access, especially for servers after firmware updates. Based on this first data, the server system can start from the system state node corresponding to the first data, significantly saving system recovery time.

[0068] After the first data is stored in memory, to facilitate quick indexing of the first data during device startup, the device stores guidance information for finding and retrieving the first data in a first memory before startup. For example, the storage address information of the first data in memory is stored in the first memory. This first memory is not located in memory but in a non-volatile storage area, meaning that this guidance information will not be lost due to cold starts or power outages. This allows the device to proceed with the recovery process normally during startup; that is, it can continue executing the system recovery process to retrieve the first data. However, if the retrieved data does not include the first data, the device will not continue the system recovery process but will instead run the normal system startup process successfully.

[0069] For example, after the firmware update is complete and the first data is stored, the device will perform a system reboot. During the boot process, the device will obtain guidance information from the pre-defined first memory and retrieve data from the memory based on this guidance information. This data is the second data. The second data may be the same as the first data or it may be different. For example, when the system experiences a power outage or other factors that cause the system to perform a cold boot, the first data may be lost or otherwise missing. In this case, the second data retrieved by the device based on the guidance information does not include all of the first data, but rather other operational data. That is, the device cannot obtain the first data to complete the system recovery. Accordingly, the device will choose between two boot modes: system recovery and normal system startup. It will choose the boot mode that adapts to the current system state to complete the boot, instead of choosing the system recovery boot mode, to ensure that the device can boot successfully.

[0070] Based on the above solution, the method of this embodiment stores the first data used for system recovery in memory and the guidance information in the first memory. When the system starts, the device retrieves the guidance information from the first memory and retrieves the second data from memory based on the guidance information. The second data is then identified. If the second data does not contain the first data, the system restarts based on the normal startup process. In other words, the device makes a judgment based on whether the first data can be obtained and selects a startup method suitable for the current state. This effectively solves the problem in existing solutions where, after a system firmware update, the device only runs the system recovery process and cannot run the normal system restart process, thus preventing the device from completing the startup process. This ensures that the device can successfully start after a system firmware update.

[0071] Furthermore, the method also includes:

[0072] S5: If the second data includes the first data, restore the system based on the second data.

[0073] In other words, if the device obtains the second data and determines that the second data includes the first data, it can determine that it can obtain the data required to run the recovery system process, that is, it can execute the recovery system process. Therefore, the device will choose to run the recovery system process and directly execute the recovery system process based on the obtained second data to quickly complete the system recovery.

[0074] In other embodiments, the device obtains second data based on guidance information. To accurately identify and determine whether the second data meets preset conditions, i.e., whether it includes complete first data, the method further includes:

[0075] S6: Preset a corresponding identifier based on the first data;

[0076] S7: In response to obtaining the second data based on the guidance information, determine whether the second data includes the identifier;

[0077] S8: If the second data does not include a preset identifier, it indicates that the second data satisfies the preset condition.

[0078] The identifier serves an indicative function, indicating that the corresponding data is the first data. When presetting a corresponding identifier based on the first data, the specific method is not unique. The identifier can be a signature generated by performing a signature process on the first data, a tag added based on user-defined content, or a tag set for the attributes or characteristics of the first data, such as a tag named based on the functional attributes of the first data used for system recovery. The identifier can be encapsulated together with the first data, embedded in the first data, or used to name the data packets of the first data. For example, when storing the first data, the storage architecture of the first data can be set to include at least the identifier and the first data. When the device finds the corresponding data (i.e., the second data) based on the guidance information, it will identify and judge the second data. The specific identification method can be preset. This identification method depends on the generation method of the identifier and the storage relationship between the identifier and the first data. For example, if the identifier is generated by a signature, the identification is performed based on the method of restoring the signature. If the identifier is only combined and encapsulated with the first data, it can be directly identified. If the identifier is a target position embedded in the first data, the target position is determined in the first data, and it is identified whether the target position has an identifier. By identifying the identifier, the device can determine whether the second data has the identifier. If the identifier is not present, then the second data meets the preset condition, that is, the second data does not include the first data.

[0079] In another embodiment, if the device experiences a power outage, the data in memory may be lost. In this case, when the device retrieves the guidance information from the first memory and obtains the second data from the memory based on the guidance information, the second data may be "empty data" without any substantial content, that is, no data can be found. At this time, neither the identifier nor the second data exists. Therefore, the device can directly determine that the second data obtained based on the guidance information does not have an identifier and does not contain the first data. Accordingly, the device can select the boot method and complete the boot in a normal restart mode.

[0080] In another feasible embodiment, the system in the electronic device includes a first system and a second system. For example, the electronic device is a laptop computer, the first system is an operating system, and the second system is a basic input / output system, including but not limited to a BIOS. In this embodiment, the system firmware update is performed by the first system, which can update the firmware at the operating system level, such as updating applications or system functions, upgrading programs or functions, etc., and is not specifically limited. After the first system completes the firmware update, such as... Figure 2 As shown, the method further includes:

[0081] S9: In response to the first system completing the system firmware update, control is transferred to the second system;

[0082] S10: Write the first data into memory based on the second system, and preset a corresponding identifier based on the first data.

[0083] For example, after the first system completes the system firmware update, it transfers system control to the second system and enters a hibernation state. Upon obtaining the first data, the second system, after regaining control, generates the first data based on the current system state and writes it to a designated or randomly set area in memory. It also generates a corresponding identifier based on the first data, which indicates that the first data was written by the second system. Next, the second system determines the storage location of the first data in memory and generates guidance information based on that location, storing it in the first memory. At this point, the system startup preparation is complete, and the second system can execute the system startup process. The first memory can be a pre-defined area for storing the first data in the original recovery system program, or it can be a storage area set up separately from the original recovery system program; its specific location is not unique.

[0084] Before the second system completes the boot of the underlying hardware and enters the recovery phase of the first system, the second system retrieves guidance information from the first memory and obtains second data from the memory based on the guidance information. To determine whether the second data is the first data written by it before the system boots, the second system verifies whether the second data contains an identifier. If it does, it directly determines that the data is the first data written earlier, and the second system can then complete the recovery of the first system based on the first data to achieve the boot of this system. If it does not contain an identifier, it directly determines that the data does not include the second data, and the second system will choose to boot the system using the normal system restart method.

[0085] In another embodiment, such as Figure 3As shown, to ensure that the selected system startup method matches the current system state, and further to ensure that the selected system startup method can successfully complete this system startup without failure or abnormality, this embodiment also verifies the system state, involving methods including:

[0086] S11: In response to obtaining the second data based on the guidance information, determine whether the second data can characterize the specified system state;

[0087] S12: If the second data cannot characterize the specified system state, then the second data satisfies the preset condition.

[0088] For example, after obtaining the second data, the device will determine whether the second data contains data representing the system state corresponding to that data. That is, the system state information corresponding to the data when it was written into memory. Based on this state information, the device can determine whether the current system state can support system recovery based on the data. It can also determine whether the second data contains information representing the completeness of the data and belonging to the enable category, or whether the second data contains other information that can represent the second data matching the system when the firmware was previously flashed. If so, it can more reliably determine that when restoring the system based on the second data, the operation will be smooth and the result will be the expected structure, i.e., the system recovery and startup will be completed. However, if the above-mentioned data information is missing, or if the above-mentioned data information does not match the current system state, making it impossible for the current system to support running the second data (i.e., the system cannot successfully start after running the system recovery process based on the second data), then the system recovery process can be refused, and the normal startup process can be used to complete the system startup. The system mentioned here and the startup of the system mentioned above can refer to the startup of the operating system or the startup of the entire device system.

[0089] The above two judgment mechanisms are not limited to the combination of the two judgment mechanisms (e.g., Figure 3 (As shown), one of the following methods can be used: for example, determining whether the second data meets the preset conditions by judging whether it has a preset identifier, or determining whether the second data meets the preset conditions by judging whether the second data can represent the specified system state.

[0090] The method of this application is described below in conjunction with specific application scenarios:

[0091] Continue to combine Figure 3As shown, in the Intel Seamless Update scenario, to achieve rapid recovery of the operating system (OS) and its services after a system firmware update, or in other words, rapid startup of the entire device system, the operating system can achieve rapid recovery via S3 (Suspend to RAM / Resume from RAM). This means the operating system recovers through hibernation to complete the entire system startup process as quickly as possible. During recovery, the operating system in hibernation can complete the recovery / startup based on the operating system's wake vector. To distinguish this from the normal S3 (hibernation) process, Intel refers to this rapid recovery process as Seamless S3 and defines new related UEFI Variables (hereinafter referred to as SS3 Variables, i.e., first data) in the underlying input / output system. This allows the basic input / output system to identify the first data and mode parameters based on preset definitions, thus determining the Seamless S3 mode and the first data. Taking a computer as an example, in the above application scenario, after the operating system completes the firmware update, it hands over control to the basic input / output system (e.g., BIOS; the following explanation uses BIOS as an example) and then enters a hibernation state, corresponding to the S3 sleep SMI stage in the diagram. After gaining control, the BIOS stores SS3Variables in system memory and stores this memory address in the first memory in the form of a UEFI Variable (Name: "SS3Address") (the specific storage format is not unique; this address information forms the guiding information). The first memory is located, for example, in SPI flash memory. Simultaneously, the BIOS generates identifiers corresponding to the SS3 Variables based on preset information, such as 'S', 'S', '3', 'V', and encapsulates these identifiers and SS3 Variables based on a preset data structure. It also writes the current system status information and the enable status information of the SS3 Variables data into the aforementioned data structure.

[0092] Afterwards, the device system undergoes a warm reboot process. Once the BIOS completes the low-level boot, it obtains guidance information from the first memory and retrieves the second data from memory based on this guidance information. Next, the BIOS verifies and judges this second data. First, it checks if the second data contains a preset identifier. If so, it proceeds to the second authentication step; otherwise, it executes the normal operating system reboot process. During the second authentication step, the BIOS determines if the second data contains specified information describing the system state. Based on this, it determines whether the described system state is Seamless S3 and whether it matches the current system state. If both match, it executes the system recovery program based on SS3 Variables, such as booting and restoring the operating system from the operating system's recovery vector, completing the overall boot of the device system. If they do not match, it executes the normal boot process and performs a reboot.

[0093] like Figure 4 As shown, another embodiment of this application also provides a system startup mode determination device 100, including:

[0094] The first storage module is used to store the first data required during the system recovery process into memory;

[0095] The second storage module is used to store the guidance information for retrieving the first data into the first memory, which is not in memory.

[0096] The acquisition module is used to acquire second data based on the guidance information in response to the completion of system firmware update;

[0097] The first judgment module is used to select restarting the system instead of restoring the system when it is determined that the second data meets the preset conditions;

[0098] The condition of satisfying the preset condition indicates that the second data does not include the first data.

[0099] In some embodiments, the apparatus further includes:

[0100] The second judgment module is used to select a recovery system based on the second data when it is determined that the second data includes the first data.

[0101] In some embodiments, the apparatus further includes:

[0102] The setting module is used to preset the corresponding identifier based on the first data;

[0103] The third judgment module is used to respond to obtaining the second data based on the guidance information, and to determine whether the second data includes the identifier. If the second data does not include the preset identifier, it indicates that the second data meets the preset condition.

[0104] In some embodiments, the system includes a first system and a second system, wherein the system firmware update is performed by the first system, and the first system is further configured to:

[0105] In response to the first system completing the system firmware update, control is transferred to the second system;

[0106] The second system is used for:

[0107] Obtain the first data;

[0108] Write the first data into memory and preset a corresponding identifier based on the first data.

[0109] In some embodiments, the apparatus further includes:

[0110] The fourth judgment module is used to respond to the second data obtained based on the guidance information, and to determine whether the second data can represent the specified system state. If the second data cannot represent the specified system state, then the second data is characterized as meeting the preset conditions.

[0111] Another embodiment of this application also provides an electronic device, including:

[0112] At least one processor; and,

[0113] A memory that is communicatively connected to the at least one processor;

[0114] The memory stores instructions executable by the at least one processor, the instructions being configured to perform a heterogeneous resource allocation method for a crowd sensing system as described in any of the embodiments above.

[0115] Another embodiment of this application also provides a storage medium including a stored program, wherein, when the program is executed, a device including the storage medium is controlled to perform a heterogeneous resource allocation method for a crowd sensing system as described in any of the embodiments above.

[0116] This application also provides a computer program product, which is tangibly stored on a computer-readable medium and includes computer-readable instructions. When executed, these computer-executable instructions cause at least one processor to perform a heterogeneous resource allocation method for a crowdsourcing sensing system, as described in the embodiments above. It should be understood that the various solutions in this embodiment have the corresponding technical effects in the above-described method embodiments, and will not be repeated here.

[0117] It should be noted that the computer storage medium of this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. Computer-readable media can be, for example, but not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, or devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections with one or more wires, portable computer disks, hard disks, random access storage media (RAM), read-only storage media (ROM), erasable programmable read-only storage media (EPROM or flash memory), optical fibers, portable compact disk read-only storage media (CD-ROM), optical storage media, magnetic storage media, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media can also be any computer-readable medium other than computer-readable storage media, which can send, propagate, or transmit a program configured for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wireless, antenna, optical fiber, RF, etc., or any suitable combination thereof.

[0118] Those skilled in the art should understand that the discussion of any of the above embodiments is merely exemplary and is not intended to imply that the scope of protection of this application is limited to these examples; within the framework of this application, the technical features of the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other variations of different aspects of one or more embodiments of this application as described above, which are not provided in detail for the sake of brevity.

[0119] The above embodiments are merely exemplary embodiments of this application and are not intended to limit this application. The scope of protection of this application is defined by the claims. Those skilled in the art can make various modifications or equivalent substitutions to this application within its substance and scope of protection, and such modifications or equivalent substitutions should also be considered to fall within the scope of protection of this application.

Claims

1. A method for determining a system startup mode, comprising: The first data required during the system recovery process is stored in memory; The guidance information used to extract the first data is stored in the first memory, which is not in memory; In response to system startup, second data is obtained based on the guidance information; If the second data meets the preset conditions, then the system is restarted instead of restored. The preset conditions indicate that the second data does not include the first data.

2. The method for determining the system startup mode according to claim 1, the method further includes: If the second data includes the first data, the system is restored based on the second data.

3. The method for determining the system startup mode according to claim 1, the method further includes: Based on the first data, a corresponding identifier is preset; In response to obtaining the second data based on the guidance information, it is determined whether the second data includes the identifier; If the second data does not include a preset identifier, it indicates that the second data satisfies the preset condition.

4. The method for determining the system boot mode according to claim 3, wherein the system includes a first system and a second system, the system firmware update is performed by the first system, and the method further includes: When the first system completes the system firmware update, control is transferred to the second system; The second system writes the first data into memory and presets a corresponding identifier based on the first data.

5. The method for determining the system startup mode according to claim 1, the method further includes: In response to obtaining the second data based on the guidance information, it is determined whether the second data can characterize the specified system state; If the second data cannot characterize the specified system state, then the second data satisfies the preset condition.

6. A device for determining a system startup mode, comprising: The first storage module is used to store the first data required during the system recovery process into memory; The second storage module is used to store the guidance information for retrieving the first data into the first memory, which is not in memory. The acquisition module is used to acquire second data based on the guidance information in response to system startup; The first judgment module is used to select restarting the system instead of restoring the system when it is determined that the second data meets the preset conditions; The condition of satisfying the preset condition indicates that the second data does not include the first data.

7. The system startup mode determination device according to claim 6, the device further comprising: The second judgment module is used to select a recovery system based on the second data when it is determined that the second data includes the first data.

8. The system startup mode determination device according to claim 6, the device further comprising: The setting module is used to preset the corresponding identifier based on the first data; The third judgment module is used to respond to obtaining the second data based on the guidance information, and to determine whether the second data includes the identifier. If the second data does not include the preset identifier, it indicates that the second data meets the preset condition.

9. The system startup mode determination device according to claim 8, wherein the system comprises a first system and a second system, the system firmware update is performed by the first system, and the first system is further configured to: Upon completion of the system firmware update, control is transferred to the second system; The second system is used for: Obtain the first data; Write the first data into memory and preset a corresponding identifier based on the first data.

10. The system startup mode determination device according to claim 6, the device further comprising: The fourth judgment module is used to respond to the second data obtained based on the guidance information, and to determine whether the second data can represent the specified system state. If the second data cannot represent the specified system state, then the second data is characterized as meeting the preset conditions.