NOTE: This is _NOT_ a request for BIOS unlock.
Hi BDMaster,
I need your help. I spent a couple weeks reading bios-mods.com and yourdigitallife.com forums to understand about BIOS modding and different tools that available. And now I believe that I am somewhere close to the solution, but feel like I hit a wall and need an advice from an expert like you.
I have Lenovo X1 Carbon Gen3 (20BT). It has installed BIOS version 1.13 which is available for download from here:
https://download.lenovo.com/pccbbs/mobiles/n14uj12w.exe
Basically my task is to be able to rollback from the current BIOS version (1.13) to an older one.
I found several Lenovo BIOS downgrade procedures. Tested on my other Lenovo laptop and confirmed that I can downgrade the Lenovo BIOS if "
Secure Rollback Prevention" option is DISABLED in BIOS.
But the problem is that the X1 Carbon laptop that I need to downgrade has "Secure Rollback Prevention" function enabled in BIOS and the BIOS is locked and I have no Supervisor password. In other words I can't downgrade BIOS programmatically without being able to disable that Rollback option (I know that the hardware programmer is the best option, but unfortunately I am not allowed to dissasemble that computer).
Reading through the forums, I learned that there is an option to temporary modify some BIOS settings by finding a proper region, offset and value. In one of your threads I found about Falseclock method:
https://www.bios-mods.com/forum/Thread-R...-EFI-shell
Unfortunately (for me), I believe that Falseclock's method actually looks and modifies variable in "Setup" module, while my UEFITool investigation shows that the "Secure Rollback Prevention" option for my Lenovo BIOS located at
0xA29A in "
LenovoSetupSecurityDxe" module (see below).
Do you think that Falseclock EFI shell can be modified somehow to work in my case? (His current EFI Shell tool is not working for me... I have tried... it just errors and gets me in to the Grub command line. Again, I believe it is because we are looking at two different modules).
How would you approach this problem, BDMaster?
0xA1F4 Form: UEFI BIOS Update Option, FormId: 0x5 {01 86 05 00 7F 00}
0xA1FA Gray Out If {19 82}
0xA1FC True {46 02}
0xA1FE Text: Statement.Prompt: Flash BIOS Updating by End-Users, TextTwo: {03 08 81 00 1B 00 00 00}
0xA206 End If {29 02}
0xA208 Gray Out If {19 82}
0xA20A Security: Permissions: [85B75607-F7CE-471E-B7E4-2AEA5F7232EE] {60 92 07 56 B7 85 CE F7 1E 47 B7 E4 2A EA 5F 72 32 EE}
0xA21C Not {17 02}
0xA21E End {29 02}
0xA220 One Of: , VarStoreInfo (VarOffset/VarName): 0x12, VarStore: 0x7, QuestionId: 0x57, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 A6 1B 00 82 00 57 00 07 00 12 00 00 10 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0xA246 One Of Option: Disabled, Value (8 bit): 0x0 {09 1C 1E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0xA262 One Of Option: Enabled, Value (8 bit): 0x1 {09 1C 1D 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0xA27E End One Of {29 02}
0xA280 End If {29 02}
0xA282 Gray Out If {19 82}
0xA284 Security: Permissions: [85B75607-F7CE-471E-B7E4-2AEA5F7232EE] {60 92 07 56 B7 85 CE F7 1E 47 B7 E4 2A EA 5F 72 32 EE}
0xA296 Not {17 02}
0xA298 End {29 02}
0xA29A One Of: Secure RollBack Prevention, VarStoreInfo (VarOffset/VarName): 0x2E, VarStore: 0x7, QuestionId: 0x244, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 A6 CF 00 D0 00 44 02 07 00 2E 00 04 10 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0xA2C0 One Of Option: Disabled, Value (8 bit): 0x0 {09 1C 1E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0xA2DC One Of Option: Enabled, Value (8 bit): 0x1 {09 1C 1D 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0xA2F8 End One Of {29 02}
0xA2FA End If {29 02}
0xA2FC End Form {29 02}
Thank you in advance for your help!