Page Body

How to Create Bootable USB Media From a Bootable CD Image

How an image file is created determines whether or not it can be used to create bootable USB media. Most GNU/Linux distribution image files can be used to create both bootable USB and CD media. Occasionally, you may come across an image file that is less flexible.

For example, many older Lenovo Think computers are not supported by the Linux Vendor Firmware Service (LVFS). However, Lenovo publishes operating system-independent bootable CD images that can be used to update these systems' firmware.

The issue is that Lenovo constructs these images in a way that they can only be used to create bootable CD media. If you do not have a system with an integrated optical drive (or an external optical drive), the provided images will not be of much use.

Using these images to create bootable USB media will fail, but there are GNU/Linux tools available to get past this problem.

genisoimage is a GNU/Linux command and set of tools that can:

  • Help you obtain relevant diagnostic information regarding these images
  • Enable you to extract the El Torito VD image that can be used to create bootable USB media

We can more closely examine the Debian version of the package by using the apt show command:

$ apt show genisoimage
Package: genisoimage
Version: 9:1.1.11-3.2
Priority: optional
Section: otherosfs
Source: cdrkit
Maintainer: Joerg Jaspert <joerg@debian.org>
Installed-Size: 1,692 kB
Provides: mkisofs
Depends: libbz2-1.0, libc6 (>= 2.28), libmagic1 (>= 5.12), zlib1g (>= 1:1.1.4)
Suggests: wodim, cdrkit-doc
Conflicts: mkhybrid, mkisofs
Replaces: mkisofs
Tag: hardware::storage, hardware::storage:cd, hardware::storage:dvd,
 interface::commandline, role::program, scope::utility, use::storing,
 works-with-format::iso9660, works-with::archive
Download-Size: 380 kB
APT-Manual-Installed: no
APT-Sources: http://deb.debian.org/debian bullseye/main amd64 Packages
Description: Creates ISO-9660 CD-ROM filesystem images
 genisoimage is a pre-mastering program for creating ISO-9660 CD-ROM
 filesystem images, which can then be written to CD or DVD media using
 the wodim program. genisoimage includes support for making bootable
 "El Torito" CDs, as well as CDs with support for the
 Macintosh HFS filesystem.
 .
 The package also includes extra tools useful for working with ISO images:
  * mkzftree - create ISO-9660 image with compressed contents
  * dirsplit - easily separate large directory contents into disks of
    predefined size
  * geteltorito - extract an El Torito boot image from a CD image
 .
 Please install cdrkit-doc if you want most of the documentation and
 README files.

To demonstrate genisoimage's utility, we can use the r10ur17w.iso file for a ThinkPad L390. First, we use the isoinfo command to perform a directory-like listing of the ISO 9660 image:

$ isoinfo -i "${HOME}/Downloads/r10ur17w.iso" -d
CD-ROM is in ISO 9660 format
System id: 
Volume id: R10ET51W
Volume set id: 
Publisher id: 
Data preparer id: 
Application id: NERO BURNING ROM
Copyright File id: 
Abstract File id: 
Bibliographic File id: 
Volume set size is: 1
Volume set sequence number is: 1
Logical block size is: 2048
Volume size is: 51894
El Torito VD version 1 found, boot catalog is in sector 20
Joliet with UCS level 3 found
NO Rock Ridge present
Eltorito validation header:
    Hid 1
    Arch 0 (x86)
    ID 'NERO BURNING ROM'
    Key 55 AA
    Eltorito defaultboot header:
        Bootid 88 (bootable)
        Boot media 4 (Hard Disk Emulation)
        Load segment 7C0
        Sys type 6
        Nsect 1
        Bootoff 1B 27

The -i ex_iso_image option specifies a path to the ISO 9660 image that we want to examine. The -d option prints information from the primary volume descriptor (PVD) of the ISO 9660 image.

We can see that:

  • The r10ur17w.iso image is in the ISO 9660 format.
  • There is an El Torito VD image with a boot catalog in sector 20.
  • The image is utilizing Hard Disk Emulation.

Next, we extract the El Torito VD image using the geteltorito command:

$ geteltorito -o "${HOME}/Downloads/r10ur17w.img" "${HOME}/Downloads/r10ur17w.iso"
Booting catalog starts at sector: 20 
Manufacturer of CD: NERO BURNING ROM
Image architecture: x86
Boot media type is: harddisk
El Torito image starts at sector 27 and has 206848 sector(s) of 512 Bytes

Image has been written to file "/home/amnesia/Downloads/r10ur17w.img".

The -o option writes the extracted El Torito VD image output file to /home/amnesia/Downloads/r10ur17w.img.

Finally, we can write the r10ur17w.img file to a USB key using the tool of our choice (e.g., dd, Fedora Media Writer).

Enjoyed this post?

Subscribe to the feed for the latest updates.