Tabla de particiones de Intel

From CGSecurity
Jump to: navigation, search

En.png English De.png Deutsch Es.png Español Fr.png Français Ru.png Русский


¿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)