Si tiene varios sistemas operativos en sus discos, cada uno puede estar utilizando una o varias particiones. El más mínimo desacuerdo en cuanto a dónde están dichas particiones puede acarrear catastróficas consecuencias.
El MBR contiene una tabla de particiones describiendo donde están
las particiones (primarias). Hay 4 entradas en dicha tabla, para 4
particiones primarias
struct partition {
char active; /* 0x80: arrancable, 0: no arrancable */
char begin[3]; /* CHS para el primer sector */
char type;
char end[3]; /* CHS para el ultimo sector */
int start; /* numero de sector en 32 bit (contado desde 0) */
int length; /* numero de sectores 32 en bit */
};
(donde CHS se refiere a Cilindros/Cabezas/Sectores).
Por tanto, la información es redundante: la localización de la partición
se da tanto por los campos de 24 bits begin
y end
, como por los
campos de 32 bits start
y length
.
Linux sólo usa los campos start
y length
, y puede por tanto
manejar particiones no mayores de 2^32 sectores, o lo que es lo mismo,
particiones de más de 2 TeraBytes. Lo cual es doscientas veces el tamaño
de los discos disponibles actualmente, por lo que será suficiente para los
próximos 10 años o así.
Desafortunadamente, la llamada a la INT13 de la BIOS emplea los CHS codificados en tres bytes, con 10 bits para el número de cilindro, 8 para el número de cabeza, y 6 para el numero de sector de pista.
Los números posibles de cilindro son 0-1023, de cabeza 0-255, y de sector de pista 1-63 (sí, los sectores de una pista se cuentan desde 1, no desde 0). Con esos 24 bits se puede acceder a 8455716864 bytes (7.875 GB), doscientas veces más de las capacidades de disco disponibles en 1983.
Todavía más desafortunadamente, los interfaces IDE estándar permiten 256 sectores/pista, 65536 cilindros y 16 cabezas. Esto por sí mismo permite el acceso a 2^37 = 137438953472 bytes (128 GB), pero combinado con la restricción de la BIOS a 63 sectores y 1024 cilindros hace que sólo queden 528482304 bytes (504 MB) accesibles.
Esto no es suficiente para los discos de hoy en día, por lo que la gente recurre a todo tipo de triquiñuelas, tanto vía hardware como software.