[Guide] Howto Unlock/Flash an Insyde H2O UEFI BIOS

Unfortunately and fortunately,

I had bricked my BIOS after changing some settings. Only had a black screen and loud fans after. Fortunately, I got a CH341A programmer and were able to restore it to a working BIOS dump. Is there a way I can set back and/or get back the license key in the BIOS? I were stupid and made no BIOS backup, so. I can live without it, as I already upgraded from Windows Home to Pro using a different key not stored in the BIOS, but it might be handy to get it back just in case.

  1. Open a dump in hex editor.
2. Search for this sequence.

01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 1D 00 00 00

  1. Input your key after the last character (00) replacing FF bytes.

Also, is there a way using a patch or something in order to change the BIOS information for my board? I need to change the basboard name as it now shows invalid. If possible, without a programmer. I also managed to set the serial number using a tool called LVAR.exe at UEFI Shell.

HxD does not find that in the dump.

You’re right. I’ve just checked this doesn’t work for Lenovo. They use encrypted key storage in BIOS. Two occurences starting with “4C 45 4E 56”. With the size of 1000h each. If you only kept a backup, it would be easier.

I think you can take someone else’s data in order to get rid of the Invalid lines.

Could be. But I just released a mod for the BIOS!
Lenovo IdeaPad, 320-14, 320-15, 320-17, 520-15, B320-14, V320-17 BIOS Mod - BIOS/UEFI Modding / Offers: Already modded special BIOSes - Win-Raid Forum (level1techs.com)

Can you give me that ZIP again? I thought I might have gotten it working, but not sure. I actually now want to have the advanced settings temporary, so I do not accidentally set something. Can you also look further into it, to be sure what needs to be patched in order to show the main, advanced and power tabs? You know I had unlocked them, but also bricked my laptop by it. Luckily, I can recover from it now. Just want to use a temporary patch from a USB drive or SD card (BIOS supports booting from an SD card).

The ZIP won’t work. You did let me know.
The thing is that menu tables and executable part are placed in the same DXE driver. We got to find out how to unload the executable part and load it again when patched to make things to work.

Also, the Unlocker is a semi-permanent solution. It means that you can relock access to advanced BIOS.
Using this EFI application.
https://winraid.level1techs.com/uploads/short-url/fW7YQn0gkWIzMpvM93aLXojlYVs.zip

Well, I used the patch oncee, and saw that the Advanced tab was there. How would I be able to relock the things the unlocker unlocked? I just want some settings to keep while they are hidden again. It looks like it only shows sometimes or something with the EFI application patch…

Press F3 to lock.

If possible I wold like to unlock it temporarily using a patch on a USB drive, or make that F3 shortcut a permanent one to toggle between unlock/lock.

I don’t think it is possible. We can’t recompile the BIOS at this level without having source code.
And runtime patching way is a dead end.

I used the EFI app. Both unlocking and relocking works. I set the CPU mode from Non-Turbo Performance to Turbo performance, which should give a little boost.

Would there be a way I can use H2OUVE to change some BIOS information? I also have an option to disable the flash protection registers, but don’t know whether it gives more negative effects than positive effects, and even stays off then.

I don’t know. Lenovo laptops use different technology to store serial data. BIOS version can be changed.

This option and “BIOS Lock” option controls whether it is allowed to flash BIOS without HW programming tools.

I also managed to enable Modern Standby, a.k.a. (ACPI S0 Low Power Idle). It is the newest mode for a sleep state, which is nice. Weird they did not enable that at default.

I MANAGED TO DISABLE THEM, AND STAY DISABLED. But now, I want to use the H2OSDE tool to change the baseboard priduct name. I managed to run it and it indeed sahs that it is INVALID. But when I try to change the value, it says function not supported. Can you give me instructions how to get to change them? Atleast H20SDE is a tool that would allow me to change what I was searching for, but I need to get it to work first.

@Sweet_Kitten would you know how I would be able to make the POST and BIOS display on an external display by any luck with any of the unlocked advanced settings (with HDMI)? It might be handy for if my screen breaks in the future.

I think this is not possible. HDMI is connected to dGPU. dGPU does not work in POST and BIOS.

Hmmmm. But why does HDMI use the only GPU (the iGPU) when I boot in the OS then?