Primary vs. Extended partitions

All this "primary" and "extended" nonsense is based on old, old, old disk partition structures from way back in the day.

Basically, the master boot record (MBR -- a data structure stored on the first sector of the hard disk drive) has "slots" for up "pointers" that describe the on-disk location of up to 4 partitions.

Somebody got the idea that an entry in the master boot record, instead of "pointing" to a partition, could "point" to yet another list of up to 4 partitions. This is the "extended" partition table.

[MBR]
 |
 |--> Location on disk of partition #1
 |
 |--> Location on disk of partition #2
 |
 |--> Location on disk of partition #3
 |
 |--> Pointer to "extended" partition table
        |
        |--> Location on disk of partition #1
        |
        |--> Location on disk of partition #2
        |
        |--> Location on disk of partition #3
        |
        |--> Location on disk of partition #4

So, basically, all these arbitrary limitations you're learning to deal with are because we're nursing a data structure from the 1980's along. >smile<


In the beginning there was the original IBM PC BIOS partition scheme, which allowed up to four partitions. The FAT16 file system as used by MSDOS 2.x and 3.x would only support a formatted volume of 32MB. When a PC hard disk was 20MB this wasn't an issue but the advent of much larger ESDI(1) disks in the mid 1980s drove an urgent need for a scheme that could support more partitions.

The key issue here is backward compatibility. Older BIOS and DOS versions only supported the four partition scheme, so a partitioning scheme that would not break older versions but could support more partitions was needed. The solution was to allow partitions to be further sliced up by setting up another partition table within that partition.

Thus, the 'extended' partition was born. Extended partitions are just a format for slicing up a partition into sub-partitions. It exists solely as a kludge to preserve backward compatibility with the old partition format.

  1. ESDI stands for 'Enhanced Small Device Interface'. It was a refinement on the ST-506 interface that allowed more sectors on the disk, faster data transfer and also removed the artificial 1024 cylinder limit of the ST-506 interface. In 1982-3 a typical PC hard disk might have been about 20-30MB where you had one at all (they were quite expensive at the time). By 1986 you could purchase an ESDI hard disk with capacities up to about 330MB.