La limitación se debe al diseño original del BIOS. En ese momento, la gente no pensaba que se instalarían más de cuatro sistemas operativos diferentes en un solo disco. También hubo un malentendido del estándar por parte de los implementadores del sistema operativo, en particular Microsoft y Linux, que mapearon erróneamente los sistemas de archivos con particiones (primarias) en lugar de subdividir su propia partición en segmentos como BSD y Solaris, que era el objetivo original previsto.
El número máximo de particiones lógicas es ilimitado según el estándar, pero el número de particiones accesibles depende del sistema operativo. Windows está limitado por la cantidad de letras del alfabeto, Linux solía tener 63 ranuras con el controlador IDE (hda1 a hda63), pero las versiones modernas estandarizan los controladores sd que admiten de forma predeterminada 15 ranuras (sda1 a sda15). Con algunos ajustes, este límite se puede superar, pero puede confundir a las herramientas (consulte http://www.justlinux.com/forum/showthread.php?t=152404)
En cualquier caso, esto se está convirtiendo en historia con EFI/GPT. Los Linux recientes admiten GPT con el que puede tener 128 particiones de forma predeterminada. Para usar completamente discos grandes (2 TB y más), necesitará GPT de todos modos.
Sen, en respuesta a @jlliagre, cabe señalar que algunos sistemas operativos crearán una sola partición, pero esencialmente crearán subparticiones dentro de ese espacio.
Es análogo, pero no igual, a hacer:
parted rm 1 /dev/sda
...
parted rm 7 /dev/sda
parted mkpart primary $start $end /dev/sda
parted mkpart primary $start1 $end1 /dev/sda1
Luego podría usar kpartx para acceder a estas subparticiones:
kpartx -a /dev/sda1
Las subparticiones aparecerían como:
/dev/sda1p1
Por supuesto, no es así como FreeBSD y sistemas similares hacen su corte exactamente, pero es esencialmente lo mismo.