Drive - The Master Boot Record (MBR)

Hierachy Storage

About

A master boot record (MBR), or partition sector, is the first 512-byte sector (LBA/absolute sector 0) of a partitioned data storage device such as a hard disk.

The master boot record (MBR) is the first sector of a hard disk which is always located at:

The MBR is the most important data structure on the disk and is created when the disk is partitioned.

Windows Disk

The MBR contains a small amount of executable code called:

At the end of the MBR is a 2-byte structure called a signature word or end of sector marker, which is always set to the hexadecimal 0x55AA. A signature word also marks the end of an extended boot record (EBR) and the boot sector.

The use of basic or dynamic disk does not affect where the MBR is located on disk and only minor differences exist between the two for how the partition table is configured.

There is no MBR on a floppy disk. The first sector on a floppy disk is the boot sector. Although every hard disk contains an MBR, the master boot code is used only if the disk contains the active, primary partition.

Master Boot Code

The master boot code performs the following activities:

  • Scans the partition table for the active partition.
  • Finds the starting sector of the active partition.
  • Loads a copy of the boot sector from the active partition into memory.
  • Transfers control to the executable code in the boot sector.

If the master boot code cannot complete these functions, the system displays one of the following error messages:

Invalid partition table.
Error loading operating system.
Missing operating system. 

Disk signature

The disk signature, a unique number at offset 0x01B8, identifies the disk to the operating system.

Windows 2000 uses the disk signature as an index to store and retrieve information about the disk in the registry subkey HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices.

Windows Disk Signature Registry

Partition Table

The partition table, a 64-byte data structure used to identify the type and location of partitions on a hard disk, conforms to a standard layout independent of the operating system. Each partition table entry is 16 bytes long, with a maximum of four entries. Each entry starts at a predetermined offset from the beginning of the sector, as follows:

  • Partition 10x01BE(446)
  • Partition 20x01CE(462)
  • Partition 30x01DE(478)
  • Partition 40x01EE(494)

In Windows 2000, Only basic disk makes use of the partition table . Dynamic disk uses the Disk Management database located at the end of the disk for disk configuration information. The partition table is not updated when volumes are deleted or extended after the dynamic disk upgrade, or when new dynamic volumes are created.

The Starting and Ending chs

The Starting and Ending chs (Cylinder, Head and Sector) fields are additional elements of the partition table. These fields are essential for starting the computer. The master boot code uses these fields to find and load the boot sector of the active partition. The Starting CHS fields for non-active partitions point to the boot sectors of the remaining primary partitions and the EBR of the first logical drive in the extended partition.

Knowing the starting sector of an extended partition is very important for low-level disk troubleshooting. If your disk fails, you need to work with the partition starting point (among other factors) to retrieve stored data.

The Ending Cylinder field in the partition table is 10 bits long, which limits the number of cylinders that can be described in the partition table to a range of 0–1,023. The Starting Head and Ending Head fields are each one byte long, which limits the field range to 0–255. The Starting Sector and Ending Sector fields are each six bits long, which limits the range of these fields to 0–63. However, the enumeration of sectors starts at 1 (not 0, as for other fields), so the maximum number of sectors per track is 63.

Maximum disk capacity
Because all hard disks are low-level formatted with a standard 512-byte sector, the maximum disk capacity described by the partition table is calculated as follows:

Maximum capacity = sector size x cylinders (10 bits) x heads (8 bits) x sectors per track (6 bits)

Using the maximum possible values yields:

512 x 1024 x 256 x 63 (or 512 x 2^24) = 8,455,716,864 bytes or 7.8 GB

The calculation results in a maximum capacity of slightly less than 8 gigabytes (GB). Before logical block addressing (LBA) were introduced, the active, primary partition could not exceed 7.8 GB, regardless of the file system used.

Documentation / Reference





Discover More
Windows Disk
Data Storage - Boot Sector Startup Processes

Two sectors are critical to start a computer on Windows: the master boot record (MBR), the first sector of a hard disk and the boot sector, which resides at sector 1 of each volume. These sectors...
Windows Disk
Data Storage - Extended Boot Record

An extended boot record (EBR), or extended partition boot record (EPBR), is a descriptor for a logical partition under the common DOS disk drive partitioning system. An EBR consists of: an extended...
Harddisk
Disk - Sector (Physical block)

A sector is the block (minimal persistent unit) on a disk at the physical level. It is not possible to modify any part of the disk smaller than a sector. To change a part of the disk smaller than a sector,...
Harddisk
Drive - Cylinder

cylinder is the vertical axes in the coordinate system of a disk (hard drive, flash). For instance, the Master Boot record is located at: sector 0 Cylinder 0, head 0
Windows Disk
File System - Partition table (Sector 0)

A partition table is data that holds partition division information. The partition table is stored within the Master Boot Record of the disk (found in the first sector (0) of the disk) Partition table...
Disk In System Performance
Performance - Hard (disk|drive)

Many factors are involved in the performance of a disk system such as: the level of utilization, the rate of throughput, the amount of disk space available, the presence and development of...



Share this page:
Follow us:
Task Runner