Lenovo packages its UEFI firmware updater as either a Windows installable package or a bootable CD image. The bootable image is great for those running Linux on their systems. However, if you do not have an external CD drive or do not want to burn a CD, the update process takes a few more steps. Fortunately, the updater can be extracted from the CD image and written to a USB drive with Linux.

This method should work with most of Lenovo’s bootable CD images.

Prerequisites

To extract the boot image from the ISO you will need to install genisoimage which provides the geteltorito binary.

apt-get install genisoimage

Download the Bootable CD Image

Extracting the Boot Image

Extract the boot image from the firmware update iso: Replace <fwupdate.iso> with the name of the downloaded iso. Example: n1cuj17w.iso

geteltorito '<fwupdate.iso>' > 'fwupdate.img'

Locate the Device Path to your USB Drive

Connect a USB drive for updating your system. Note: This device will be erased during writing step below!

Then, tail your system’s log to see what device path was assigned to the USB drive:

sudo tail /var/log/syslog

The device name should appear in the output. This is usually sda or sdb. The path to the device will simply be /dev/sda or /dev/sdb

Writing the Boot Image to a USB Drive

Write the extracted boot image to the USB drive. The device specified as of= will be erased!

Substitute <device_path> with the device path from above.

sudo dd bs=1M if='fwupdate.img' of='<device_path>'

Update the Firmware

Reboot your system with the USB drive attached. Press F12 to access your system’s boot menu. Then, choose the attached USB drive as the temporary boot device. Next, follow the prompts from the updater utility to update the firmware.

comments powered by Disqus