Updating the BIOS on Lenovo laptops from Linux using a USB flash stick

Aren’t hardware manufacturers funny? They either require an old-fashioned operating system (Windows) or museum hardware (floppy drives) to update a BIOS. Apparently they never learn and are instead busy adding features like DRM and UEFI to make our lives even more miserable.

However updating the BIOS on my Lenovo X230 laptop was surprisingly easy once I learned how to do that (kudos to a G+ post I stumbled upon).

  1. Go to support.lenovo.com (or better use a search engine becaues the Lenovo website is beautiful but technically pretty broken and slow) and search for the BIOS upgrade of your laptop model.
  2. Download the most recent ISO file. Look for “BIOS bootable update CD”.
  3. Convert the ISO image using the geteltorito utility (if you don’t have it: apt-get install genisoimage).
    geteltorito -o bios.img g2uj18us.iso
  4. Insert any USB stick into your laptop that you have lying around. The image file is just 50 MB in size so even USB sticks with low capacity will work. Keep in mind that the stick will be completely overwritten.
  5. If you are in a graphical environment then unmount the USB stick again.
  6. Find out the device name of the stick. Enter a terminal window and enter “dmesg | tail”. You are looking for something like:[ 2101.614860] sd 6:0:0:0: [sdb] Attached SCSI disk
    The “sdb” tells you that your USB stick is available on /dev/sdb. Don’t just assume it’s sdb. If it’s on another device on your laptop then you will destroy your data.
  7. Copy the image to the USB stick:
    dd if=bios.img of=/dev/sdb bs=1M
  8. Reboot your laptop.
  9. After the Lenovo logo appears press ENTER.
  10. Press F12 to make your laptop boot from something else than your harddisk.
  11. Select the USB stick.
  12. Make sure your laptop has its power supply plugged in. (It will refuse to update otherwise.)
  13. Follow the instructions.

9 thoughts on “Updating the BIOS on Lenovo laptops from Linux using a USB flash stick

  • 2015-05-14 at 20:12

    I have a lenovo E330 and had to update the bios firmware
    This technic worked with an ubuntu
    I want to add that I had to modify the boot option to boot in legacy mode with the quick boot disable

    • 2015-09-29 at 17:48

      Strange. I had to boot with secure boot + UEFI 😀

  • 2015-06-30 at 17:15

    I use fedora and decided to update my T520i (BIOS 1.29/EC 1.22), using the USB method.
    After a minute of updating, i received an error on the screen.
    I was able to boot with new 1.45 BIOS, but the EC was at version 1.22
    Using an update with a CD fixed things.

  • 2015-07-21 at 23:14

    Worked great on my X1 Carbon 3rd gen, thanks. I had originally tried dd’ing the downloaded iso directly to the usb like you can do with so many other isos, but that wouldn’t boot. I was just missing the geteltorito step.

  • 2015-07-27 at 13:41

    Thanks. Worked fine on my X220.

  • 2015-09-06 at 13:17

    I just upgraded the firmware on my Lenovo X131e with this manual and it worked perfectly.

    A lot easier than having to find a USB CD ROM drive and burning a CD that you’re only going to use once.

    Thanks a lot for your tutorial!


Leave a Reply

Your email address will not be published. Required fields are marked *