# Tabla de particiones de Intel

### From CGSecurity

english version deutsche Version versión español version française

## ¿Como es escrita la tabla de particiones?

Los valores de CHS (Cylinder, Head, Sector) están limitados por un número de bits por cada valor en las tablas de entradas de 16 bytes de la partición a: 1023,254,63. Entonces los valores LBA y CHS pueden ser iguales para HD mayores a 8 GB.

Hay dos formas de guardar los valores de CHS:

- primera forma

     convertir LBA a CHS,
     store (cylinder & 0x3FF, head & 0xFF, sector & 0x3F)

Es lo que hace el Partition Magic (versiones anteriores a 8.0?).

- segunda forma

     convertir LBA a CHS
     if cylinder <= 1023,
       store (cylinder & 0x3FF, head & 0xFF, sector & 0x3F)
     else
       store (1023, max_head & 0xFF, max_sector & 0x3F)

Esto es lo que haces fdisk de Linux y TestDisk.

Cuando TestDisk checkea la tabla de particiones, considera que las dos formas pueden ser correctas. Pero la segunda forma es mejor, porque el CHS de comienzo es siempre más bajo ó igual al CHS de finalización.

Ejemplo: Una geometría de disco rígido es de 255 cabezales por cilindro y 63 sectores por cabezal. Una partición comienza en LBA=46781280 ó CHS=2912,0,1. Esta partición finaliza en 3072,254,63.

- Primera forma:

     start:  864,  0, 1
     end:      0,254,63

- Segunda forma:

     start: 1023,254,63
     end:   1023,254,63

NB: 1023 = 0x3FF (1023*255+254)*63+63-1=16450559 (2912*255+ 0)*63+ 1-1=46781280

El Partition Magic (veriones anteriores a 8.0?) considera la segunda forma como inválida; aunque está acordada con estándares. TestDisk maneja ambas formas sin quejas.

Volver a la página TestDisk (Castellano)

Category: Data Recovery