Random notes from a security-aware software engineer, open-source advocate and occasional lecturer.
Update (2018-08-19): While this should still work, there is now an easier method available. Take a look at Lenovo Thinkpad BIOS Update Using fwupd.
This is for a Thinkpad 470s, but other models should be quite similar.
Though Thinkpads are popular amound Linux users, unfortunately, Lenono does not provide a BIOS update mechanism for Linux but all their recommended ways include Windows at one point or another. But it is still pretty easy to get a BIOS update done with Linux only:
Ensure that your laptop’s battery is charged and your power supply is plugged in.
Download the BIOS Update (Bootable CD) for Windows… from Lonovo’s support
website.
You should get a file like n1wur15w.iso
.
Next, we need to convert this into something we can put on a USB thumb drive. For that, download the El Torito boot image extractor. On Fedora:
dnf install geteltorito.noarch
Convert the image:
geteltorito -o bios-20171217.img n1wur15w.iso
Next, insert a USB thumb drive to use for the update. Not that all data on
this drive will be erased! Make sure it is unmounted (use unmount
) in
case it got mounted automatically and find out the device name (probably
something like /dev/sdX
). Make sure the name is correct as you might
otherwise overwrite the wrong device and loose valuable data! Tools which
might help finding out the correct device name include dmesg
or mount
(while the drive is still mounted).
Copy the file to the USB thumb drive. Again, make sure the device name is correct:
dd if=bios-20171217.img of=/dev/sdg bs=1M
Reboot your laptop
When the Lenovo logo shows up during the reboot, press Enter
and then
F12
to get into the boot menu where you should be able to select the USB
thumb drive to boot from.
From here, follow the instructions to update your system program.