BOOT RECORDS

7/19/2003

Boot Record: Boot records are an important element in bootstrapping of an operating system into a PC. Boot records are small programs whose normal function is to load ("bootstrap") additional code into memory and execute it. The additional code may be the actual program to be run, but is usually a more complex loader that takes over the rest of the loading job. The important point is that after Power On System Test, the computer BIOS searches for a bootable device, loads 512 bytes from that device and executes the code in that 512 bytes. If anything else is to happen, it is up to the code in that 512 bytes to make it happen.

The actual load mechanism is to call INT19 which will search a list of potential boot devices looking for one that is accessible. Upon finding such a device, the first sector is loaded into memory at location 07C00 and control is transferred to the code at 07C00. If the BIOS fails to find a working boot device, INT18 is called to run ROM BASIC. Since the number of PCs that actually have a ROM BASIC is vanishingly small, the outcome is an error message telling the user that there is no bootable device. On very old PCs, the error message may be "NO ROM BASIC", but thankfully more informative messages usually prevail nowadays. There is a difference between no bootable device -- usually a hardware or user (no floppy disk inserted) issue -- and the bootable device not having a usable boot record. The latter is usually a software installation issue.

The (in)famous Master Boot Record (MBR) is a boot record that includes a 64 byte table of pointers to up to four boot records and whose code contains logic for determining which (if any) of the boot records to load and use. In point of fact, A hard drive boot record does not have to have a partition table, and the partition table does not have to be in the normally accepted format. Of course, a non-standard boot record will not be compatible with FDISK and similar programs and problems will probably be encountered if that is not clearly understood.

The boot record on floppy disks is typically not an MBR, and neither (normally) are the boot records provided within partitions on a hard drive. Although the first record on a hard drive is normally an MBR, that is a convention, not a requirement. It does not have to be. In the case of boot sector viruses, disk drive overlays, or specialized bootloaders, it may not be. Floppy/partition Boot records are typically OS Specific and generally will understand the file system well enough to find critical files, load them, and execute them. At least one 512 byte game (a version of PONG) has been coded into a boot record. Floppy disks that inform the user that they are not bootable actually have a boot record. The program in that boot record just informs the user that the disk is not bootable.

Non-MBR boot records are typically tailored to a specific Operating System, and possibly to a medium, and file system type. Thus, the boot record for an MSDOS FAT32 hard drive partition will not work properly if it is somehow copied to a the boot sector of a freedos floppy. This is true even though the two OSes are otherwise highly compatible.

http://web.archive.org/web/20070708062730/http://ata-atapi.com/hiwmbr.htm

Return To Index Copyright 1994-2002 by Donald Kenney.