How to update Lenovo BIOS from Linux without using Windows

Originally published at: https://www.cyberciti.biz/faq/update-lenovo-bios-from-linux-usb-stick-pen/

I am using Lenovo laptop. I want to update my BIOS but do not have Windows installed my system. How do I update Lenovo BIOS from Linux without using MS-Windows operating system with the help of a USB stick?

1 Like

Thank you for the tutorial!

To me it seems that you omitted one essential part though:

Part 3 (Extract the image …) talks about writing the image to the USB-stick instead about actually extracting the image – that would be the point why we need geteltorito/genisoimage.

You are 100% right. I forgot to add that step. It is in video but not in text. I just added it. Thanks for the heads up!

1 Like

Now there is a much better method. Use the fwupdmgr tool. It is doing all the work. See fwupd.org for whether a certain series is supported. It also works for other vendors than lenovo I think.

1 Like

Hi. Thanks for this great post!

I just installed “CentOS Stream”(8.0.1905) and it comes with 'genisoimage" preinstalled. However, it does not contain the “geteltorito” file. Do you know if this is an omission or normal?

It seems that geteltorito dropped since CentOS 7.x. Really sad as you need that tool to extract boot image from an ISO file. You need to either burn that ISO on CD or install VM (say with Ubuntu), download an iso inside VM, install geteltorito, extract the file and burn into USB pen.

I don’t know if you’re aware, but Lenovo iso’s are universal, so you can write them them straight to a USB drive without converting them; like so:
dd if=the_downloaded_file.iso of=/dev/sdx
(be sure to write directly to the block device [/dev/sdx] and not the partition [/dev/sdx1])
I just performed an update using that method for bios version 1.26 on a Thinkpad E590 (Current as of June 2020).

It saves all the messing around with geteltorito.

2 Likes

Linux sysadmin blog - Linux/Unix Howtos and Tutorials - Linux bash shell scripting wiki