I have installed Ubuntu on a Lenovo Thinkpad R500 2732, and I must update the BIOS.

On the Lenovo website, I am offered this:

BIOS Update Bootable CD for Windows 7 (32-bit, 64-bit), Vista (32-bit, 64-bit), XP - ThinkPad R500

I guess a bootable CD that would do a BIOS update is indeed what I need. (still wondering why it says "Windows" though... if it is bootable should not it be OS-agnostic?)

Not wanting to waste a CD, I copied the image to my USB stick:

sudo dd if=/home/nico/7yuj40uc.iso of=/dev/sdb1 bs=1M

And rebooted, after making sure USB is first in the boot sequence.

PROBLEM: It does not boot. Did I forget one step?

Details about the iso image (readme):

ls -lh 7yuj40uc.iso
file 7yuj40uc.iso
/home/nico/7yuj40uc.iso: # ISO 9660 CD-ROM filesystem data '7YUJ40US                       ' (bootable)

(Scroll to the right: it says "bootable")

  • UNetbootin does not work because it is not a Linux image.
  • Some people on the Internet advise to copy the content of the ISO and do other steps. This ISO has zero ISO content so it would not work. If I mount the ISO, I can see it contains zero files.

https://wiki.archlinux.org/index.php/ThinkPad_Edge has the process:

  1. Grab and unpack https://gna.org/projects/grub4dos/ (the wiki has an old link)
  2. In the grub4dos directory, sudo ./bootlace.com /dev/sdb
  3. cp grldr /media/USBSTICK
  4. cp menu.lst /media/USBSTICK
  5. cp /path/to/7yuj40uc.iso /media/USBSTICK

Finally you have to add the following code to the menu.lst on your pendrive to make the USB-Stick boot the PC DOS program made by lenovo:

title Thinkpad-BIOS-UPDATE
find --set-root /7yuj40uc.iso
map /7yuj40uc.iso (0xff) || map --mem /7yuj40uc.iso (0xff)
map --hook
chainloader (0xff)

And that's about it.


The ansewer of chx did not work when I tried to make a bootable USB-stick from the iso of a bootable CD from Lenovo, to flash the BIOS of a Thinkpad X1 Carbon. Unetbootin, multiusb etc. also did not work, as stated in the question. What worked was to grab the script geteltorito.pl, extract the so-called bootable image and dd that image to a USB flash stick. There may be a plethora of other tools to extract the bootabe image from an CD, e.g., genisoimage for ubuntu contains a binary geteltorito.

./geteltorito.pl -o g.img gruj08us.iso
dd if=g.img of=/dev/sdX bs=1M
# use lsblk to get the device, e.g., sdb; Not the partition, e.g., sdb1
# bs=1M is not necessary, just for speed

To have a look into the image, get the offset of the filesystem contained in it, e.g., using fdisk, and mount the image with that offset,

fdisk g.img
> p
# if the sector size is 512, the start of the filesystem at sector 32,
# 32 x 512 = 16384
mount -o loop,offset=16384 g.img /mount/point/
  • Exactly what's needed -- no additional bootloader and much fiddling required! – larkey Feb 26 '17 at 17:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.