Next Previous Contents

3. Elements of a maximal specification

Software or firmware that implements the above minimal specification will be able to handle all DOS-type partition tables written by a single version of the fdisk-type software of the common operating systems. (Using fdisk-type software from several operating systems on the same disk may create a terrible mess.)

Conversely, partition tables that satisfy the above requirements will probably work under DOS and Linux. (For DOS with the proviso that CHS addresses must agree with linear addresses, and in particular that all partitions stay below the 1024 cylinder limit. Also, that 05 is the only type indicating an extended partition.) Other operating systems, boot loaders and utilities however make more assumptions about the structure of a DOS-type partition table.

Some examples follow.

3.1 Unused partition table entries

A partition descriptor is unused if either the Partition Type or the Partition Size is zero. In this case all its entries must be zero.

3.2 Size of the outer extended partition

Many systems assume that there is at most one primary partition with a type indicating an extended partition. Moreover, that its descriptor should describe a disk segment that contains all logical partitions and is disjoint from all other primary partitions.

3.3 Order of the partition descriptors

OS/2 Boot Manager assumes that of the two partition descriptors in an extended partition table sector, the first descriptor should describe the logical and the second should describe the next partition table sector in the list. However, deleting a logical partition under DRDOS leads to the situation of an extended partition table sector with only one nonzero descriptor, the first, pointing at the next partition table sector in the list.

3.4 Order of inner extended partitions

Some utilities assume that logical partitions occur in disk order. Some utilities assume that the first sector of an inner extended partition must be past the partition table sector containing its descriptor.

3.5 Spare room

Some viruses and disk managers assume that some sectors after the MBR are unused so that they can put interesting code there.

3.6 Cylinder boundary

Some utilities assume that partitions will be aligned on cylinder boundaries. That a logical partition will start on the first cylinder after the partition table sector containing its descriptor.

3.7 DOS partitions in an extended partition

Some utilities (e.g. scandisk) are unhappy if an extended partition of type 05 does not contain at least one DOS partition (of type 01 or 04 or 06).

Next Previous Contents