Interface generation method and device, equipment and storage medium
By dynamically parsing the settings interface data of the device through the interface generation system, a personalized target settings interface can be generated, which solves the problem of cumbersome operation caused by the complexity of the firmware settings interface, realizes efficient and flexible user interface configuration, and improves user experience and system adaptability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- TAIWAN LENOVO GLOBAL TECH CO LTD
- Filing Date
- 2025-12-25
- Publication Date
- 2026-04-24
AI Technical Summary
The existing firmware has a complex settings interface, making it difficult for users to quickly find and adjust frequently used settings. This is especially true when only a few settings need to be modified, as users have to browse through a lot of irrelevant content, resulting in cumbersome and inefficient operation.
A method for generating interfaces is provided, which acquires user-selected settings interface data in real time through an interface generation device, dynamically generates the target settings interface, and uses settings identification information and manual interaction interface operation codes, combined with configuration browsing components and form addition protocol interfaces, to achieve cross-form interface integration and personalized display, avoiding modification of original files or recompiling firmware.
It simplifies the user operation process, improves configuration efficiency, supports quick access to frequently used settings, reduces multi-level menu navigation, enhances user experience and system flexibility, and reduces development and maintenance costs.
Smart Images

Figure CN121918918A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to an interface generation method, apparatus, device, and computer-readable storage medium. Background Technology
[0002] Firmware settings interfaces are crucial tools for configuring hardware and system parameters during the boot process of electronic devices. As device functionality becomes increasingly complex, the number of firmware settings has also increased significantly, typically including dozens to hundreds of configuration options distributed across multiple category pages. This structure makes it difficult for users to find and adjust frequently used settings, especially when only a few critical settings need modification. Users still have to browse through a large amount of irrelevant content, making the process cumbersome and inefficient. Summary of the Invention
[0003] This application provides an interface generation method, apparatus, device, and computer-readable storage medium.
[0004] The technical solution of this application embodiment is implemented as follows: This application provides an interface generation method, the method including: In response to the electronic device entering the firmware settings interface, select at least one setting item from the firmware settings interface; Retrieve the settings interface data corresponding to each setting item from the form set corresponding to each settings interface; Based on the settings interface data, generate and display the target settings interface corresponding to at least one settings item in real time.
[0005] In the above interface generation method, the interface data corresponding to each setting item is obtained from the form set corresponding to each setting interface, including: in response to switching to the interface display custom mode, obtaining the setting identifier information corresponding to each setting item; for each setting item, using the corresponding setting identifier information, traversing the form set corresponding to each setting interface to obtain the corresponding setting item interface data; the setting item interface data is the pre-compiled form set preset format data in the form set.
[0006] In the above interface generation method, the setting identification information includes setting interface identification information, setting item identification information, and setting option identification information.
[0007] In the above-described interface generation method, based on the setting item interface data, at least one target setting interface is generated and displayed in real time, including: generating a human interaction interface operation code that matches the setting item interface data, and inserting it into a preset target form set in a fixed form; the preset target form set is a set of forms set for the target setting interface; registering the preset target form set, and generating the target setting interface corresponding to the preset target form set based on the human interaction interface operation code, and rendering and displaying it.
[0008] In the above-described interface generation method, the target settings interface corresponding to the preset target form set is generated based on the manual interaction interface operation code. This includes: using a configuration browsing component to parse the internal form representation data in the preset target form set to obtain the parsed interface data; and generating the target settings interface corresponding to the parsed data based on the manual interaction interface operation code.
[0009] In the above interface generation method, registering a preset target form set includes: writing the preset target form set into a preset form set database through a form set addition protocol interface; the form sets stored in the preset form set database can generate corresponding settings interfaces.
[0010] The interface generation method described above further includes: obtaining user profile information and determining the corresponding setting item group based on the user profile information; generating the corresponding user settings interface for the setting item group; and displaying the user settings interface in response to the electronic device starting up.
[0011] This application provides an interface generation apparatus, including: The selection module is used to select at least one setting item from the firmware settings interface in response to the electronic device entering the firmware settings interface. The acquisition module is used to acquire the interface data of each setting item from the form set corresponding to each setting interface. The generation and display module is used to generate and display the target settings interface corresponding to at least one setting item in real time based on the settings interface data.
[0012] This application provides an interface generation device, which includes: Memory is used to store executable instructions or computer programs. A processor, when executing computer-executable instructions or computer programs stored in memory, implements the methods provided in the embodiments of this application.
[0013] This application provides a computer-readable storage medium storing a computer program or computer-executable instructions, which, when executed by a processor, implements the interface generation method provided in this application.
[0014] This application provides a computer program product, including a computer program or computer executable instructions. When the computer program or computer executable instructions are executed by a processor, they implement the interface generation method provided in this application. Attached Figure Description
[0015] Figure 1 This is a flowchart illustrating an interface generation method provided in an embodiment of this application; Figure 2 This is an exemplary flowchart illustrating how to enable secure boot provided by related technologies; Figure 3 This is a schematic diagram of a process for initiating secure boot according to an embodiment of this application; Figure 4 This is a schematic diagram illustrating an exemplary process for obtaining settings interface data, provided in an embodiment of this application. Figure 5 This is a schematic diagram illustrating an exemplary process for obtaining setting identifier information corresponding to a setting item, provided in an embodiment of this application. Figure 6 This is an exemplary flowchart of displaying a target settings interface provided in an embodiment of this application. Figure 1 ; Figure 7 This is an exemplary flowchart illustrating the process of determining a preset target form set, provided in an embodiment of this application. Figure 8 This is an exemplary flowchart of displaying a target settings interface provided in an embodiment of this application. Figure 2 ; Figure 9 This is a schematic diagram of an exemplary process for generating a target settings interface, provided in an embodiment of this application. Figure 10 This is a schematic flowchart illustrating an exemplary display of a user settings interface provided in an embodiment of this application; Figure 11 This is a schematic diagram of the structure of an interface generation device provided in an embodiment of this application; Figure 12 This is a schematic diagram of the structure of an interface generation device provided in an embodiment of this application. Detailed Implementation
[0016] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0017] In related technologies, firmware setup interfaces are often large and difficult to navigate. For example, modern Basic Input Output System (BIOS) interfaces typically include 50-200 configuration items, which are further divided into 8-12 sections, such as Boot, Advanced, Power, Security, etc., or multi-level nested interfaces or tabbed interfaces. This complexity makes it difficult for users to quickly access frequently used settings. Even if a user only needs to modify 5 out of 50 settings, they still need to traverse all menu levels to locate the target.
[0018] Furthermore, during the development of the standard Unified Extensible Firmware Interface (UEFI), the settings interface is typically defined by Visual Form Representation (VFR) files. These VFR files are compiled into Internal Forms Representation (IFR) bytecode. The IFR bytecode is embedded into the firmware during the firmware build phase and registered through the Human Interface Infrastructure (HII) framework. Since this interface data is fixed during firmware build, the layout and content of the BIOS page cannot be modified after BIOS installation once the device leaves the factory. To modify the BIOS layout (e.g., to display only specific items) or to display specific settings, the manufacturer must modify the source code, compile, and update the firmware. This can only be done by the BIOS vendor, which is cumbersome and inflexible.
[0019] To address the aforementioned problems, this application provides an interface generation method, implemented by an interface generation device, such as... Figure 1 As shown, the process includes the following steps S101 to S103: Step S101: In response to the electronic device entering the firmware settings interface, select at least one setting item from the firmware settings interface.
[0020] In the embodiments of this application, the interface generation device is an electronic device with interface generation function. The interface generation device may be a tablet computer, a laptop computer, a handheld computer, a personal digital assistant (PDA), a desktop computer, a router, etc. The technical solution does not limit the specific interface generation device.
[0021] In the embodiments of this application, the firmware settings interface is the core interface used by the interface generation device to configure underlying parameters and system boot options. For example, on a computer device, the firmware settings interface may include BIOS / UEFI settings; on a router, the firmware settings interface may include router firmware settings.
[0022] For example, after entering the UEFI firmware settings interface via physical buttons or graphical guidance, users can select at least one setting item of interest from multiple settings interfaces (such as Boot, Advanced, Power Management or Power Consumption Control, Security Settings or Security Protection, etc.) by clicking with a mouse or operating with a keyboard.
[0023] In an embodiment of this application, the interface generation device is equipped with a program that, after selecting a setting item, pops up a prompt box asking the user whether they are sure the current setting item is selected. If so, it is determined to be a setting item included in at least one setting item. The prompt box can be triggered by clicking a shortcut key or right-clicking the mouse when the setting item is selected. Using a prompt box to ask the user reduces accidental touches and improves selection accuracy. For example, the shortcut key can be F2, Delete, or other single key or combination key. This can be set based on actual needs and application scenarios, and this application does not limit it.
[0024] For example, users can select the Fast Boot setting from the Boot settings interface and the Secure Boot Enable setting from the Security settings interface. The Fast Boot setting and the Secure Boot Enable setting belong to different form sets.
[0025] Step S102: Obtain the setting item interface data corresponding to each setting item from the form set corresponding to each setting interface.
[0026] In the embodiments of this application, each settings interface corresponds to an independent form set, used to organize a group of related settings items. For example, Boot, Advanced, Power, and Security each correspond to an independent form set. Data within a form set is rendered into a corresponding settings interface.
[0027] In the embodiments of this application, after selecting at least one setting item from the firmware settings interface, the corresponding setting item interface data can be obtained from the form set corresponding to each setting item. Exemplarily, the method of obtaining this data can be based on the setting item's identification information, basic information of the setting item, or other information that can identify the corresponding setting item. This can be set based on actual needs and application scenarios, and is not limited thereto.
[0028] In the embodiments of this application, the interface generation device can access the form set to which each setting selected by the user belongs, and extract the corresponding setting interface data from the form set, based on each setting selected by the user.
[0029] In the embodiments of this application, IFR is a binary format data used to describe UI elements in the firmware settings interface, such as buttons, input boxes, and option lists. IFR is compiled from VFR files and registered in the UEFI HII (Human Interface Infrastructure) framework. It is ultimately parsed and rendered into a visual interface by the rendering module in the UEFI HII framework. IFR contains the layout information and interaction logic of all settings items, and IFR serves as the core data structure for constructing the firmware settings interface. Therefore, the settings interface data obtained in this application is the data capable of constructing a settings interface (i.e., containing the layout information and interaction logic of at least one selected settings item). Thus, after obtaining the settings interface data, the target settings interface corresponding to at least one settings item can be generated and displayed in real time based on the settings interface data.
[0030] Step S103: Based on the setting item interface data, generate and display the target setting interface corresponding to at least one setting item in real time.
[0031] In the embodiments of this application, the interface generation device can generate and display the corresponding target settings interface in real time after receiving the settings interface data.
[0032] For example, if Fast Boot and Secure Boot Enable are selected in step S101, the generated target settings interface will display these two settings and their related descriptions, while other irrelevant settings (i.e., other unselected settings) will not be displayed. In this way, the generated target settings interface is based on user needs, the generated interface is more in line with user needs, and the interface complexity is low. Furthermore, by integrating the settings that the user needs to configure into one target settings interface, there is no need to traverse multiple layers, which can improve user operation efficiency.
[0033] In the embodiments of this application, the settings interface data is parsed and combined during the operation of the interface generation device. Therefore, the new interface takes effect immediately, and users can see the effect without waiting for the system to restart. Furthermore, since all operations are completed through the HII framework, it has strong compatibility and is suitable for different brands and models of UEFI firmware platforms.
[0034] For example, such as Figure 2 As shown, in related technologies, to enable Secure Boot, the following steps need to be followed sequentially: S21, click Symtem Setting on the Symtem Configuration and Boot Management interface; S22, click Security on the Symtem Setting interface; S23, click Secure Boot Configuration on the Security interface; S24, click Disabled on the Secure Boot interface. In the embodiments of this application, as... Figure 3 As shown, the Secure Boot setting can be generated into a single target settings interface. This eliminates the need to traverse through multiple layers to find the Secure Boot setting, improving configuration efficiency. If multiple settings are selected from different firmware settings interfaces, they can be generated into a single target settings interface, reducing user search time and improving efficiency. Furthermore, by directly retrieving the necessary settings interface data from the form set, without modifying original files or recompiling firmware, development and maintenance costs are reduced, demonstrating promising application prospects.
[0035] In some embodiments, when the interface generation device performs step S102 as described above, such as Figure 4 As shown, the following steps S201 and S202 can be performed: Step S201: In response to switching to the custom display mode, obtain the setting identifier information corresponding to each setting item.
[0036] In the embodiments of this application, switching to the custom interface display mode refers to a special interface mode in which the user enters an editable or configurable personalized display content through an operation (such as clicking a button, triggering a shortcut key, etc.). The custom interface display mode allows the user to select and save the settings that the user cares about, and subsequently displays only the settings that the user cares about in a simplified manner, thereby improving operational efficiency and interface clarity. The operation of switching to the custom interface display mode can be based on the interaction of a graphical user interface (GUI), or it can be implemented through command line input or script invocation, etc.
[0037] For example, the shortcut key to switch to custom interface display mode can be Ctrl+I, or other single keys or key combinations. If the shortcut key is received when the interface generation device starts up, it is determined that the user is switching to custom interface display mode. Of course, corresponding shortcut keys, command line input, or script calls can also be set to switch the user interface display mode to normal interface display mode.
[0038] In the embodiments of this application, the setting identification information is metadata used to uniquely identify a certain setting item. After switching to the interface display custom mode, the interface generation device can obtain the setting identification information corresponding to each setting item. For example, after the user selects a setting item, the setting identification information of that setting item can be stored or marked in the form set. In this way, after switching to the interface display custom mode, the setting identification information corresponding to the setting item can be obtained.
[0039] Step S202: For each setting item, use the corresponding setting identifier information to traverse the form set corresponding to each setting interface to obtain the corresponding setting item interface data; the setting item interface data is the pre-compiled form set preset format data in the form set.
[0040] In the embodiments of this application, when the user switches to the custom interface display mode, all registered form sets and their internal structures can be traversed based on the user's previously saved or marked settings identifier information to extract IFR data that matches the selected identifier. IFR data is a compiled binary format that contains layout and logic control instructions for UI elements (such as text boxes, option lists, buttons, etc.) and can be directly parsed and rendered into a visual interface by UEFI's SetupBrowser.
[0041] For example, the interface generation device iterates through all the settings selected by the user and reads the interface data corresponding to each selected setting. Then, it integrates this data into a new form set and registers the integrated new form set into the HII database through the AddFormSet interface. The operation of registering the integrated new form set into the HII database ensures that the new interface can be correctly recognized and managed by the system, thus laying the foundation for subsequent interface display.
[0042] In the embodiments of this application, the setting item interface data obtained by the interface generation device is IFR data that matches the setting identifier information. The IFR data is a compiled binary format. Therefore, when performing the above step S103, there is no need to modify the original VFR file or recompile the firmware, thus realizing dynamic configuration updates at runtime. That is, the IFR (Internal Form Representation) data is parsed dynamically at runtime to construct, update, or merge the form sets in the UEFI firmware setting interface, realizing flexible cross-form interaction and configuration changes, so there is no need to recompile or refresh the firmware.
[0043] In some embodiments, the setting identification information includes setting interface identification information, setting item identification information, and setting option identification information.
[0044] In the embodiments of this application, the setting identification information is used to uniquely identify and distinguish configuration items at different levels and the location of the configuration items, and is also used to uniquely identify and distinguish setting items and the location of the setting items. This setting identification information is the basic data for dynamically building a custom interface.
[0045] For example, the setup interface identifier information refers to a unique identifier for each form or form set, such as FormSetGuid and FormId. This setup interface identifier information is used to determine the BIOS configuration interface the user is currently in. The setup item identifier information refers to a unique identifier for each configuration item (Question), such as QuestionId, used to locate a specific configuration item. The setup option identifier information refers to the specific option value available under a configuration item corresponding to the setup option identifier information. An enumerated type of option value can be used as an example to illustrate the content format of the setup option identifier information. The setup option identifier information can be used to present operable options on a custom interface.
[0046] In the embodiments of this application, after obtaining the setting identification information, the interface generation device can store this setting identification information in a non-volatile random access memory (NVRAM). When needed, the setting identification information can be retrieved from the NVRAM, and the setting item interface data can be obtained by traversing based on the setting identification information to generate the target setting interface in real time.
[0047] For example, such as Figure 5 As shown, obtaining the setting identifier information corresponding to the setting item includes the following steps S51 to S54: Step S51: Select settings.
[0048] Here, select an item and press the shortcut key.
[0049] Step S52, Prompt box.
[0050] Here, a prompt appears to add the entry to the custom page.
[0051] Step S53: Set identification information.
[0052] Here, you can obtain the unique identifier information, such as FormSetGuid, FormId, and QuestionId.
[0053] Step S54, memory.
[0054] Here, identification information such as FormSetGuid, FormId, and QuestionId will be stored in NVRAM.
[0055] In this way, by introducing setting identification information and storing it in NVRAM, the setting item interface data can be obtained based on the setting identification information stored in NVRAM, and then the corresponding target setting interface can be generated. This realizes the dynamic construction and personalized display of the BIOS configuration interface, effectively improving the system's flexibility and the user's operating experience.
[0056] In some embodiments, when the interface generation device performs step S103 as described above, Figure 6 As shown, the following steps S301 and S302 can also be performed: Step S301: Generate a manual interaction interface operation code that matches the data of the settings interface, and insert it into a preset target form set in a fixed form; the preset target form set is a set of forms set for the target settings interface.
[0057] In the embodiments of this application, the human interaction interface opcode is a type of instruction code used to construct a user interface, typically composed of IFR bytecode in the UEFI HII framework. The human interaction interface opcode describes user interface elements (such as buttons, option boxes, input boxes, etc.) and their interaction logic. By dynamically generating the human interaction interface opcode, a custom configuration interface can be built at runtime according to user needs without modifying the original VFR file or recompiling the firmware.
[0058] In the embodiments of this application, the preset target form set is a predefined structured data container used to hold the generated UI operation codes. The format and structure of the preset target form set must conform to the UEFI HII standard so that it can be recognized and processed by the HII database. The process of inserting the human interaction interface operation codes into the preset target form set ensures the correct organization and logical association of UI components, providing a foundation for subsequent registration and rendering. The preset target form set is a form set corresponding to a custom target settings interface.
[0059] For example, such as Figure 7 As shown, the method for obtaining the preset target form set includes the following steps S71 to S74: Step S71, Custom Mode.
[0060] Here, switch to Customized mode (corresponding to the customized mode displayed on the interface above).
[0061] Step S72: Search the database.
[0062] Here, the HII database (the set of forms corresponding to the firmware settings interface) is traversed to find the matching selected entries stored in the NVRAM variables (Search database).
[0063] Step S73: Generate operation code.
[0064] Here, an opcode (HII Opcode) matching the selected item is generated.
[0065] Step S74: Preset target form set.
[0066] Here, the generated opcode that matches the selected item is inserted into the preset target form set (Custom FormBuffer).
[0067] In this way, a preset target form set corresponding to the target settings interface can be obtained, and then the target settings interface can be generated, rendered and displayed based on the preset target form set.
[0068] Step S302: Register the preset target form set, and based on the manual interaction interface operation code, generate the target setting interface corresponding to the preset target form set, and render and display it.
[0069] In the embodiments of this application, registering a preset target form refers to submitting the completed form set to the UEFHII database, thereby making the preset target form a recognizable part of the system. After the registration operation is completed, the interface generation device will treat the registered preset target form as an independent user interface module, but it will not activate or display it at this time.
[0070] In the embodiments of this application, based on the inserted human interaction interface operation code, the interface generation device further generates a complete UI interface structure. For example, the binary human interaction interface operation code is converted into graphical controls (such as buttons, drop-down menus, etc.), arranged according to logical relationships, and finally these controls are presented on the screen for user interaction.
[0071] Thus, by dynamically generating human interaction interface operation codes at runtime and inserting them into preset target forms, then registering and rendering the target settings interface, cross-form configuration functionality can be achieved. This avoids recompiling firmware or modifying source code. This implementation method supports the rapid construction of personalized user interfaces and improves the efficiency and user experience of accessing frequently used configuration items.
[0072] In some embodiments, when the interface generation device performs the above step S302, "generating a target setting interface corresponding to a preset target form set based on the human interaction interface operation code," as follows: Figure 8 As shown, the following steps S401 and S402 can also be performed: Step S401: Using the configuration browsing component, parse the internal form representation data in the preset target form set to obtain the parsed interface data.
[0073] In the embodiments of this application, the Setup Browser is a core module in the UEFI system used for dynamically parsing IFR (Internal Forms Representation) data. IFR is a binary format compiled from VFR files, used to describe UI elements such as form structures, options, and strings in the firmware settings interface. The Setup Browser can read IFR data at runtime and convert it into structured interface data that can be parsed by the Setup Browser, thereby enabling dynamic parsing and display of preset target form content. Through the Setup Browser, preset target form information that was originally statically embedded in the firmware can be extracted and customized or merged.
[0074] In the embodiments of this application, the parsed data refers to the intermediate data structure generated after parsing by the configuration browsing component. It typically includes key parameters such as the layout information, field names, option values, and dependencies of the preset target form. The parsed data can be used for subsequent target settings interface rendering, dynamic updates, or cross-form operations. For example, after a user selects a configuration item and triggers a shortcut key, the configuration browsing component can obtain the IFR information of that configuration item and use it as the basis for constructing a new target settings interface.
[0075] Step S402: Based on the operation code of the human interaction interface, generate the target setting interface corresponding to the parsed data.
[0076] In the embodiments of this application, the Human Interface Opcode (HII Opcode) is a set of standardized instruction codes used in the UEFI HII framework to construct form sets. The HII Opcode defines the structure of the target settings interface, control types (such as buttons, checkboxes, dropdown menus), logical relationships between controls (such as dependencies, default values, etc.), and the location of string resources. The HII Opcode supports dynamic insertion and combination, allowing the UEFI HII framework to generate different forms of target settings interfaces at runtime according to different needs.
[0077] In the embodiments of this application, the target settings interface is the graphical configuration interface ultimately presented to the user. The target settings interface consists of several settings items, and its generation depends on the correct combination of parsed data and human interaction interface operation codes. For example, when a user wants to add certain frequently used settings items to a custom page, the interface generation device uses unique identifiers such as FormSetGuid, FormId, and QuestionId stored in NVRAM to call the corresponding human interaction interface operation codes, constructs a new form set, and registers the new form set in the HII database for the SetupBrowser to parse and display.
[0078] In the embodiments of this application, by introducing a configuration browsing component to parse the internal form representation data in the preset target form, the target settings interface can be quickly constructed, improving the efficiency of users accessing frequently used settings items and the user experience during operation.
[0079] In this way, by configuring the browsing component and the operation code of the manual interaction interface, a custom firmware configuration interface can be dynamically parsed and built without changing the original VFR source file, thereby improving the system's flexibility and user experience.
[0080] In some embodiments, when the interface generation device performs the "register preset target form set" step S302 above, it may perform the following steps: write the preset target form set into the preset form set database through the form set addition protocol interface; the form sets stored in the preset form set database can generate corresponding settings interfaces.
[0081] In the embodiments of this application, the form addition protocol interface refers to the standard interface in the UEFI HII framework used for dynamically adding new form sets, such as the HiiAddFormSet protocol. The form addition protocol interface allows the system to dynamically add new form data to the HII database at runtime without recompiling or flashing the firmware. By calling the form addition protocol interface, flexible user interface expansion and configuration customization functions can be implemented during system operation.
[0082] In the embodiments of this application, the preset form database is a core component of the UEFI HII framework, used to store all registered form sets. These form sets consist of IFR bytecode and contain related string resources, icons, and other information. The preset form database supports dynamic updates, allowing new form content to be loaded without restarting the system.
[0083] For example, the AddFormSet interface is a standard interface provided by UEFI that allows new form sets to be registered in the HII database during system operation. By calling the AddFormSet interface, the system can write the newly generated form sets into the HII database, thereby forming a system-recognizable interface module from these form sets.
[0084] In the embodiments of this application, the process of writing a preset target form set into a preset form set database through the form set addition protocol interface is dynamic and reversible. Users can choose whether to enable the interface module composed of the newly generated form set (through a mode switching shortcut key) and remove this interface module from the system when needed.
[0085] In the embodiments of this application, generating the corresponding settings interface means that when a user enters the BIOS settings interface, the interface generation device will dynamically construct the settings interface based on the set of forms registered in the preset form database.
[0086] In this way, the preset target form is dynamically written to the preset form database through the form addition protocol interface. This operation avoids the development costs and time consumption caused by the traditional method of modifying the source code and recompiling the firmware, thereby improving flexibility and maintainability, and further meeting the personalized configuration needs of different users.
[0087] like Figure 9As shown, the process of generating the target settings interface may include steps S91 and S92: Step S91: Register the preset target form set.
[0088] Here, FormSet is a container in HII that holds a set of related settings forms, containing unique identifiers such as FormID and GUID. Through the UEFI HII AddFormSet protocol interface, the compiled FormSet binary data (including IFR bytecode and string resources) is written to the HII database (Register customized FormSet). This step allows the system to recognize the new UI module, but it is not yet activated for display.
[0089] Step S92: Configure the browsing component to display the new form.
[0090] Here, the Setup Browser is the core component in the UEFI firmware responsible for parsing and rendering HII forms. After completing the FormSet registration, control needs to be transferred through the HII ConnectController or by directly calling the Setup Browser's API (such as EfiBrowserShowForms). At this point, the Setup Browser will parse the IFR data of the new FormSet, dynamically generate an interactive interface containing controls such as buttons and options, and finally render and display it on the screen.
[0091] This completes the process of generating the target settings interface from the new form.
[0092] In some embodiments, such as Figure 10 As shown, the interface generation device can perform the following steps S501 to S503: Step S501: Obtain user profile information and determine the corresponding setting item group based on the user profile information.
[0093] In the embodiments of this application, user profile information refers to a set of feature data used to describe a user, including but not limited to the user's identity identifier (such as account ID), behavioral preferences (such as frequently accessed configuration items), and usage habits (such as commonly used operation methods). User profile information can help the interface generation device more accurately understand user needs and interaction patterns. By parsing user profile information, a set of settings suitable for the user profile information is automatically matched and recommended, thereby achieving a personalized configuration experience.
[0094] For example, in a test scenario, a specific set of configuration items can be predefined based on device type and usage; while in daily use, recommended content can be dynamically adjusted based on user role and usage frequency. This intelligent recommendation mechanism based on user profile information not only enhances its own flexibility and adaptability but also strengthens user experience satisfaction and loyalty.
[0095] In the embodiments of this application, the setting item group can also be determined based on historical operation data. For example, if two setting items were selected to generate the corresponding target setting interface after the electronic device entered the firmware setting interface last time, then the setting item group here can also include these two setting items; or, the setting item group can be determined based on the frequently configured (which can be determined based on a preset number of) setting items in the historical operation data.
[0096] In the embodiments of this application, the settings in the settings group can also be key items that the user has pre-set, which can reduce operational errors caused by human selection of settings.
[0097] Step S502: Generate the corresponding user settings interface for the settings item group.
[0098] In the embodiments of this application, the user settings interface refers to a personalized BIOS settings interface dynamically constructed based on user profile information and setting item groups. The user settings interface not only includes configuration items that users care about, but also has been reasonably categorized and laid out according to logical relationships.
[0099] For example, for gamers, configuration items related to game performance (such as overclocking options and power management policies) can be highlighted; while for enterprise users, settings related to network security and virtualization support can be prioritized. This user interface design allows users to quickly find and modify target configuration items without navigating lengthy menus. Furthermore, because the user interface only displays content directly relevant to user needs, it avoids the information overload problem of traditional BIOS settings interfaces, improving operational efficiency and ease of use.
[0100] Step S503: In response to the electronic device starting up, the user settings interface is displayed.
[0101] In the embodiments of this application, responding to the startup of an electronic device refers to the process of automatically loading and activating the user settings interface after the electronic device completes the power-on self-test (POST) process. This process usually occurs during the firmware initialization phase to ensure that the user can access and modify key configuration items before entering the operating system.
[0102] For example, when an industrial control computer starts up, a configuration interface related to hardware calibration can be displayed immediately after the bootloader loads; while when a regular PC starts up, configuration options related to energy-saving settings and secure boot can be provided before Windows login. This immediate availability reduces user waiting time and improves the reliability and usability of electronic devices.
[0103] In this way, the user settings interface is executed synchronously with the electronic device startup process. There is no need to select settings again. Instead, it is automatically generated based on the user profile and displayed directly after startup, which is highly flexible and compatible.
[0104] This application provides an interface generation method, which includes: in response to an electronic device entering a firmware settings interface, selecting at least one setting item from the firmware settings interface; obtaining setting item interface data corresponding to each setting item from the forms corresponding to each setting interface; and generating and displaying a target setting interface corresponding to at least one setting item in real time based on the setting item interface data. The interface generation method provided in this application dynamically parses IFR data at runtime and combines it with the user-selected setting item to achieve cross-form data extraction and interface integration. It can build a custom interface without modifying the VFR or recompiling the firmware, thereby simplifying the user operation process, improving configuration efficiency, supporting quick access to frequently used settings items, avoiding multi-level menu navigation, and improving user experience.
[0105] This application provides an interface generation device 11, such as... Figure 11 As shown, it includes: Select module 111 is used to select at least one setting item from the firmware setting interface in response to the electronic device entering the firmware setting interface. The acquisition module 112 is used to acquire the setting item interface data corresponding to each setting item from the form set corresponding to each setting interface; The generation and display module 113 is used to generate and display the target setting interface corresponding to at least one setting item in real time based on the setting item interface data.
[0106] In one embodiment of this application, the acquisition module 112 is further configured to acquire setting identifier information corresponding to each setting item in response to switching to the interface display custom mode; for each setting item, the corresponding setting identifier information is used to traverse the form set corresponding to each setting interface to obtain the corresponding setting item interface data; the setting item interface data is pre-compiled form set preset format data in the form set.
[0107] In one embodiment of this application, the setting identification information includes setting interface identification information, setting item identification information, and setting option identification information.
[0108] In one embodiment of this application, the display generation module 113 is further configured to generate a human interaction interface operation code that matches the settings interface data, and insert it into a preset target form set in a fixed form; the preset target form set is a form set set for the target settings interface; register the preset target form set, and generate the target settings interface corresponding to the preset target form set based on the human interaction interface operation code, and render and display it.
[0109] In one embodiment of this application, the generation display module 113 is further configured to use a configuration browsing component to parse the internal form representation data in a preset target form set to obtain parsed interface data; and generate a target setting interface corresponding to the parsed data based on the manual interaction interface operation code.
[0110] In one embodiment of this application, the display generation module 113 is further configured to write a preset target form set into a preset form set database through a form set addition protocol interface; the form sets stored in the preset form set database can generate corresponding settings interfaces.
[0111] In one embodiment of this application, the display generation module 113 is further configured to acquire user profile information and determine the corresponding setting item group based on the user profile information; generate the corresponding user setting interface for the setting item group; and display the user setting interface in response to the start of the electronic device.
[0112] Figure 12 This is a schematic diagram of the structure of an interface generation device 12 provided in an embodiment of this application. In practical applications, based on the same disclosed concept of the above embodiments, such as... Figure 12 As shown, the interface generation device 12 in this embodiment includes a processor 121, a memory 122, and a communication bus 123.
[0113] Communication bus 123 is used to realize the communication connection between processor 121 and memory 122; The processor 121 is used to execute the computer program stored in the memory 122 to implement the interface generation method described above.
[0114] This application provides an interface generation device that, in response to an electronic device entering a firmware settings interface, allows the user to select at least one setting item from the firmware settings interface; retrieves setting item interface data corresponding to each setting item from the forms corresponding to each setting interface; and generates and displays a target setting interface corresponding to at least one setting item in real time based on the setting item interface data. The interface generation device provided in this application dynamically parses IFR data at runtime and combines it with the user-selected settings items to achieve cross-form data extraction and interface integration. It can build custom interfaces without modifying VFR or recompiling firmware, thereby simplifying user operation processes, improving configuration efficiency, supporting quick access to frequently used settings items, avoiding multi-level menu navigation, and improving user experience.
[0115] This application provides a computer-readable storage medium storing one or more computer programs, which can be executed by one or more processors to implement the interface generation method described above. The computer-readable storage medium can be transient or non-transient.
[0116] This application provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program. When the computer program is read and executed by a computer, it implements some or all of the steps in the interface generation method described above. This computer program product can be implemented specifically through hardware, software, or a combination thereof. In one optional embodiment, the computer program product is specifically embodied as a computer storage medium; in another optional embodiment, the computer program product is specifically embodied as a software product, such as a software development kit (SDK), etc.
[0117] In some embodiments, the storage medium may be a computer-readable storage medium, which may be volatile memory, such as random-access memory (RAM); or non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), solid-state drive (SSD), ferromagnetic random access memory (FRAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, magnetic surface memory, optical disk, or compact disk-read-only memory (CD-ROM); or it may be various devices including one or any combination of the above-mentioned memories, such as mobile phones, computers, tablet devices, personal digital assistants, etc.
[0118] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of hardware embodiments, software embodiments, or embodiments combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage and optical storage) containing computer-usable program code.
[0119] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0120] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0121] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0122] In some embodiments, executable instructions may take the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
[0123] As an example, executable instructions may, but do not necessarily, correspond to files in a file system. They may be stored as part of a file containing other programs or data, for example, in one or more scripts within a Hyper Text Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple co-located files (e.g., files storing one or more modules, subroutines, or code sections). As an example, executable instructions may be deployed to execute on a single computing device, or on multiple computing devices located in one location, or on multiple computing devices distributed across multiple locations and interconnected via a communication network.
[0124] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, and improvements made within the spirit and scope of this application are included within the scope of protection of this application.
[0125] It should be understood that the phrase "one embodiment" or "an embodiment" throughout the specification means that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of this application. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that in the various embodiments of this application, the sequence numbers of the above-described processes do not imply a sequential order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. The sequence numbers of the above-described embodiments are merely descriptive and do not represent the superiority or inferiority of the embodiments.
[0126] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, 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, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components may be combined, or integrated into another system, or some features may be ignored or not performed.
[0127] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method for generating an interface, the method comprising: In response to the electronic device entering the firmware settings interface, at least one setting item is selected from the firmware settings interface; From the form set corresponding to each of the settings interfaces, obtain the settings interface data corresponding to each of the settings items; Based on the settings interface data, the target settings interface corresponding to the at least one settings item is generated and displayed in real time.
2. The interface generation method according to claim 1, wherein obtaining the setting item interface data corresponding to each setting item from the form set corresponding to each setting interface includes: In response to switching to the custom interface display mode, obtain the setting identifier information corresponding to each of the aforementioned setting items; For each setting item, the corresponding setting identifier information is used to traverse the form set corresponding to each setting interface to obtain the corresponding setting item interface data. The settings interface data is pre-compiled form set preset format data in the form set.
3. The interface generation method according to claim 2, wherein the setting identification information includes setting interface identification information, setting item identification information, and setting option identification information.
4. The interface generation method according to claim 1, wherein generating and displaying the target setting interface corresponding to the at least one setting item in real time based on the setting item interface data includes: Generate a human interaction interface operation code that matches the settings interface data, and insert it into a preset target form set in a fixed format; The preset target form set is a set of forms set for the target settings interface; Register the preset target form set, and based on the manual interaction interface operation code, generate the target setting interface corresponding to the preset target form set, and render and display it.
5. The interface generation method according to claim 4, wherein generating the target setting interface corresponding to the preset target form set based on the manual interaction interface operation code includes: Using the configuration browsing component, the internal form representation data of the preset target form set is parsed to obtain the parsed interface data; Based on the operation code of the human interaction interface, the target setting interface corresponding to the parsed data is generated.
6. The interface generation method according to claim 4, wherein registering the preset target form set includes: By adding a new protocol interface to the form set, the preset target form set is written into the preset form set database; The preset form set database stores form sets that can generate corresponding settings interfaces.
7. The interface generation method according to any one of claims 1 to 6, the method further comprising: Obtain user profile information, and determine the corresponding setting item group based on the user profile information; For each set of settings, a corresponding user settings interface is generated; In response to the electronic device starting up, the user settings interface is displayed.
8. An interface generation apparatus, comprising: The selection module is configured to select at least one setting item from the firmware setting interface in response to the electronic device entering the firmware setting interface. The acquisition module is used to acquire the setting item interface data corresponding to each setting item from the form set corresponding to each setting interface. A display generation module is used to generate and display the target setting interface corresponding to at least one setting item in real time based on the setting item interface data.
9. An interface generation device, comprising: Processor, memory, and communication bus; The communication bus is used to realize the communication connection between the processor and the memory; The processor is configured to execute the computer program stored in the memory to implement the interface generation method according to any one of claims 1 to 7.
10. A computer-readable storage medium storing one or more computer programs, said one or more computer programs being executable by one or more processors to implement the interface generation method of any one of claims 1 to 7.