The master boot record is always located on sector 1 of the first track
(track 0) on the disk. The following table shows the layout of the various
components inside the Master Boot Record. The various components are described
below.
ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³Offset ³Description ³Size ³
ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³+0 ³Master Boot Record Program ³446 bytes ³
ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³+446 ³Partition Table ³64 bytes ³
ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³+510 ³Signature (55AAH) ³2 bytes ³
ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Master Boot Record Program
This code is given
control from BIOS during boot. Its function is to load the operating system's
boot program from the partition that was marked as being startable and turn
control over to the (assumed) code that was loaded.
The Master Boot Record Program may be placed on the disk by individual operating
systems. If the signature in the Master Boot Record is valid, then the Master
Boot Record Program must not be modified. Operating systems must not place
requirements on nor make assumptions about the Master Boot Record Program.
Partition Table
This
is a vector of 4 structures that allows the disk to be divided up into four
distinct areas or partitions. The following table shows how they are arranged
in this vector.
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³Offset ³Description ³Size ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³0 ³Partition 1 ³16 bytes ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³16 ³Partition 2 ³16 bytes ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³32 ³Partition 3 ³16 bytes ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³48 ³Partition 4 ³16 bytes ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
It is up to an individual operating system if one of those parts is to be
further sub-divided. For example, DOS Version 3.30 implemented a scheme
where an "extended partition" could be used to define logical disks to allow
the use of larger hardfiles.
The following table shows the format of the individual entries in the partition
table. A description of the individual fields follows.
ÚÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄ¿
³Offset³ Description ³ 0 ³ 1 ³ 2 ³ 3 ³
ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄ´
³ +0 ³Partion Start³ Boot ³ Head ³ Sector ³Cylinder ³
³ ³ ³Indicator³ ³ ³ ³
ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄ´
³ +4 ³Partion End ³ System ³ Head ³ Sector ³Cylinder ³
³ ³ ³Indicator³ ³ ³ ³
ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄ´
³ ³ Offset from ³ ³ ³
³ +8 ³start of disk³ Low Word ³ High Word ³
³ ³ (sectors) ³ ³ ³
ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ ³ Partion ³ ³ ³
³ +12 ³ Length ³ Low Word ³ High Word ³
³ ³ (sectors) ³ ³ ³
ÀÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Partition Start
This 4 byte field identifies
the beginning of a partition. It also contains an indicator that flags the
partition as being active or bootable. This field is composed of several
bytes defined as follows.
Boot Indicator
This
byte indicates if the partition is active. If the byte contains 00H, then
the partition is not active and will not be considered as bootable by the
Master Boot Record Boot Program. If the byte contains 80H, then the partition
is considered active. The Master Boot Record Boot Program will then attempt
to load the first sector described by this partition table entry and transfer
control to it. The Master Boot Record Boot Program should only attempt to
boot the first partition it finds that is marked active.
Head
This byte contains the number of the first
head of the partition.
All partitions are allocated in cylinder multiples and begin on sector 1,
head 0.
EXCEPTION: The partition that is allocated at the beginning of the disk
should start at cylinder 0, head 1, sector 1, to leave room for the disk's
master boot record and other information used to define the fixed disk type
on that system. An operating system should not use any data space on cylinder
0 head 0 of a fixed disk.
Sector
This
byte contains the sector number of the first sector of the partition. This
value should always be 1 (sector numbers are 1 based) for the Partition
Begin field because partitions are defined to start on cylinder boundaries.
Note that the sector number byte also contains the high
order 2 bits of the cylinder number in the high order 2 bits of this byte.
Therefore, this byte can have values other than one, but the sector bits
of this byte always contains the value 1.
Cylinder
This byte contains the low order 8 bits of
the 10 bit cylinder number that indicates the starting cylinder of the partition.
Partition End
This
4 byte field identifies the end of the partition. It also contains an indicator
as to which operating system owns the partition. This field is composed
of several bytes that are defined as follows.
System
Indicator
This byte indicates what operating
system owns the particular partition. The values and what they represent
are listed in Fixed Disk Partition
ID Assignments. A value of 0 indicates an unused entry.
Head
This byte contains the last head number in
the last cylinder occupied by this partition.
Sector
This byte contains the sector number of the
last sector on the last cylinder occupied by this partition. It also contains
the high order two bits of the cylinder number in the high two bits of this
byte.
Cylinder
This
byte contains the low order 8 bits of the 10-bit cylinder number that indicates
the ending cylinder of this partition.
Offset
from Start of Disk
This 4-byte field contains
the number of sectors preceding each partition on the disk. The value is
obtained by counting the sectors beginning with cylinder 0, sector 1, head
0 of the disk, and incrementing the sector, head, and then cylinder values
up to the beginning of the partition. Thus, if the disk has 17 sectors per
track and 4 heads, and the second partition begins at cylinder 1, sector
1, head 0, the partition's starting relative sector is 68 (decimal)-there
were 17 sectors on each of 4 heads on 1 track allocated ahead of it. The
field is stored with the least significant word first.
Partition
Length
This 4 byte field contains the number
of sectors allocated to the partition. This field is stored least significant
word first.
Signature
The
last 2 bytes of the boot record (55AAH) are used as a signature to identify
a valid boot record containing code that is executable on Intel X86 processors.
Both this record and the partition boot records are required to contain
the signature at offset 01FEH (510).
[Back: Boot Record Architecture]
[Next: Fixed Disk Technical Information]