Opentopia Directory Encyclopedia Tools

Master boot record

Encyclopedia : M : MA : MAS : Master boot record


Layout of a Master Boot Record
Address Description
0x0000 Code Area
0x018A Four 9 byte primary partition table entries (IBM extensions to the MBR Partition Table scheme)
0x01B8 4 byte disk signature
0x01BE Four 16 byte primary partition table entries (MBR Partition Table scheme only)
0x01FE 2 byte MBR signature (0xAA55)
A Master Boot Record (MBR), or partition sector, is the 512-byte boot sector that is the first sector of a partitioned data storage device such as a hard disk. (The boot sector of a non-partitioned device is a Volume Boot Record, which is also the term used to describe the first sector of an individual partition on the device) It is sometimes used for bootstrapping operating systems, sometimes used for holding a disc's partition table, and sometimes used for uniquely identifying individual disc media; although on some machines it is entirely unused and redundant.

MBRs and disc partitioning

Layout of partition record
Offset Description
0x00 2)
0x01 Cylinder-head-sector address of the first sector in the partition
0x04 Partition type
0x05
0x08 Logical block address of the first sector in the partition
0x0C Length of the partition, in sectors
Layout of IBM extended partition record
Offset Description
0x00
0x01 Space-padded partition name
Where a data storage device has been partitioned with (what Microsoft terms) the MBR Partition Table scheme (i.e. the conventional IBM PC partitioning scheme), the Master Boot Record contains the primary entries in the partition table. The partition table entries for other, secondary, partitions are stored in Extended Master Boot Records, BSD disklabels, and Logical Disk Manager metadata partitions that are described by those primary entries.

By convention, there are exactly four primary partition table entries in the MBR Partition Table scheme, although some (rare) systems have been known to extend this to five, or to eight, entries.

Where a data storage device has been partitioned with the GUID Partition Table, the Master Boot Record does not contain the partition table (although it contains dummy data structures, a "protective MBR", to prevent utility programs that only understand the MBR Partition Table scheme from creating partitions on the disc) and is wholly unused as far as disc partitioning is concerned.

MBRs and system bootstrapping

On IA-32 IBM PC compatible machines using the MBR Partition Table scheme, the bootstrapping firmware contained within the ROM BIOS loads and executes the master boot record. Because the i386 family of processors boot up in real mode, the code in the MBR comprises real mode machine language instructions. This code in its turn normally comprises code for chain loading the Volume Boot Record of the active (primary) partition, although some boot managers replace that conventional code with their own.

The conventional MBR code expects the MBR Partition Table scheme to have been used, and scans the list of (primary) partition entries in its embedded partition table to find one that is marked with the active flag. It then loads and runs the Volume Boot Record for that partition. Thus the BIOS boots an operating system without being aware of the actual disc partition that contains that operating system, or of being aware of disc partitioning at all. (And thus the Master Boot Record, like other boot sectors, is a target for boot-sector infecting computer viruses. See boot sector.)

The MBR replacement code in some boot managers can perform a variety of tasks, and what those tasks are varies from boot manager to boot manager. In some, for example, it loads the remainder of the boot manager code from the first track of the disc, which it assumes to be "free" space that is not allocated to any disc partition, and executes it. In others, it uses a table of embedded disc locations to locate the remainder of the boot manager code to load and to execute. (Both approaches have problems. The first relies on behaviour that is not universal across all disc partitioning utilities. The second requires that the embedded list of disc locations be updated when changes that would relocate the remainder of the code are made.)

On machines that do not use IA-32 processors, or on machines that use the GUID Partition Table scheme, this design is unsuitable, and the MBR is not used as part of the system bootstrap. Instead the firmware is capable of directly understanding the GPT partitioning scheme and the FAT filesystem format, and loads and runs programs held as files in the EFI System Partition. The MBR is not involved in system bootstrapping (except indirectly, insofar as it might contain the partition table if the MBR Partition Table scheme has been used) at all.

MBRs and disc identity

In addition to bootstrap code and partition tables, a third thing that may be contained in a Master Boot Record is a Windows NT disk signature. This is a 32-bit value that is intended to uniquely identify the disc medium (as opposed to the disc unit — the two not necessarily being the same for removable hard discs).

The disc signature was introduced by Windows NT version 3.5, but is now used by several operating systems, including version 2.6 and later of the Linux kernel. Windows NT uses the disc signature as an index into its registry, where it stores the persistent mappings between disc partitions and drive letters. It also uses it in the boot.ini file to describe the location of bootable Windows NT partitions. Linux uses the disc signature at boot time to determine the location of the boot volume.

Footnotes

backing up the BIOS

in UNIX/Linux dd can be used to backup and restore the MBR to backup
dd if=/dev/xxx of=mbr.backup bs=512 count=1
to restore
dd if=mbr.backup of=/dev/xxx bs=1
where xxx is the device. can be hda,sda, or anyother.

References

Further reading

See also

 


From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.

Search Titles
0123456789
ABCDEFGHIJ
KLMNOPQRST
UVWXYZ?

E-mail this article to:

Personal Message: