Quick Overview:- Boot CDs can start running when a computer is turned on. For historical reasons they usually "pretend" to be something other than a CD in order to succeed at this. The basics are covered on this page or you may want to go directly to related pages dealing with specific areas as shown in the menu in the left panel.
[Note 1:- The term DVD can nearly always be substituted for the term CD throughout this page. CD and DVD disks form two groups of optical media. They are called optical media because laser light is used to access them.]
[Note 2:- The disks themselves fall into two main groups. (1) Pressed CDROMs supplied from third parties (such as most installation and mainboard support CDs) and (2) Burned CDRs and CDRWs usually created by the user's own CD burning software. Pressed CDROMs are more consistently recognised by a wider variety of CD Drives.]
What is a Boot CD?
A Boot CD, if placed in its drive and the PC then started, should be capable of being booted-up in preference to other drives on the computer.
This is achieved by directing the system BIOS bootstrap code onto an El Torito defined area of the CD, which is its effective "boot sector". The boot sectors and file systems of optical media differ fundamentally from those of magnetic media and yet the same boot processes that would boot-up floppy and hard drives must be used to boot-up boot CDs. This is achieved by placing an appropriate "boot image" file as a continuous block of data at the start of the CD's effective "boot sector" and then defining this data with a "boot catalog" file. These two boot files are normally hidden from the user.
Is a Boot CD actually Bootable?
Being a boot CD and being actually bootable are two different, though related, issues. Bootability and its troubleshooting are covered on our Booting-up Bootable CDs page.
Boot Image and and its Emulation Type
If a CD has a "boot image" file it can be inferred that the CD was intended to be a Boot CD. The file itself (though normally hidden on the CD) can be identified and extracted from it with utilites such as IsoBuster (2.4MB/Free). This image file is commonly the raw image of a floppy diskette or of a hard drive and if so then floppy or hard drive emulation techniques may, respectively, be used. A third alternative is to use 'no emulation'. In this case the boot image becomes a mere continuation of the executable machine code handed over from the system BIOS bootstrap code. In other words with 'no emulation' the behaviour is simply that of a program running without a file system.
Booting to CDs that emulate other devices has one major limitation. The emulated device (now running from a CD) can no longer write to itself - even (almost without exception) if running from a rewritable CDRW disk. Writing to CDs can be tricky at the best of times and reading and writing to itself simultaneously is generally a no-no. The original, now emulated, magnetic media would not have been restricted in the same way.
Floppy emulation is the simplest to understand and manipulate and is the method outlined and used throughout our DIY Bootable CDs (Floppy Emulation) page. When a CD using floppy emulation is booted-to if behaves (or at least tries to behave) as if were split into two parts; a floppy-part which gets the drive letter A: and a CD-part which gets whatever drive letter the booted-to floppy-part has configured for it. The actual physical floppy drive gets assigned the letter B: but a second real floppy drive would become inaccessible. The CD-part of such a CD would not be accessible at all if its own floppy-part did not contain properly configured CDROM drivers. The behaviour simply attempts to mimic the original, now emulated, floppy diskette.
Hard Drive Emulation
Hard drive emulation is not all that commonly used and is less straightforward. It is used as the initial boot process to start up an EBCD; (customising an EBCD will be covered in a later page). The emulated hard drive partition booted-to would, for example, get the drive letter C: if it were running a DOS-based operating system.
If one is a machine-code nerd then one can write one's own code that will execute when a 'no emulation' boot cd is booted-up. Most of such CDs are retail (non-upgrade) installation CDs. Such operating system installations usually require multiple reboots during the subsequent processess and the 'no emulation' code can, for example, allow (or indeed may require) user intervention to decide which device is started up on each new boot-up. We cover aspects of customising Windows installation CDs on another page.
Appendix (taken from the El Torito Specification).
- An Initial Program Load Device is any device in the system that can boot and load an O/S. In standard AT machines, this is the floppy drive or hard drive.
- An IPL device can be virtually any device that has the ability to load and execute an O/S. This includes floppy drives, hard drives, CD-ROM drives.
- The BIOS Boot Specification defines a feature within the BIOS that creates and maintains a list of all the IPL devices found in the system and stores this list in NV memory. IPL devices come in three flavors: BAID, PnP Card, and Legacy. Only BAIDs and PnP Cards are enumerated. Legacy devices are not supported.
- The BIOS Boot Specification provides one basic feature, the IPL Priority. The IPL Priority is a user-specified priority of IPL devices that is arranged in Setup. This boot order is similar to the common feature of boot A: then C: or vice versa, but supports additional IPL devices.
- If an IPL device fails to load an O/S, the BIOS regains control and attempts to boot from the next available IPL device. This procedure will continue until all possible IPL devices have been exhausted. Only then will the BIOS display a message that an O/S cannot be found, wait for a key stroke, and then invoke INT 19h again. This method ensures that the BIOS has intelligently made every attempt to boot.
- A BIOS Aware IPL Device is any device that can boot an O/S, but requires the BIOS to have specific code to support it. Some examples are: the first floppy drive, the first hard drive, ATAPI CD-ROM.
- Note that only the first floppy drive and the first hard drive are considered IPL devices.
- The main reason why a system cannot boot from other drives is that the boot sector code specifically addresses only these drives (00h for floppy and 80h for hard drive) when INT 13h is called to load the O/S.
- Option ROMs are detected during the BIOS' scan and their initialization vectors are called. During initialization, devices may hook INT 19h so that they will gain control when the BIOS issues INT 19h to boot the system. Or, they may hook INT 18h so that if all other IPL devices in the system fail to boot they will take over. Or, they may simply hook INT 13h and only respond to calls that reference their drive number. In any case, the first two methods provide no consistent way for the BIOS to regain control if the device fails to boot.
Boot Menu Pop-up
- Another way to view the IPL Priority is to use a Boot Menu that pops up during POST. If you press <Hot-Key> during POST, the Boot Menu will appear just before the BIOS issues INT 19h. The Boot Menu won't appear unless <Hot-Key> is pressed.
- As in Setup, the Boot Menu displays all the IPL devices in the order they will be selected for booting. However, unlike in Setup, the Boot Menu doesn't allow you to edit the position of an IPL device in the IPL Priority. This menu simply allows you to select a Boot First device. A Boot First device attempts booting first before the regular IPL Priority is considered. You select a Boot First device from the Boot Menu by using the up/down arrow keys to move the highlight bar to the desired device, and then by pressing <Enter> the ordinal value from the IPL Priority for this selection is stored so that later the INT 19h handler can boot from this device. If you press <Hot-Key> while the Boot Menu is up, the Boot Menu exits without saving a selection.'