What is a bootable CD?
A bootable CD is a disc that is designed in such a way that a computer system can load a boot image off of it.
A boot image is an exact copy of a disk, usually a floppy disk, which the system uses to start the boot process.
Rather than reinvent the wheel by creating an entire new boot process, the CD pretends("emulates") that it is another device, such as a hard or floppy disk.
In order for your PC to boot from a CD or DVD, a few things are necessary. You need a CD or DVD drive(which we'll refer to as an "optical drive" for this discussion) attached to a controller that supports a specification called "El Torito", and you need a bootable disc.
A bootable disc is the same as a normal disc, with some slight exceptions:
What do you use a bootable CD for?
It must be formatted in straight ISO-9660. 8.3 filenames, buddy. Any long filenames or other filesystems will have the filenames truncated when you boot from the disc.
It has to have a bootable image file in the root directory
A bootable CD is most often used for servicing or maintaining a computer or its operating system - for example, installing Microsoft Windows or xBSD or Linux.
Another, increasingly popular use of Bootable CDs is to run a simplified operating system for emergency backup or kiosk purposes. Good examples of this are Knoppix and the Microsoft Windows Preinstallation Kit.
A CD is more durable and holds more data than a floppy disk. Thus, many computer technicians, myself included, use them exclusively when possible - even converting existing bootable floppies to CD format in many cases.
How do I create a Bootable CD?
Before you begin, you need to figure a few things out.
- What operating system am I trying to host on the disc? Anything bootable is based on some operating system, tailored to task.
- Can you fit everything you need onto one floppy disk? You'll understand why later.
- Do you actually have the materials you need? You will probably use a floppy disk and a CD.
- Do you have real CD burning software? Windows XP drag-and-drop-and-burn won't cut it. I use Roxio Easy CD Creator 5 or 6, but Nero and *nix CD tools will work.
Let's make a super-charged Windows bootdisc, shall we?
There's a bit of interesting theory to making this work. First, you have to create a functioning boot floppy disk, then use the aforementioned CD burning software to transfer an exact image of the disk to your CD.
This creates two files in the root directory of the CD;
BOOTCAT.BIN and BOOTIMG.BIN in most cases(but there are exceptions to everything - see Finagle's Law).
The floppy disk you start with will be a Windows 98 Second Edition
boot floppy with the following files as a minimum:
- The basic boot files; Io.sys, Command.com, and Io.sys . You can't just copy these to the disk; Use the "sys" command under Windows 9x or format the floppy disk with the "create boot disk" option.
- A real-mode ATAPI CDROM driver, such as Oakcdrom.sys - You won't be able to access files on the CD without this.
You can "roll your own" Autoexec.bat and Config.sys to run CD, mouse, and other such drivers, but if you're not a DOS fogey, just create a blank file in Notepad containing the following incantation
and save it to the disk as Autoexec.bat .
Next create another blank file containing
DEVICE=<insert CD driver filename> /d:cd0000
and save it to the disk as Config.sys .
The following instructions apply to Roxio Easy CD Creator 5.xx, but all versions of Adaptec and Roxio Easy CD Creator will be almost the same. Nero has a wizard that does this even easier - just look for it. Nothing is simple in Linux, so you're on your own if you're using XCDRoast or something similarly arcane.
Insert your prepared floppy disk and blank CD. I try to avoid labelling a CD until the burn process is complete, so I don't wind up having to wonder if the disc labelled "Windows XP Pro" is good or not when I'm packing for a service call. If you're running a variant of XP, close out the "What do you want to do?" dialog that pops up, and start Easy CD Creator.
From the File menu, select New CD Project, and choose Bootable CD. An option dialog will surface, asking you what kind of boot image you want to use. From the dropdown menu, choose Floppy Emulation - 1.44Mb, and select "Generate Image from Floppy". Press OK, and wait for ages while Roxio generates the image from the disk.
Now you are able to drop any DOS-based utilities or Windows setup files you may want to use onto the disc. Most non-NT-based Windowses have a single folder on the disc you can copy to your CD to set up Windows from, usually named Win95 or WinME - you get the idea. It's also a good idea to copy the files from (Windows folder)\Command to your disc for convenience. When you're finished, go ahead and burn the disc. Label it. No, get over there and label that disc. I have about 1000 burned discs in my workshop, and labelling can really be a necessity.
Now you're ready to test your disc. Take out the floppy disk and reboot. If your system picks up the disc, you're done. If not, try looking in your CMOS setup for a "Boot sequence" option... it's in there somewhere on most systems. You need to boot the CD before the hard disk.
Congratulations, you've done it. Feel free to msg me if you have any problems/questions.
Some useful links and utilities
www.knopper.net/knoppix - Knoppix, a fairly compete linux CD distro that boots from a CD
www.opus.co.tt/dave/ - A collection of good DOS utilities to zing up your CD
nu2.nu - Maintains some really amazing bootable CD "builders", including a bootable Windows XP disc.
www.ultimatebootcd.com - A bootable CD that just about has everything. You gotta see this to believe it.