Updating the BIOS of a ThinkPad without a CD-ROM

This method has been tested successfully several times with different ThinkPads (X220, T410, T420, E330 and others).

General idea

We'll extract the bootable image embedded into the .iso file provided by Lenovo using geteltorito (part of the Syslinux project). The image is then written to a USB key.

Step by step

  1. Download the BIOS Update Bootable CD from Lenovo support website.

  2. Use geteltorito to extract the bootable image from the .iso file:

     geteltorito -o bios_update.img 8duj25us.iso
    

    (On Debian geteltorito is in the syslinux package.)

  3. Write the image to an USB key:

    • Plug an USB key to your system.
    • Run dmesg | tail to find the device corresponding to your USB key (hereafter I assume /dev/sdb is the USB key).
    • Warning all data of the given device (in this exemple /dev/sdb will be lost).

        sudo dd if=bios_update.img of=/dev/sdb bs=4k
      
  4. Reboot the laptop with the USB key plugged in and press F12 to reach the boot menu.

  5. Select the USB key, wait for the system to boot and follow the on-screen instructions.

Troubleshooting

  • If the USB key doesn't boot, try writing zeroes on it before writing the bootable image. (For instance with dd if=/dev/zero of=/dev/sdb bs=4k)