Mostrando entradas con la etiqueta BIOS. Mostrar todas las entradas
Mostrando entradas con la etiqueta BIOS. Mostrar todas las entradas

14 junio 2007

Respuesta a la pregunta anterior: el MBR y el tamaño de las particiones

Bien, la pregunta planteada en el post anterior no ha sido respondida correctamente, aunque no iban mal encaminados. Para resolverla debemos tener en cuenta que hablamos de arquitecturas basadas en IA-32, que es la más común la que tenemos en casa. Vamos a resolverla.

Cuando le damos al botón de encendido del PC un programa básico de inicio, almacenado en un chip EEPROM de la placa base, arranca: hablamos de la BIOS. La BIOS hace su tarea y le pasa el testigo al MBR. El MBR corresponde al primer sector del disco duro (512 bytes). Esos 512 bytes se dividen en 446 para código (no nos importa ahora para qué), 2 bytes para una firma de unidad arrancable (tampoco nos interesa) y 64 bytes para la tabla de particiones. ¡Estos si nos interesa para resolver el problema!

Esos 64 bytes para la tabla de particiones indican que hay 512 bits=2^9 para direccionar las particiones del disco duro. Estando en una arquitectura de 32 bits, ¿cuánto podemos direccionar con 512 bits? Lo tenemos a huevo:

2^32 x 2^9 = 2^41 = 2 TB

Efectivamente, el máximo tamaño direccionable de partición es de 2 TeraBytes. Esto es independiente del sistema operativo, es un problema de arquitectura.

Entonces, ¿no podemos tener particiones mayores de 2 TB? Sí. El problema que estamos tratando se refiere a que no podemos tener particiones arrancables mayores de 2 TB. Para el resto de particiones existen los volúmenes dinámicos (tanto en Windows como en el famoso LVM de Linux). A partir de particiones más pequeñas hacemos un conjunto, de tal manera que todas ellas se vean como una sola (para los muy profanos esto sería un RAID JBOD de particiones).

¿Realmente no puede haber particiones arrancables de más de 2 TB? No. Ya hemos visto que en la arquitectura IA-32 no se puede, pero otras arquitecturas están preparadas para usar gigantescas particiones arrancables. Estas se basan en EFI (un MBR mejorado) y particionado GPT. ¿Un ejemplo de arquitectura con EFI? Itanium e Itanium 2.

¿Que hay después del MBR? Cuándo este ejecuta su código cede el testigo al sistema operativo. El resto es de sobra conocido.