Creating a CD-ROM that is bootable is easier than you think! There are many applications for bootable CD-ROMs (we’ll call them BCDs) – the most common being when undertaking large roll-outs and when using test rigs, where it is often useful to combine operating systems with boot and diagnostic diskettes to automate the process of setting up machines.
If you need to repeatedly test from clean installations it can save lots of time if you image a disk drive and put the image, along with the imaging software, on a BCD.
It can also be a timesaver to have frequently used boot and diagnostic diskettes on CD, and it’s an easy way to work with PCs that do not have a floppy disk drive.
To see if a PC supports booting from a CD, check your BIOS set-up screens. SCSI drives have their own BIOS on the adapter; IDE drives use code in the system BIOS. Most modern SCSI adapters have a BIOS that allows it, and most motherboards of the last two years support booting from IDE CD drives.
If you are able to change the boot options, and it lists “CD-ROM”, your system supports booting from a CD. If you have a 1995 or 1996 motherboard or SCSI card that does not support it, it’s probably worth contacting the manufacturer -many have BIOS upgrades available.
When a BCD is created, a “boot record” is put at the very beginning of the CD, just as it is with a bootable floppy or hard disk.
This record specifies whether the CD is to emulate a floppy or hard disk drive, and contains a pointer to the location of the actual boot image file.
The El Torito specification, created by IBM and Phoenix Technologies, was designed to be completely compatible with the ISO 9660 CD standard. It adds to the ISO 9660 specification by requiring a boot record at sector 11 of the last session on the CD.
The boot record contains an absolute sector number that points to the “boot catalog”. There’s no restriction on the location of the boot catalog. The catalog contains a list of entries describing all the “boot images” present on the CD. Again, there’s no restriction on where the boot images can be on the CD.
There can be any number of them, of three different types:
- Bootable emulation – causes the image to be mapped to drive A or C, as a conventional bootable storage device.
- Non-bootable emulation – maps the image as a conventional storage device, and allocates the last drive letter to it.
- No emulation – is a special mode which loads the image into memory and executes it -extremely useful when developing copy protection or “smart” CDs designed for a variety of disparate systems. For example, the “no emulation” mode is used in the Windows NT operating system CDs.
There is much scope for system vendors to create multi-image CDs where the boot image is selected dynamically by the system BIOS, but this requires a lot of manual assembling and editing, and is beyond the range of this article.
Although it is relatively easy to manually assemble the boot catalog, most BIOSes do not allow selection of the image and you will have to write a small amount of low level system code to do it. CDs can be set to boot as drive A or C. The fact that they are a late addition to the PC makes them subject to certain other restrictions.
To boot as drive A, the boot image must be made in the same format as a 1.2 MB, 1. 4 MB or 2. 88 MB floppy disk. The first floppy disk drive, if present, will become the B drive. If the system has a second floppy disk drive, it will not be accessible.