How to do BIOS updates (or downgrades) on Lenovo hardware under Linux
Disclaimer
I am not assuming any responsibility or liability. You are following this tutorial at your own risk. BIOS updates are inherently risky and might brick your device!
Prerequisites
This post assumes you have already
- downloaded the relevant BIOS update as described in this blogpost
- manually extracted the BIOS update package as described in this blogpost.
Generate boot media
The easiest way to flash your Lenovo BIOS under Linux is to create a bootable USD thumbdrive.
Script to prepare the media
Unfortunately, in the update package, Lenovo is only providing a batch file to create a boot media under Windows. The relevant file is called mkusbkey.bat
. Thus, we have to create a Linux-compatible script. I have "translated" the batch file into a bash script.
- Download the USB media creation script from here. Save it to the same directory where
mkusbkey.bat
resides. - Plug a USB thumbdrive into your computer. Make sure it's formatted with FAT32 and backup it before the next step.
- Mark the downloaded script as executable by running
# chmod +x ./mkusbkey.sh
- Now, execute the script by running
# ./mkusbkey.sh <mountpoint_of_thumbdrive>
- Once the process is completed, restart your computer. Make sure that booting from external media is enabled by repeatedly pressing the
Enter
key during the boot process and press theF1
key to enter the BIOS setup. Once in there, go toBoot
,Startup
or similar and make sure the respective settings are in place. - Boot from the USB thumbdrive and follow the steps to update or downgrade your BIOS.
If this post was valuable for you, consider donating.