Starting with DOS 3.3, DOS supports a system that makes it possible for a
hard disk to contain additional DOS partitions beyond the maximum of four
that was available in previous versions.
Originally, this was a work-around for the 32 MB-per-partition limit (that
went away with DOS 4.0), but it can still be used to create additional
logical disk volumes. For instance, a hard disk can contain, say 3 non-
DOS partitions and 20 DOS partitions.
bFileSysCode field, that entry actually defines the location of a
secondary Master Boot Sector which contains its own variation of a
partition table, called an extended partiton record.
Each extended partition record has at most two entries. One will
the DOS partition. It will have a bFileSysCode of 1, 4, or 6. The
second (if any) will have a bFileSysCode of 5, indicating the
location of another extended partition record.
These logical drives are not bootable, so the sector does not need to
contain any Master Boot Record-style boot code. It just needs the
Entries cannot identify non-DOS partitions. bFileSysCode values must
be one of: 00 table entry is empty
01 defines 12-bit DOS logical drive
04 defines 16-bit DOS logical drive < 32 MB
05 defines another extension table
06 defines 16-bit DOS logical drive > 32 MB
The table will have either one or two entries. One entry defines a
type-1, 4, or 6 DOS drive. The second (optional) entry may be a
type-5 extension table indicator. You can define only one drive per
When bFileSysCode is 1, 4, or 6, the start/end Hd/Sec/Cyl values are
relative to the extension boot sector.
When bFileSysCode is 5, the start/end Hd/Sec/Cyl values are absolute
(relative to the beginning of the physical disk).