Ubuntu – Write bootable BIOS update .ISO to USB stick

biosbootisounetbootinusb-storage

Lenovo distributes BIOS updates as .iso files (example) that are supposed to be burnt on a CD and booted. Burning it to a CD worked and booted correctly, but now I want to use a USB stick instead (because I don't trust my CD drive), how to create this USB stick using Ubuntu?

There are many tutorials explaining how to create bootable USB sticks from Linux-based ISOs (using UNetbootin and similar, they create Linux-related files at the root of the USB stick) and from Windows-based utilities (with FreeDOS and similar). I believe neither are solutions here as the BIOS update ISO file is not Linux-based nor DOS-based (mounting the ISO does not show any known filesystem)

Best Answer

I found what may be a solution to the issue at http://positon.org/lenovo-thinkpad-bios-update-with-linux-and-usb.

First convert the iso image to an img file:

sudo apt-get install genisoimage
geteltorito -o bios.img gruj09us.iso

Then copy to the USB key:

sudo fdisk -l /dev/sdb  # double check that the device is right
sudo dd if=bios.img of=/dev/sdb #Will Erase the drive!! 

That said I think you should just try first whether it boots okay if you just write the .iso with a generic tool as you normally would. (Provided it needs some input and does not automatically start mucking about in your BIOS as you boot up.) Last two times I installed a Linux I didn't use the recommended tool. (I made a bootable USB for 15.04 with SUSE Studio Image Writer since Unetbootin messed it straight up multiple times.It worked fine.)