isohybrid
Make ISO images bootable from USB drives
SYNOPSIS
isohybrid [OPTIONS] <ISO_IMAGE_FILE>
PARAMETERS
<ISO_IMAGE_FILE>
The path to the input ISO 9660 image file that isohybrid will convert. This ISO must already be an El Torito bootable image.
-o, --output <FILE>
Specifies the path and filename for the resulting hybrid ISO image. If omitted, isohybrid will attempt to modify the input file in place (though using a separate output file is generally safer).
-u, --uefi
Enables UEFI bootability by adding an EFI System Partition (ESP) and necessary EFI boot information to the hybrid image. This allows the image to boot on modern systems using UEFI firmware, in addition to traditional BIOS.
-A, --architecture <ARCH>
Specifies the architecture for which the boot record should be prepared. Examples include i386, x86_64, armhf, aarch64. This is important for ensuring the correct bootloader is invoked on multi-architecture systems.
-f, --force
Forces isohybrid to overwrite the specified output file if it already exists, without requiring user confirmation.
-c, --boot-catalog <PATH>
Sets the path to the boot catalog file within the ISO image. This is a component of the El Torito specification that directs the system to bootable images.
-B, --boot-info-table
Adds a boot information table to the MBR. This table is used by some bootloaders, such as those from the Syslinux project, to pass essential information during the boot process.
-L, --lba-align
Aligns partitions within the MBR to Logical Block Addressing (LBA) boundaries. This can improve compatibility and potentially performance, especially with larger USB drives or specific hardware.
-N, --no-isolinux
Prevents isohybrid from making the image Isolinux bootable. This is an advanced option for scenarios where a custom MBR or boot process is desired, not typically used for general hybrid images.
-s, --sectors <NUM>
Specifies the number of sectors for the MBR. This is an advanced configuration option and is rarely needed for standard usage.
-p, --partnum <NUM>
Sets the partition number for the bootable partition within the MBR. The default value is typically 1.
-v, --verbose
Enables verbose output, providing more detailed information about the operations being performed during the conversion process.
-h, --help
Displays a brief help message with command usage and options, then exits.
-V, --version
Displays the version information of the isohybrid utility and exits.
DESCRIPTION
isohybrid is a utility designed to modify an existing El Torito bootable ISO 9660 image, transforming it into a 'hybrid' image. This hybrid image gains the ability to be bootable from both traditional optical media (CD/DVD) and directly from USB flash drives or other raw block devices. The command works by embedding a Master Boot Record (MBR) and a partition table into the ISO file, alongside the existing ISO 9660 filesystem structure.
When written raw to a USB drive (e.g., using `dd`), the device's firmware (BIOS or UEFI) can recognize it as a standard hard drive with partitions, allowing it to boot from the MBR. When burned to a CD/DVD, it functions as a regular bootable ISO. This dual-boot capability is invaluable for creating versatile installation media or live system disks for various operating systems, especially Linux distributions, eliminating the need to maintain separate images for different boot methods.
CAVEATS
The primary prerequisite for isohybrid is that the input ISO image must already conform to the El Torito bootable CD-ROM specification. isohybrid does not create the initial bootable ISO; it merely modifies an existing one.
The resulting hybrid image is designed to be written raw to a USB drive using tools like dd; simply copying the file will not make it bootable from USB. Compatibility can sometimes vary across different BIOS/UEFI firmware implementations or specific USB drive models.
TYPICAL USAGE WITH DD
Once an ISO image has been processed by isohybrid, it is typically written to a USB drive using the dd command. A common invocation looks like this:sudo dd if=/path/to/your-hybrid.iso of=/dev/sdX bs=4M status=progress
It is crucial to replace /path/to/your-hybrid.iso
with the actual path to your modified ISO file, and /dev/sdX
with the correct device identifier for your USB drive (e.g., /dev/sdb
, /dev/sdc
). Incorrectly specifying of
can lead to data loss on other disks.
THE EL TORITO BOOT STANDARD
The El Torito bootable CD-ROM specification, published in 1995, defines a method for making CD-ROMs bootable. It allows an ISO 9660 filesystem to contain boot information that a BIOS can recognize and use to boot a system. isohybrid leverages this existing standard: it takes an ISO that is already El Torito compliant and adds a complementary MBR that allows the *same* boot information to be accessed and used when the image is treated as a raw disk, thereby enabling USB bootability without altering the fundamental El Torito structure.
HISTORY
isohybrid is a key component of the Syslinux project, a collection of lightweight bootloaders developed primarily by H. Peter Anvin. Its development addressed the growing need for a single, versatile ISO image capable of booting from both traditional optical media and increasingly popular USB flash drives. Prior to isohybrid, users often had to manage separate images or use complex multi-step processes for different boot targets. By integrating MBR and partition table structures into existing El Torito ISOs, isohybrid significantly streamlined the creation of universal bootable media, making it an indispensable tool for Linux distribution creators and users.
SEE ALSO
dd(1), mkisofs(8), genisoimage(1), xorriso(1), isolinux(8), syslinux(8)