¡El gestor de arranque sencillo para todos!  
Producto
Pedir
Apoyo
  LBA y CHS
Acerca de

Formato LBA y CHS, asignación LBA

Formato LBA:
LBA es la abreviatura de Logical Block Address. Esto significa simplemente que los sectores de un disco se numeran secuencialmente a partir del número LBA 0. Cada sector se identifica mediante su número LBA inequívoco. El formato LBA es compatible con BIOS (desde 1995) y con UEFI.

Formato CHS:
El formato CHS es el esquema inicial de BIOS para identificar un sector de disco. El formato CHS no es utilizado por UEFI.

En el formato CHS, un sector se identifica por su número de Cylinder/Head/Sector (cilindro/cabezal/sector). Al principio, estos valores significaban la ubicación física del sector en el disco, pero más tarde se convirtieron en números lógicos. El número (lógico) de cilindros, cabezales y sectores por pista se puede determinar mediante la función 08h o 48h de la interrupción 13h de la BIOS. El formato CHS es compatible con todas las BIOS, pero está limitado a un tamaño de disco de 8 GB (véase más abajo).

El formato CHS tiene las siguientes restricciones:

   número de cilindro   0 - 1023   (10 Bit)
   número de cabezal   0 - 254   (8 Bit)
   número de sector   1 - 63   (6 Bit)

Debido a un problema en el sistema operativo DOS, un número máximo de cabezales de 255 provoca un fallo, aunque la BIOS permitiría este número. Por lo tanto, no se utiliza un número máximo de cabezales de 255 en general.

Tamaño máximo del disco:
Para el formato CHS en la tabla de particiones y para llamar a las funciones del BIOS, por lo general solo hay 24 bits disponibles. Con 24 bits y un tamaño de sector de 512 bytes, es posible direccionar todos los sectores de un disco hasta un tamaño máximo de 8 GB. Para el esquema de direccionamiento LBA, hay 32 bits reservados en la tabla de particiones. Con el mismo tamaño de sector de 512 bytes, se pueden direccionar todos los sectores de un disco hasta un tamaño máximo de 2048 GB (2 TB). La INT 13h extendido utiliza incluso 64 bits para almacenar el número LBA. Debido a su concepto más sencillo y a la posibilidad de admitir discos más grandes, todos los sistemas operativos modernos utilizan internamente el formato LBA para el acceso directo al disco.

Conversión entre CHS y LBA:
Es posible convertir el formato LBA a CHS y viceversa. Conceptualmente, ambas formas son equivalentes. Un sector C/H/S en formato CHS tiene el siguiente número LBA:

LBA = C x Num_Head x Num_Sec + H x Num_Sec + (S - 1)
Aquí, Num_Sec significa el número (lógico) de sectores por pista y Num_Head el número (lógico) de cabezales. Solo estos dos parámetros geométricos (lógicos) del disco son relevantes para la conversión. El número de cilindros no es importante para la conversión.

Asignación LBA:
Los dos parámetros de conversión Num_Head y Num_Sec se resumen como asignación LBA. La asignación LBA determina la conversión entre los números CHS y LBA de un sector. Estos dos parámetros se obtienen de la función AH=08h de la interrupción estándar 13h del BIOS. Incluso si se admite la interrupción extendida 13h, la asignación LBA se obtiene de la INT 13h estándar. Los parámetros del disco que se devuelven desde la INT 13h extendida solo son útiles para calcular el tamaño total del disco.

El tamaño total del disco es simplemente el producto del número total de sectores (número de cilindros x número de cabezales x número de sectores/pista) por 512 (el tamaño del sector).