Menu Analizar
From CGSecurity
Contents |
Analizar
TestDisk 6.5-WIP, Data Recovery Utility, October 2006 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Disk /dev/sda - 120 GB / 111 GiB - CHS 14593 255 63 Current partition structure: Partition Start End Size in sectors 1 * FAT32 0 1 1 1010 254 63 16241652 [NO NAME] 2 P Linux 1011 0 1 1023 254 63 208845 [/boot] 3 E extended LBA 1024 0 1 14592 254 63 217985985 5 L Linux RAID 1024 1 1 3573 254 63 40965687 [md0] X extended 3574 0 1 4210 254 63 10233405 6 L Linux RAID 3574 1 1 4210 254 63 10233342 [md1] X extended 4211 0 1 14592 254 63 166786830 7 L Linux 4211 1 1 14592 254 63 166786767 *=Primary bootable P=Primary L=Logical E=Extended D=Deleted [Proceed ] [ Backup ] Try to locate partition
Analyza la estructura de la partición actual del disco y busca otras particiones, posibilitando la recuperación de particiones perdidas.
Check de Partición
El análisis de TestDisk hace un checkeo rápido de la estructura de la partición. TestDisk puede manejar varios tipos de particiones: - Intel - Mac - None (ie: medios peque├▒os sin particiones) - Sun - XBox
La estructura de particiones de Intel está compuesta de la tabla MBR y las particiones extendidas. El MBR está limitado a cuatro entradas. Una de estas entradas puede ser una partición extendida permitiendo varias particiones lógicas. Cada partición lógica está contenida por un contenedor ó una partición extendida. El MBR y cada partición extendida debe terminar con dos bytes 0x55 y 0xAA, en ese orden; lo cual conforma la palabra 0xAA55 (ya que los sistemas con CPU x86 son 'little-endian').
Una entrada de una partición está compuesta de: - principio de la partición en CHS (Cylinders, Heads, Sectors) - finend de la partición en CHS - tipo de sistema de archivos - inicio lógico - tama├▒o en sectores - bandera de boot Solamente la partición primaria puede tener la bandera de boot seteada. El almacenamiento de la información de almacenamiento está limitado a un máximo de 1024 cilindros (0-1023), por eso tenemos la famosa limitación de 8 GB (1024*255*63 = 16450560 sectores = 8422686720 bytes).
Los sistemas operativos modernos y los chips de BIOS usan el modo LBA para acceder a los datos, pero los sectores de booteo de FAT12/13/32 siguen haciendo referencia a la geometría CHS. TestDisk checkea que cada valor esté en el rango autorizado: ej. ningún valor menor a 1 ni mayor al número de sectores por cabezal. Las entradas de la partición son leídas usando el inicio y tama├▒o lógicos en sectores, luego TestDisk checkea si los valores lógicos son iguales a los valores de CHS. TestDisk también que ningún dato de partición muestre una partición como finalizadora luego del final del disco, y que ninguna se superponga con las demás.
La marca SUN puede tener hasta 8 entradas de particiones. La entrada número 2 está reservada para todo el disco.
Checkeos de Sistemas de Archivos
A continuación del sistema de archivos, TestDisk ejecuta algunos checkeos básicos en el sector de booteo / superblock de cada sistema de archivos. Como ext2/ext3/reiserfs/jfs comparten el mismo tipo de sistema de archivos: 0x83, TestDisk tiene que revisar cada sistema de archivos. Los checkeos son los mismos que aquéllos usados cuando TestDisk est├í buscando particiones: - la prescencia de el valor mágico ó la firma (i.e., 0xAA55 en el offset 0x1FE del sector de booteo FAT ó NTFS). - valores coherentes (ej., free_blocks_count más bajos que blocks_count para ext2) Esta fase es muy rápida porque los checkeos son mínimos.
Recuperación de la Partición
En un segundo paso, TestDisk busca particiones perdidas, sin hacer uso de resultados del paso anterior. Este es el corazón de las poderosas capacidades de TestDisk. TestDisk asume que la existencia de particiones y revisa todos los cilindros del disco buscándolas. Una partición;n primaria comienza en el principio de un cilindro (head=0, sector=1), cuando una participación lógica comienza un poco más allá (head=1, sector=1). Para cada posible ubicación de inicio de partición, TestDisk puede buscar la prescencia de una cabecera de sistema de archivos (el sector de booteo FAT ó NTFS, superbloques EXT2/EXT3, disklabels de BSD...), el cual confirma la prescencia de tipos de particiones conocidos. Por lo tanto, el tama├▒o de la partición está determinado directamente de su estructura en el disco. Cada partició que TestDisk descrubre es agregado a una lista de particiones conocidas.
Para detectar una partición de FAT32, TestDisk busca una marca 0xAA55 y la firma FAT32
, también se ejecuta los checkeos correspondientes del sistema de archivos FAT:
- la firma de salto tiene que tener la forma 0xeb 0xXX 0x90
or0xe9 0xXX 0xXX
donde 0xXX
puede ser cualquier byte, y...
0xeb: un salto peque├▒o (Small jump), desplazamiento relativo a la próxima instrucción (só 8 bits).
0x90: NOP (no hacer nada).
0xe9: un salto cercano (Near Jump), desplazamiento relativo a la próxima instrucción (32 ó 16 bits).
- tama├▒o del sector es 512
- tama├▒o del cluster debe ser 1, 2, 4, 8, 16, 32, 64 ó 128
- tiene que tener al menos 2 copias de FAT
- el medio debe ser 0xF8 (ningún otro valor es visto, es una característica obsoleta)
- Si se siguen las instrucciones de MS, la firma FAT32
no tiene sentido pero su sistema de archivos debería tenerla.
Siguiendo el número de cluster, TestDisk determina la clase de FAT (el número de cluster es mayor ó igual a 65525 para un FAT32).
Algunos checkeos específicos en FAT32 son llevados a cabo: - el número del root cluster debe estar entre 2 y el número máximo de cluster , - algunos valores obsoletos (número de entradas de directorios, tama├▒o en 16 Bits de la partición) deben estar seteados a 0, - la versión de FAT32 (no usada) debe ser 0.0
Para detectar una partición NTFS, TestDisk busca una marca 0xAA55 y la firma NTFS
, también checkea que algunos valores específicos de FAT estén seteados a cero (0): La cantidad de sectores, reservados, cantidad de FATs, cantidad de entradas de directorios, tama├▒o del sistema de archivos en 16 Bits, tama├▒o del sistema de archivos en 32 Bits, cantidad de sectores por FAT.
El número de sectores por cluster debe ser mayor a cero.
Para sistemas de archivos FAT y NTFS, el tama├▒o de la partición será leído en el sector de booteo mismo.
TestDisk 6.5-WIP, Data Recovery Utility, October 2006 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Disk /dev/sda - 120 GB / 111 GiB - CHS 14593 255 63 Analyse cylinder 1011/14592: 00% FAT32 0 1 1 1010 254 63 16241652 [NO NAME] Stop
una vez que el análisis está completo, TestDisk genera un reporte de las particiones encontradas.
TestDisk 6.5-WIP, Data Recovery Utility, November 2006 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Disk /dev/sda - 120 GB / 111 GiB - CHS 14593 255 63 Partition Start End Size in sectors * FAT32 0 1 1 1010 254 63 16241652 [NO NAME] P Linux 1011 0 1 1023 254 63 208845 [/boot] D Linux 1024 1 1 3573 254 63 40965687 D Linux RAID 1024 1 1 3573 254 63 40965687 [md0] D Linux 3574 1 1 4210 254 63 10233342 D Linux RAID 3574 1 1 4210 254 63 10233342 [md1] L Linux 4211 1 1 14592 254 63 166786767 Structure: Ok. Use Up/Down Arrow keys to select partition. Use LEFT/RIGHT Arrow keys to CHANGE partition characteristics: *=Primary bootable P=Primary L=Logical E=Extended D=Deleted Keys A: add partition, L: load backup, T: change type, P: list files, ENTER: to continue FAT32, 8315 MB / 7930 MiB
Se pueden listar los archivos de particiones NTFS, FAT, EXT2/EXT3 y ReiserFS presionando la tecla P.
Notas:
- Los listados de directorios FAT están limitados a 10 clusters, algunos archivos pueden no aparecer pero esto no afecta la recuperación.
- Para NTFS, es posible copiar archivos presionando *c*.
TestDisk 6.5-WIP, Data Recovery Utility, October 2006 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org * FAT32 0 1 1 1010 254 63 16241652 [NO NAME] Use right arrow to change directory, q to quit Directory / -rwxr-xr-x 0 0 805306368 20-Jul-2005 10:35 PAGEFILE.SYS drwxr-xr-x 0 0 0 14-Feb-2005 22:41 WINDOWS -r-xr-xr-x 0 0 4952 28-Aug-2001 15:00 Bootfont.bin -r-xr-xr-x 0 0 251712 3-Aug-2004 22:59 NTLDR -r-xr-xr-x 0 0 47564 3-Aug-2004 22:38 NTDETECT.COM -rwxr-xr-x 0 0 212 14-Feb-2005 22:51 BOOT.INI drwxr-xr-x 0 0 0 14-Feb-2005 22:47 Documents and Settings dr-xr-xr-x 0 0 0 14-Feb-2005 22:55 Program Files -rwxr-xr-x 0 0 0 14-Feb-2005 22:56 CONFIG.SYS -rwxr-xr-x 0 0 0 14-Feb-2005 22:56 AUTOEXEC.BAT -r-xr-xr-x 0 0 0 14-Feb-2005 22:56 IO.SYS -r-xr-xr-x 0 0 0 14-Feb-2005 22:56 MSDOS.SYS drwxr-xr-x 0 0 0 14-Feb-2005 23:02 System Volume Information -rwxr-xr-x 0 0 536399872 20-Jul-2005 10:36 HIBERFIL.SYS
Usando la lista de las particiones encontradas, puede editar la tabla de particiones.
Hay tres clases de ediciones:
- Puede cambiar el tipo de partición con *T*
- Puede agregar una nueva partición con *A*.
- Puede cambiar el estado de la partición seleccionada usando las teclas derecha/izquierda. Los estados disponibles son Primary, * bootable, Logical, Deleted.
A medida que se hacen ediciones, mire el estado de la estructura de la tabla de particiones. Será ó bien Ok
ó Bad
.
Structure: Ok debería aparecer si todo está bien, ej. no hay particiones primarias entre dos particiones extendidas, solamente una ó ninguna partición booteables, no hay particiones que usan el mismo tama├▒o de disco.
Cuando esté satisfecho con la partición editada, presione Enter. Si ha hecho ediciones, TestDisk le da la oportunidad de escribir los datos en la tabla de partición del disco, ó de conducir un análisis más detallado.
- Quit
Quits (sale) del programa TestDisk sin hacer ningún cambio (a menos que usted presiones la tecla ENTER cuando Write estaba resaltado).
- Search!
El primer escaneo rápido puede haber alterado algunas particiones. Search! va también a buscar el sector de booteo de backup de FAT32, el superblock de bakcup de NTFS, el superblock de backup de EXT2/EXT3 para detectar más particiones, va a escanear cada cilindro.
- Write
Escribe los cambios que se hayan hecho en el buffer de memoria de TestDisk's al disco rígido. ┬íSi usted no está seguro de los cambios (a menudo a la tabla de particiones del MBR), entonces no utilice esta función!
- Extd Part
Si hay particiones lógicas, esta bandera le permite decidir si la partición extendida utilizará todo el espacio en disco disponible ó solamente el mínimo requerido.
TestDisk 6.5-WIP, Data Recovery Utility, October 2006 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Disk /dev/sda - 120 GB / 111 GiB - CHS 14593 255 63 Partition Start End Size in sectors 1 * FAT32 0 1 1 1010 254 63 16241652 [NO NAME] 2 P Linux 1011 0 1 1023 254 63 208845 [/boot] 3 E extended LBA 1024 0 1 14592 254 63 217985985 5 L Linux RAID 1024 1 1 3573 254 63 40965687 [md0] 6 L Linux RAID 3574 1 1 4210 254 63 10233342 [md1] 7 L Linux 4211 1 1 14592 254 63 166786767 [ Quit ] [Search! ] [ Write ] Return to main menu
Aquí TestDisk le pregunta si desea confirmar la operación de escritura; así que tiene la última palabra sobre lo que TestDisk realmente hace.
TestDisk 6.5-WIP, Data Recovery Utility, October 2006 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Write partition table, confirm ? (Y/N)
Volver a Ejecutando el Programa TestDisk