Partition Table

The information about primary partitions and an extended partition is contained in
the Partition Table, a 64-byte data structure located in the same sector as the Master

Boot Record (cylinder 0, head 0, sector 1). The Partition Table conforms to a standard layout that is independent of the operating system. Each Partition Table entry is 16 bytes long, making a maximum of four entries available. Each entry starts at a predetermined offset from the beginning of the sector, as follows:

Partition 1 0x01BE (446)

Partition 2 0x01CE (462)

Partition 3 0x01DE (478)

Partition 4 0x01EE (494)

The last two bytes in the sector are a signature word for the sector and are always
0x55AA.
The next figure is a printout of the Partition Table for the disk shown in a figure
earlier in this chapter. When there are fewer than four partitions, the remaining fields are all zeros.

80 01

000001C0: 01 00 06 0F 7F 96 3F 00 - 00 00 51 42 06 00 00 00 ....

000001D0: 41 97 07 0F FF 2C 90 42 - 06 00 A0 3E 06 00 00 00 A...

000001E0: C1 2D 05 0F FF 92 30 81 - 0C 00 A0 91 01 00 00 00 .-..

000001F0: C1 93 01 0F FF A6 D0 12 - 0E 00 C0 4E 00 00 55 AA ....

The following table describes each entry in the Partition Table. The sample values correspond to the information for partition 1.

What did you think of this topic?

Let us know.

Page 5 of 11

file://C:\Documents and Settings\Michael Casimir\Local Settings\Temp\~hhC247.htm

2/3/2007

Page 6 of 11

Partition Table Fields

Byte
Offset
Field
Length
Sample
Value Meaning
00 BYTE 0x80 Boot Indicator. Indicates whether the partition is the system partition. Legal values are:
00 = Do not use for booting.
80 = System partition.
01 BYTE 0x01 Starting Head.
02 6 bits 0x01 Starting Sector. Only bits 0-5 are used.
Bits 6-7 are the upper two bits for the
Starting Cylinder field.
03 10 bits 0x00 Starting Cylinder. This field contains the lower 8 bits of the cylinder value. Starting cylinder is thus a 10-bit
number, with a maximum value of 1023.
04 BYTE 0x06 System ID. This byte defines the volume type. In Windows NT, it also indicates that a partition is part of a volume that requires the use of the HKEY_LOCAL_MACHINE\SYSTEM\DISK Registry subkey.
05 BYTE 0x0F Ending Head.
06 6 bits 0x3F Ending Sector. Only bits 0-5 are used.
Bits 6-7 are the upper two bits for the
Ending Cylinder field.
07 10 bits 0x196 Ending Cylinder. This field contains the lower 8 bits of the cylinder value. Ending cylinder is thus a 10-bit number, with a maximum value of 1023.
08 DWORD 3F 00 00
00
Relative Sector.
12 DWORD 51 42 06
00
Total Sectors.

file://C:\Documents and Settings\Michael Casimir\Local Settings\Temp\~hhC247.htm

2/3/2007

Page 7 of 11

The remainder of this section describes the uses of these fields. Definitions of the fields in the Partition Table is the same for primary partitions, extended partitions, and logical drives in extended partitions.
Boot Indicator Field
The Boot Indicator field indicates whether the volume is the system partition. On x-
86-based computers, only one primary partition on the disk should have this field set. This field is used only on x86-based computers. On RISC-based computers, the NVRAM contains the information for finding the files to load.
On x86-based computers, it is possible to have different operating systems and different file systems on different volumes. For example, a computer could have MS- DOS on the first primary partition and Windows 95, UNIX, OS/2, or Windows NT on the second. You control which primary partition (active partition in FDISK) to use to start the computer by setting the Boot Indicator field for that partition in the Partition Table.
System ID Field
For primary partitions and logical drives, the System ID field describes the file
system used to format the volume. Windows NT uses this field to determine what file system device drivers to load during startup. It also identifies the extended partition, if there is one defined.
These are the values for the System ID field:
Value Meaning
0x01 12-bit FAT primary partition or logical drive. The number of sectors in the volume is fewer than 32680.
0x04 16-bit FAT primary partition or logical drive. The number of sectors is between 32680 and 65535.
0x05 Extended partition. See section titled "Logical Drives and Extended Partitions," presented later in this chapter, for more information.
0x06 BIGDOS FAT primary partition or logical drive.
0x07 NTFS primary partition or logical drive.
Figure presented earlier in this section, has examples of a BIGDOS FAT partition, an
NTFS partition, an extended partition, and a 12-bit FAT partition.
If you install Windows NT on a computer that has Windows 95 preinstalled, the FAT partitions might be shown as unknown. If you want to be able to use these partitions when running Windows NT, your only option is to delete the partitions.

file://C:\Documents and Settings\Michael Casimir\Local Settings\Temp\~hhC247.htm

2/3/2007

