Menu Geometria

From CGSecurity
Jump to navigation Jump to search

En.png English De.png Deutsch Es.png Español Fr.png Français


TestDisk 6.2-WIP, Data Recovery Utility, November 2005
Christophe GRENIER <grenier@cgsecurity.org>
https://www.cgsecurity.org


Disk /dev/sda - 120 GB / 111 GiB - CHS 14593 255 63, sector size=512

Because these numbers change the way that TestDisk looks for partitions
and calculates their sizes, it's important to have the correct disk geometry.
PC partitionning programs often make partitions end on cylinder boundaries.

A partition's CHS values are based on disk translations which make them
different than its physical geometry. The most common CHS head values
are: 255, 240 and sometimes 16.




[ Cylinders ]  [   Heads   ]  [  Sectors  ]  [Sector Size]  [    Ok     ]





                          Done with changing geometry

Cambiar los parámetros de geometría del disco rígido (Clindros, Cabezales, Sectores).

Los programas de particionamiento a menudo (siempre) hacen que las particiones terminen en los límites de los cilindros. Los números de CHS cambian la forma en que TestDisk busca particiones y calcula sus tamaños, etc. No afecta al disco mismo, a menos que usted realmente escriba datos de particiones perdidas en su disco. Elejir el seteo incorrecto de geometría y luego grabar cualquier partición perdida basandosé en esos seteos puede hacer más dificultosa ó imposible la recuperación de los datos.

Información de fondo

Para acceder los datos, los sistemas operativos modernos usan logical block adressing (LBA). Los sectores están numerados 0,1, 2 hasta N-1 donde N es la cantidad total de sectores.

Pero antes de que los discos mayores a 8 GB y SCSI existieran, otro método era utilizado. Para acceder a los datos, el BIOS y el sistema operativo (Dos/Win9x) usaban direccionamiento CHS. Los valores CHS están limitados a 1023 cilindros, 255 cabezales y 63 sectores (8 GB). Un truco común presentado con los discos mayores a 504 MB (1023 cilindros, 16 cabezales, 63 sectores) era usar una geometría (Cilindros / Cabezales / Sectores) distinta a la geometría física. (Extended CHS ó large mode adressing (LMA)).

Un método usado por el BIOS es leer la tabla de particiones y adivinar la cantidad de cabezales. Cuando la tabla de particiones está limpiada ó corrompida, la geometría física puede ser utilizada. Se vuelve más difícil para las utilidades de recuperación encontrar particiones perdidas en el disco rígido.

Este problema no está limitado a usuarios de DOS. Los usuarios de Linux también se ven afectados. En Linux, ejecute dmesg y busque Partition check. En el siguiente ejemplo, la geometría del disco rígido hdc está determinada por la tabla de particiones (PTBL).

Partition check:
 hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 hda9 hda10 hda11 hda12 hda13 >
 hda3: <bsd: hda14 hda15 hda16 hda17 >
 hdc: [PTBL] [7476/255/63] hdc1 < hdc5 hdc6 hdc7 hdc8 hdc9 hdc10 hdc11 hdc12 hdc13 >

¿Cómo hace TestDisk para obtener la geometría del disco?

  • En DOS, TestDisk obtiene el tamaño del disco usando una función extendida del BIOS (ah=0x48, int 0x13), y la geometría (cantidad de cabezales y sectores) usando una función estándar del BIOS (ah=0x08, int 0x13). TestDisk usa el tamaño default del sector de 512 bytes.
  • En Windows, TestDisk obtiene la cantidad de cilindros, cabezales y sectores, y el tamaño de sector usando la llamada DeviceIoControl, IOCTL_DISK_GET_DRIVE_GEOMETRY.
  • En Linux, TestDisk obtiene el tamaño de sector usando BLKSSZGET ioctl, y la geometría usando HDIO_GETGEO_BIG ó HDIO_GETGEO ioctl; el tamaño de los discos los saca de BLKGETSIZE64 ó BLKGETSIZE.
  • En BSD, TestDisk obtiene toda la información usando DIOCGDINFO. Si eso falla, TestDisk asume que el tamaño del sector es de 512 bytes, y usa DIOCGFWSECTORS, DIOCGFWHEADS y DIOCGMEDIASIZE para obtener todos los demás parámetros.
  • En Sun Solaris, TestDisk usa el tamaño default del sector, de 512 bytes, y obtiene la cantidad de cilindros, cabezales y sectores usando DKIOCGGEOM ioctl.

Algunos consejos sobre la geometría

¿Cómo encuentro la cantidad correcta de cabezales?

Si la geometría del disco rígido no concuerda con la utilizada al crear la tabla de particiones, se muestran mensajes de aviso como: Bad sector count, Bad relative sector ó Bad ending head cuando Analyse está seleccionado del menú principal. Si ve estos errores, puede necesitar utilizar el menú Geometry para cambiar la cantidad lógica de cabezales. Intente 255, 16, 32, 64, 128 y 240 cabezales hasta que TestDisk encuentre sus particiones. 255 y 240 son los valores de cantidad de cabezales más comunes. Si usted instaló Linux como su único Sistema Operativo en su disco rígido, tiende a setearse como default en sólo 16 cabezales.

¿Cómo encontrar la cantidad correcta de sectores?

Generalmente la cantidad de sectores por cabezal es siempre 63, pero en algunos dispositivos USB, el valor puede ser 32.

Volver a Ejecutando el Programa TestDisk