IP Library Granted Patent US 12,724,617
Granted Patent B2
US 12,724,617 · App. 18/340,221 · Granted Sep 1, 2026

System and method for selectively reverting bios settings

Inventors: Rafael Rodrigues Machado (Sorocaba, BR); Nathan Peterson (Oxford, NC); Scott Wentao Li (Cary, NC); Igor Stolbikov (Apex, NC)
Assignee: Lenovo (Singapore) Pte. Ltd.
G06F9/4403G06F9/44505
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,724,617
App. No.
18/340,221
Granted
Sep 1, 2026
Kind
B2
Abstract

A computer implemented method includes receiving a change to a first BIOS (basic input/output system) setting on a computer, maintaining a record of the first BIOS setting prior to the change, rebooting the computer to effect the change the first BIOS setting, detecting that an operating system did not successfully load, generating a user interface enabling a user to select to revert to the first BIOS setting, and rebooting the computer in response to selection to revert to the first BIOS setting.

Claims (41)

1 . A computer implemented method comprising:

receiving changes to multiple BIOS (basic input/output system) settings on a computer;

maintaining a record of the multiple BIOS settings prior to the change wherein the record comprises a linked list storing individual setting values;

rebooting the computer to effect the changes to the BIOS settings;

detecting that an operating system did not successfully load after the reboot by accessing a UEFI variable shared between the operating system and the BIOS to confirm that the operating system did not set or modify the UEFI variable;

generating a user interface that displays each of the multiple BIOS settings that were changed, wherein the user interface provides individual selection controls for each of the multiple BIOS settings, enabling a user to select a subset of the multiple BIOS settings to revert to their prior values while maintaining remaining BIOS settings at their changed values; and

rebooting the computer in response to selection to revert to the subset of the multiple BIOS settings to their prior values while maintaining the remaining BIOS settings at their changed values.

2 . The method of claim 1 wherein the linked list is stored in a partition of non-volatile memory managed by the BIOS.

3 . The method of claim 1 wherein BIOS includes multiple modules, each module corresponding to a hardware component of the computer, and wherein the linked list comprises a set of settings for each hardware component.

4 . The method of claim 3 wherein the user interface lists each module and provides an ability to select settings to revert from one or more of the modules.

5 . The method of claim 3 , wherein:

each module of the BIOS separately monitors for successful loading of the operating system by monitoring a respective variable associated with that module,

detecting that the operating system did not successfully load comprises determining which modules detected the failure based on their respective variables, and

generating the user interface comprises displaying a visual indication distinguishing settings associated with modules that detected the failure from settings associated with modules that did not detect the failure.

6 . The method of claim 1 , wherein maintaining the record comprises:

identifying differences between the multiple BIOS settings prior to the changes and the multiple BIOS settings after the changes;

storing only the identified differences as delta values in the linked list rather than storing complete BIOS configuration data; and

wherein rebooting the computer in response to selection comprises applying the delta values to revert the subset of the multiple BIOS settings while maintaining remaining BIOS settings by not applying delta values for the remaining BIOS settings.

7 . A machine-readable storage device having instructions for execution by a processor of a machine to cause the processor to perform operations to perform a method, the operations comprising:

receiving changes to multiple BIOS (basic input/output system) settings on a computer;

maintaining a record of the multiple BIOS settings prior to the changes wherein the record comprises a linked list storing individual setting values;

rebooting the computer to effect the changes to the BIOS settings;

detecting that an operating system did not successfully load after the reboot by accessing a UEFI variable shared between the operating system and the BIOS to confirm that the operating system did not set or modify the UEFI variable;

generating a user interface that displays each of the multiple BIOS settings that were changed, wherein the user interface provides individual selection controls for each of the multiple BIOS settings, enabling a user to select a subset of the multiple BIOS settings to revert to their prior values while maintaining remaining BIOS settings at their changed values; and

rebooting the computer in response to selection to revert to the subset of the multiple BIOS settings to their prior values while maintaining the remaining BIOS settings at their changed values.

8 . The device of claim 7 wherein the linked list is stored in a partition of non-volatile memory managed by the BIOS.

9 . The device of claim 7 wherein BIOS includes multiple modules, each module corresponding to a hardware component of the computer, and wherein the linked list comprises a set of settings for each hardware component.

10 . The device of claim 9 wherein the user interface lists each module and provides an ability to select settings to revert from one or more of the modules.

11 . A device comprising:

a processor; and

a non-volatile storage device operably connectable to the processor, the non-volatile storage device storing BIOS code and multiple BIOS settings, wherein the processor executes the BIOS code to perform operations comprising:

receiving changes to multiple BIOS (basic input/output system) settings on a computer;

maintaining a record of the multiple BIOS settings prior to the changes wherein the record comprises a linked list storing individual setting values;

rebooting the computer to effect the changes to the BIOS settings;

detecting that an operating system did not successfully load after the reboot by accessing a UEFI variable shared between the operating system and the BIOS to confirm that the operating system did not set or modify the UEFI variable;

generating a user interface that displays each of the multiple BIOS settings that were changed, wherein the user interface provides individual selection controls for each of the multiple BIOS settings, enabling a user to select a subset of the multiple BIOS settings to revert to their prior values while maintaining remaining BIOS settings at their changed values; and

rebooting the computer in response to selection to revert to the subset of the multiple BIOS settings to their prior values while maintaining the remaining BIOS settings at their changed values.

12 . The device of claim 11 wherein BIOS includes multiple modules, each module corresponding to a hardware component of the computer, and wherein the linked list comprises a set of settings for each hardware component.

13 . The device of claim 12 wherein the user interface lists each module and provides an ability to select settings to revert from one or more of the modules or to select individual settings to revert.

14 . The device of claim 11 , wherein the non-volatile storage device comprises a first local storage device and a second remote storage device and wherein maintaining the record comprises storing the linked list at the first local storage device and the second remote storage device.

15 . The device of claim 11 , wherein the BIOS code comprises multiple modules, each module corresponding to a hardware component of the computing system, wherein the linked list comprises a set of settings for each module, and wherein the user interface displays each module with its associated settings organized by module.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 17, 2023
From: LENOVO (UNITED STATES) INC.
To: LENOVO (SINGAPORE) PTE. LTD.
Reel/Frame 065256/0382 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2023
From: MACHADO, RAFAEL RODRIGUES; PETERSON, NATHAN; LI, SCOTT WENTAO; STOLBIKOV, IGOR
To: LENOVO (UNITED STATES) INC.
Reel/Frame 064042/0211 →
Continuity (1)
Related Publication 20240427610A1 · Dec 26, 2024
References Cited (15)
US 11397593B1 · Lin · 2022 [cited by examiner]
US 20040172498A1 · Taylor · 2004 [cited by examiner]
US 20060020844A1 · Gibbons · 2006 [cited by examiner]
US 20090292910A1 · Yang · 2009 [cited by examiner]
US 20100082957A1 · Iwata · 2010 [cited by examiner]
US 20160306688A1 · Boyapalle · 2016 [cited by examiner]
US 20170123927A1 · Su · 2017 [cited by examiner]
US 20200349009A1 · Samuel · 2020 [cited by examiner]
US 20210042047A1 · Shibayama · 2021 [cited by examiner]
US 20210096880A1 · Bhuiyan · 2021 [cited by examiner]
US 20210240489A1 · Xie · 2021 [cited by examiner]
US 20210397459A1 · Tsao · 2021 [cited by examiner]
US 20220283918A1 · Chaiken · 2022 [cited by examiner]
US 20230229453A1 · Chen · 2023 [cited by examiner]
US 20240289135A1 · Chen · 2024 [cited by examiner]