September 28, 2018

Updating ThinkPad BIOS from Linux

Updating a ThinkPad BIOS usually involves booting a floppy or CD-ROM containing PC-DOS and an update program, or running a Windows-only updater. Neither of these is an option on a machine like my ThinkPad X200s, which has no floppy or CD drives, and is running Linux only.

The various options available to Linux users are discussed in the ThinkWiki BIOS upgrade page. The one option that worked for me in the X200s case is to boot the CD-based updater using Grub2.

First, I downloaded the latest CD-based BIOS updater from the link on the ThinkWiki BIOS Upgrade Downloads page. In the case of the X200s, the bootable CD updater file was called 6duj48us.iso and was found here.

Then I logged in as root (using sudo su) and performed the following steps:

apt-get install grub-imageboot
cp 6duj48us.iso /boot/images

After rebooting, I realized that I needed to force the Grub menu to appear at boot time. (The menu was invisible because this machine had no other operating systems when I installed Mint. If your machine dual boots Windows and Linux with Grub, you should not have to perform these steps.) As root, I edited the file /etc/default/grub, and commented out the line containing GRUB_HIDDEN_TIMEOUT so that it looked like this:


Finally, I ran update-grub and rebooted. This time the Grub menu appeared, and I was able to select 6duj48us.iso for booting.