What's the limit on the no. of partitions I can have?

The limitation is due to the original BIOS design. At that time, people weren't thinking more than four different OSes would be installed on a single disk. There was also a misunderstanding of the standard by OS implementors, notably Microsoft and Linux which erroneously map file systems with (primary) partitions instead of subdividing their own partition in slices like BSD and Solaris which was the original intended goal.

The maximum number of logical partitions is unlimited by the standard but the number of reachable ones depends on the OS. Windows is limited by the number of letters in the alphabet, Linux used to have 63 slots with the IDE driver (hda1 to hda63) but modern releases standardize on the sd drivers which supports by default 15 slots (sda1 to sda15). By some tuning, this limit can be overcome but might confuse tools (see http://www.justlinux.com/forum/showthread.php?t=152404 )

In any case, this is becoming history with EFI/GPT. Recent Linuxes support GPT with which you can have 128 partitions by default. To fully use large disks (2TB and more) you'll need GPT anyway.


Sen, in response to @jlliagre, it should be noted that some operating systems will create a single partition, but essentially create sub-partitions within that space.

It is analogous, but not equal, to doing:

 parted rm 1 /dev/sda
 ...
 parted rm 7 /dev/sda
 parted mkpart primary $start $end /dev/sda
 parted mkpart primary $start1 $end1 /dev/sda1

You could then use kpartx to access these sub-partitions:

 kpartx -a /dev/sda1

The sub-partition(s) would appear as:

 /dev/sda1p1

Of course, this isn't how FreeBSD and similar systems do their slicing, exactly, but it is essentially the same thing.