Linux Partitions: A Primer - page 2
When you partition a hard drive, you're creating a virtual drive within a drive. Rather than dealing with tracks and sectors, though, you're dealing with cylinders. A hard drive these days is actually a stack of platters with drive heads that work with the top and bottom of each platter. Every one of those platters has identical tracks and sectors, and a cylinder is comprised of the data contained within a particular ring of tracks as shown in Figure 3.
There are BIOS limits on the number of partitions you can have on a single drive in a PC. Perhaps one day this issue will change, when drives get so large that you might want more than sixteen partitions, but until then I wouldn't expect it to change soon. How you lay out these partitions is important, since of those sixteen partitions, only four of those can be primary, the rest have to be logical. So if you want one through four partitions then make them all primary. If you want five through sixteen partitions, then you make three of the partitions primary, the fourth a special type of container partition an extended, and then you make as many as you need (up to a total of sixteen) as logical partitions inside the extended one.
Confused? It doesn't really make a lot of sense at first glance, but that's how it works. You might notice that you don't really get sixteen partitions out of the deal. You get fifteen, since the extended partition is just a container for other partitions; you won't have any data in it. See Figure 4 for a conceptual view of how these partitions might work.