[Tool] Lenovo (H2O) Bios Unlocker and Locker

Thanks a lot, mate!!



Would you mind sharing that older BIOS update file somewhere since Lenovo removed it from their website. I might be getting a 7i in the future and want to be able to flash that version so I can unlock the laptop BIOS. Thanks!!!

Hi guys,
Does the win app works with legion 5 pro 16ACH6H bios version GKCN49WW ?

How to enable xmp without damaging the laptop?

Thank you :slight_smile:

Amd don’t have xmp profile, if you want to try, there are manual timing but no one tried that yet, so YMMV.

Thanks for this tool. Saves us AMD people from having to use an SPI flasher.

Unfortunately I’m getting the below error message when running the tool in an Admin cmd prompt:
The system could not find the environment option that was entered

My BIOS is GKCN49WW on a 16ACHg6 (2021 Legion 7).

Edit: After rebooting it did unhide the Advanced/CBS/PBS etc options in the BIOS however.


I did already know of this bug, I added it to the main page.

I own a laptop
IdeaPad L3 15IML05
A year ago, I bought a ddr4 - 2666 16gb
According to the information on the site here, the memory is compatible with the product:


The memory has been working normally, for a whole year, but two weeks ago it no longer supports the system.
The installed memory has become only 4 GB RAM
The system now works on 4 GB instead of 20 GB !
I checked the motherboard and all the ports, and made sure there was no problem.

Please help and thanks.

Its may be 32-bit Windows or you are probably killed 16 gb dram by static electricity. You can try to swap dram moduls , remove 16 gb then 4 gb etc. But be careful disconnect battery then you do something!

The memory has been working normally for some period.

4 gigabytes are soldered.

To confirm, this works on my 15IMH05H 2020.

Hi great job AARCH64_EL3!

I can can confirm it works on the legion 15IRH+gtx 1660ti with the bios versions 21ww and 26ww I´ve tested.

For all , a great 2022!

It unlocks the advance settings on 2021 Legion 5 Pro.

Overclock/PBO settings are buried in the AMD CBS menu


If you do brick the laptop, you can recover it by removing the bottom cover, disconnecting the battery, on the 2021 5 pro, the cmos battery open up the is under the left side nvme heat sink and any installed nvme drive. remove the drive if necessary and carefully unplug the connector for the button cmos battery and leave it disconnected for a few minutes.

Plug it back in, reinstall the nvme drive is applicable, replace the heat sink, plug the main battery back in and close up the laptop.

After that, the bios should be back to default settings but still show the advanced settings menu.


I changed the tfaw setting in the memory timings and it refused to boot. not yet tried enabling the oc setting for memory timings and leaving it all on auto yet. my ram does not appear to have xmp profiles though. that may be the cause

Thank you AARCH64_EL3

Confirmed working on my AMD Legion 7 2021.

bradm65 I have the same as you that unlocking the memory overclocking section will cause the laptop to not post. I do have XMP on my sticks so I don’t think it’s that.

I went through and set all the memory timings manually copying them from the stock timings (using Zentimings) as I was still not able to boot. It looks like it might not be possible to set the timings manually.

I also tried enabling XFR PBO and the settings didn’t seem to have any effect. I did notice there are further options for power which include PPT and long/short limits which may work though I have not tried them yet. Also noticed configuration for Smartshift which is quite interesting! I know there are some laptops which allow you to configure the GPU to be able to continuously use the extra 15w boost power. I wonder if that’s something we can do here?

id like to try this on my desktop legion t5-28IMB05 bios ver : O4NKT19A

My bios Is supported by this:
To check if your bios is Unlockable by this: search for "cE!" unicode text in UEFI tool, if at lest 2 result are found (one on DebugPageDxe and the other on H20FormBrowserDXE), you can give a shot:

but i have no idea how to find the unicode. ( to be clear i know nothing about modding)

Desktop legions are not supported. Not Insyde H2O BIOS.

Desktop legions are not supported. Not Insyde H2O BIOS.



ok thanks :frowning:




I tried setting memory timings to overclock mode, left everything except tfaw ctrl and tfaw that was manually set to 0x1A (26 decimal). Everything else was on Auto but the laptop refused to boot. I have not had time to try again as It will need a cmos battery removal to unbrick it again. My Sticks are Kingston value ram 3200 that only have jedec settings that the laptop uses to configure the ram and no xmp


I was planning to try manually entering all of the timings starting with the stock values. I have discovered that the bios has setting that enables the ddr4 memory to have self healing and do memory training on boot up. That setting is disabled by default. It may be worthwhile enabling that while playing with the ram timings.

I have enabled PBO and do see some improvement over stock. I did a Cinebench R23 multi score of 13166 on Saturday.

I enabled CPPC this morning. The bios disables it by default which I found quite surprising after all the patches to fix the bug that were released after windows 11 came out. Not had much chance to see if it makes a difference or if it just reintroduced the bug that was there before.


I would really like to get access to the curve optimizer that is in the AODsetupdxe module but that is still hidden.

Unlocker won’t give you access to this.


Wow Ryzen 5000 have more interesting stuff than my 4000 series, btw, I don’t have the time to reverse that bios to see if there’s another switch.

But, What might work is my next project, now in highly experimental state, that is A different FormBrowser, that load and display all the HII protocol, It’s basically a universal BIOS interface(And should work on all recent pc) , that try to load all the available setting to the user. If AOD export it’s HII Protocol (very likely), my app should be able to pickup it and display.

On AMD laptop should without problem show all AMD PBS/CBS AOD setups, while for Intel, it require still a bit of work, as I want to implement a custom IFR/VFR parser that allow to display all things, but for now I have kinda lost intrest in it, for this reason It isn’t public, so no ETA on it.