Page 8 of 11

OEM versions of Windows 95 support the following four partition types for FAT file systems that Windows NT cannot recognize.
Value Meaning
0x0B Primary Fat32 partition, using interrupt 13 (INT 13) extensions.
0x0C Extended Fat32 partition, using INT 13 extensions.
0x0E Extended Fat16 partition, using INT 13 extensions.
0x0F Primary Fat16 partition, using INT 13 extensions.
When you create a volume set or a stripe set, Disk Administrator sets the high bit of the System ID field for each primary partition or logical drive that is a member of the volume. For example, a FAT primary partition or logical drive that is a member of a volume set or a stripe set has a System ID value of 0x86. An NTFS primary partition or logical drive has a System ID value of 0x87. This bit indicates that Windows NT needs to use the HKEY_LOCAL_MACHINE\SYSTEM\DISK Registry subkey to
determine how the members of the volume set or stripe set relate to each other. Volumes that have the high bit set can only be accessed by Windows NT.
When a primary partition or logical drive that is a member of a volume set or a stripe set has failed due to write errors or cannot be accessed, the second most significant bit is set. The System ID byte is set to C6 in the case of a FAT volume, or C7 in the case of an NTFS volume.
Note
If you start up MS-DOS, it can only access primary partitions or logical drives that have a value of 0x01, 0x04, 0x05, or 0x06 for the System ID. However, you should be able to delete volumes that have the other values. If you use a MS-DOS-based low-level disk editor, you can read and write any sector, including ones that are in NTFS volumes.
On Windows NT Server, mirror sets and stripe sets with parity also require the use of the Registry subkey HKEY_LOCAL_MACHINE\SYSTEM\DISK to determine how to access the disks.
Starting and Ending Head, Sector, and Cylinder Fields
On x86-based computers, the Starting and Ending Head, Cylinder, and Sector fields on the startup disk are very important for starting up the computer. The code in the Master Boot Record uses these fields to find and load the Partition Boot Sector.
The Ending Cylinder field in the Partition Table is ten bits long, which limits the maximum number of cylinders that can be described in the Partition Table to 1024. The Starting and Ending Head fields are one byte long, which limits this field to the range 0 – 255. The Starting and Ending Sector field is 6 bits long, limiting its range to 0 – 63. However, sectors start counting at 1 (versus 0 for the other fields), so the

file://C:\Documents and Settings\Michael Casimir\Local Settings\Temp\~hhC247.htm

2/3/2007

Page 9 of 11

maximum number of sectors per track is 63.
Since current hard disks are low-level formatted with the industry standard 512-byte sector size, the maximum capacity disk that can be described by the Partition Table can be calculated as follows:

MaxCapacity = (sector size) x (sectors per track) x (cylinders) x (

Substituting the maximum possible values yields:

512 x 63 x 1024 x 256 = 8,455,716,864 bytes or 7.8 GB

The maximum formatted capacity is slightly less than 8 GB.
However, the maximum cluster size that you can use for FAT volumes when running Windows NT is 64K, when using a 512 byte sector size. Therefore, the maximum size for a FAT volume is 4 GB.
If you have a dual-boot configuration with Windows 95 or MS-DOS, FAT volumes that might be accessed when using either of those operating systems are limited to 2 GB. In addition, Macintosh computers that are viewing volumes on a computer running Windows NT cannot see more than 2 GB. If you try to use a FAT volume larger than
2 GB when running MS-DOS or Windows 95, or access it from a Macintosh computer, you might get a message that there are 0 bytes available. The same limit applies to OS/2 system and boot partitions.
The maximum size of a FAT volume on a specific computer depends on the disk geometry, and the maximum values that can fit in the fields described in this section. The next table shows the typical size of a FAT volume when translation is enabled, and when it is disabled. The number of cylinders in both situations is 1024.
Translation mode
Number of heads
Sectors per track
Maximum size for system or boot partition
Disabled 64 32 1 GB Enabled 255 63 4 GB
Note
RISC-based computers do not have a limit on the size of the system or boot partitions.
If a primary partition or logical drive extends beyond cylinder 1023, all of these fields will contain the maximum values.
Relative Sectors and Number of Sectors Fields
For primary partitions, the Relative Sectors field represents the offset from the beginning of the disk to the beginning of the partition, counting by sectors. The

file://C:\Documents and Settings\Michael Casimir\Local Settings\Temp\~hhC247.htm

2/3/2007

Number of Sectors field represents the total number of sectors in the partition. For a
description of these fields in extended partitions, see the section Logical Drives and

Extended Partitions.

Windows NT uses these fields to access all partitions. When you format a partition when running Windows NT, it puts data into the Starting and Ending Cylinder, Head, and Sector fields only for backward compatibility with MS-DOS and Windows 95, and
to maintain compatibility with the BIOS interrupt (INT) 13 for startup purposes.