Bootable CD-ROM Format Specification
Version 1.0 Copyright 1994 Phoenix Technologies and IBM All Rights Reserved. Page 8
2.0 ISO-9660 and the Booting Catalog
One goal of this specification is to maintain ISO-9660 compatibility while providing system BIOSs with a simple way
of getting to the location on the CD that contains the material to be booted. ISO-9660 defines that a “Primary Volume
Descriptor” must reside at sector 10 (16 decimal), relative to the start of the session, followed by any number of other
Volume Descriptors, followed by a “Volume Descriptor Set Terminator.” The El Torito Bootable CD Specification
builds on this format by requiring a “Boot Record” Volume Descriptor as defined in section 8.2 of ISO-9660. See
figure 7 for a description of the Boot Record. This “Boot Record” must reside at sector 11 (17 decimal) in the last
session on the CD. The Boot Record contains an absolute pointer to the Boot Catalog. The Boot Catalog is a
collection of 20 byte entries (as described below), packed 40 entries to the sector. There is no limit to the number of
sectors the Boot Catalog uses. This catalog allows the system to pick a proper boot image and then to boot from the
selected image. The image may be virtualized into INT 13 drive number 00 or 80 for bootable disk emulation, or n+1
for a “non-bootable” emulation, where n is the number of the last hard drive initialized by the BIOS. The image may
also simply be some code which will be loaded at boot time (no emulation). The BIOS will choose a drive number
between 81 and FF when “no emulation” is specified. There are 5 types of entries diagrammed in figures 2-6. These
entries define a validation procedure for the bootable CD, an Initial/Default entry, a section header, a section entry, and
a Section Entry Extension.
2.1 Validation Entry
This must be the first entry in the boot catalog. The Validation entry validates that a booting catalog is present on the
disk and identifies the manufacturer of the CD. If this entry is valid, it is assumed that the rest of the entries are valid.
See figure 2 for a description of the Validation Entry.
2.2 Initial/Default Entry
The initial entry must contain a boot image which consists of generic programs/drivers that use only the BIOS
provided INT 13 interface. The BIOS INT 13 interface consists of functions 0-19 and may optionally include functions
40-48. This entry will always be used by a BIOS that does not use any of the provided section headers. See figure 3
for a description of the Initial/Default Entry.
2.3 Section Header
If the CD was created for a machine with a BIOS incorporating this specification, the Section Header precedes a group
of entries from which the BIOS may boot the computer. The section header has an identification string. If the BIOS
understands the ID, string it may choose to boot the system using one of these entries in place of the
INITIAL/DEFAULT entry. A good example would be a BIOS that supports multi-language capability. The BIOS
manufacturer defines a header string and selection criteria. When CD’s have a section that incorporates the header
string and section entries, the BIOS automatically boots software in the native language of the BIOS. See Figure 4 for
a description of the Section Header.
2.4 Section Entry
Section Entries must follow a Section Header. The Section Entry looks a lot like the Initial/Default Entry except the
unused bytes contain selection criteria. The format of the selection criteria is a function of the BIOS vendor, the other
fields are standardized for compatibility reasons. In the case of a foreign language BIOS three bytes would be used to
identify the language. If the BIOS does not support languages, the Default entry determines the appropriate language
and reinitiates the boot procedure using the proper boot image. If the 13 bytes provided for selection criteria are
insufficient, a Section Entry Extension can be added by setting bit 5 of byte 1. See “Section Entry Extension” for
details. See Figure 5 for a description of the Section Entry.