I recently purchased a used Lenovo Thinkstation E32 computer. I always update the BIOS when I get a new machine — here is how to do it using a bootable USB stick. No Windows required.

First we need the BIOS update ISO, then we are going to use geteltorito to extract the bootable image and write it onto a USB stick.

Installing geteltorito on Arch Linux:

$ yay -S geteltorito

Extracting the bootable image:

$ geteltorito.pl -o thinkstation-e32.img fbj9dfusa.iso
Booting catalog starts at sector: 18
Manufacturer of CD: FBJTDFA
Image architecture: x86
Boot media type is: harddisk
El Torito image starts at sector 304 and has 32130 sector(s) of 512 Bytes

Image has been written to file "thinkstation-e32.img".

Writing the image onto the USB stick:

$ sudo dd if=thinkstation-e32.img of=/dev/sdb status=progress
9232896 bytes (9.2 MB, 8.8 MiB) copied, 1 s, 9.2 MB/s
32130+0 records in
32130+0 records out
16450560 bytes (16 MB, 16 MiB) copied, 4.24189 s, 3.9 MB/s

Sync disk cache, just to be safe. This makes sure that all write operations to the USB stick is complete.

$ sync

Now we just need to boot from the USB stick we just created, press F12 to enter the boot menu on the Lenovo machine.

Update

  • This also worked for HP Z4 G4 BIOS update — using the OpticalF10Update ISO.
  • And will probably work for a lot of similar applications.

🖖