Lenovo P16 G2. Downgraded to factory BIOS.
I want to make the following modifications:
- Unlock advanced menu
- Clean whitelist for modem
- Enable ACPI S3 Sleep State
- Enable undervolt/remove overclocking lock
I was able to extract bios file, using innoextractor.
Extracted Setup P32 image, where all above settings are present.
Checked offsets using irfextractor.
Tried editing BIOS using ru.efi. Got “Write variable failed: 0x00000008” error when attempted to edit any hex value. Seems like direct BIOS modifications are locked, even though I’ve disabled Secure Boot, TPM 2.0 and everything else on the Security tab in BIOS.
So, I decided to modify the “pure” bios image that was downloaded from the official site, instead.
Now, here are some issues that I’m not able to overcome myself:
1 issue. Setup P32 image was extracted into two .txt files by irfextractor:
Section_PE32_image_Setup_Setup_body.efi.0.0.en-US.ifr.txt,
Section_PE32_image_Setup_Setup_body.efi.1.0.en-US.ifr.txt
I opened Section_PE32_image_Setup_Setup_body.efi with HxD, but not sure which values should be changed. Fore example, I found S3 state mentioned in 0.0.txt:
OneOf Prompt: “ACPI S3 Support”, Help: “Enable ACPI S3 support”, QuestionFlags: 0x10, QuestionId: 0x3D, VarStoreId: 0x1, VarOffset: 0xE, Flags: 0x10, Size: 8, Min: 0x0, Max: 0x1, Step: 0x0
But, I don’t have any clue where is this located in the .efi body of Setup section. Should be 000000E0, I suppose. Right? https://i.imgur.com/riNAYvo.png
2 issue. I’m not sure if t would be possible to flash the modded BIOS using the unpacked official installer. Do I need to somehow sign or verify modified .fl1 image before flashing it into the laptop?
Is there any good tutorial available on how to mod the BIOS on the latest intel based, Phoenix BIOS Thinkpads?