Autor helheim
TUTORIAL DE TESTDISK
Introducción
Este es un tutorial explicativo, con imágenes ilustrativas incluidas, de la herramienta Testdisk. Para la realización de dicho tutorial, me he servido de un ejemplo común así como de un compendio de información encontrada por internet y tutoriales facilitados por compañeros que he ido analizando y desmenuzando paso a paso para una mejor comprensión por parte del lector.
ENTRANDO EN MATERIA
Antes de comenzar, me gustaría dar una breve explicación a un par de términos que conviene tener claros para comprender mejor como actúa Testdisk.
A) Tabla de Particiones
La Tabla de Particiones no es ni más ni menos que un archivo que se encuentra alojado en el MBR (Master Boot Record) y que ocupa 64 bytes. Está dividida en 4 registros de 16 bytes cada uno y en cada registro está definida al menos una partición primaria (esto implica toda información sobre la partición). Por lo tanto su ubicación es físicamente anterior a la Primera Partición.
Una manipulación errónea, consciente o no, de la Tabla de Particiones podría ocasionar que el sistema operativo no pudiese acceder a nuestro disco duro o que nos indicase que no tiene formato; pero sin embargo nuestros archivos no serían afectados.
Otro dato importante a tener en cuenta a la hora de recuperar particiones es que cuando eliminamos una partición no la estamos borrando completamente, simplemente dejamos libre el registro que antes pertenecía a dicha partición. Testdisk realiza una comparación del MBR en vigor con una copia que se almacena en el último sector del disco para intentar la reparación. De ahí el gran beneficio de esta utilidad.
B) MFT (Tabla Maestra de Archivos)
El sistema de archivos NTFS contiene en su núcleo, un archivo denominado la Tabla Maestra de Archivos (MFT). La tabla maestra de archivos es el lugar donde se almacena la información de cada archivo y directorio en un volumen NTFS. Es en esencia una especie de base de datos relacional. Cuando cualquier archivo o directorio se crea en el volumen NTFS, se crea un registro dentro de la MFT. Hay al menos una entrada en la MFT para cada archivo en un volumen NTFS, incluidos el MFT propio. El sistema utiliza estos registros para almacenar información sobre el archivo o directorio y a través de ellos puede localizar físicamente dónde está físicamente ese archivo (clústeres). Cuando pedimos al explorador que busque tal documento, él le pregunta a la MFT en qué lugar exacto del disco está grabado para poder mostrarlo. El explorador no sabe encontrar nada.
Recuperando Disco Duro o Partición
La principal finalidad de Testdisk es la de recuperar particiones o datos de discos duros con problemas, pero no acaba ahí su uso ya que también podemos reconstruir con esta utilidad el MBR (lo que incluye la Tabla de Particiones), recuperar el Sector de Arranque o incluso la MFT (Tabla Maestra de Archivos). Es por tanto una herramienta muy útil que puede salvar nuestro disco duro en alguna ocasión desesperada en la que nos encontremos, si sabemos usarla con corrección.
Se puede usar tanto en Windows como en Linux aunque su apariencia es más similar a la que nos encontraremos cuando trabajemos con Linux en lo que se respecta a los nombres de dispositivos de los discos duros. Algunas distribuciones de Linux llevan incorporado Testdisk (Knoppix) y si no, lo podemos descargar desde los repositorios.
El caso del cual nos vamos a ocupar en este tutorial trata exclusivamente de la recuperación de un disco duro. El resto de funcionalidades de Testdisk las dejaremos para otra ocasión.
Nombres de Dispositivos en Testdisk
Vamos a tratar antes, a modo de introducción, el tema de los términos que usa Testdisk para referirse a los diferentes dispositivos de almacenamiento
En Testdisk las unidades IDE aparecerán de la siguiente manera:
IDE 1 MAESTRO - /dev/hda
IDE 1 ESCLAVO - /dev/hdb
IDE 2 MAESTRO - /dev/hdc
IDE 2 ESCLAVO - /dev/hdd
Los discos duros SATA aparecerán con la siguiente terminología: /dev/hde o /dev/sda. Los dispositivos USB y SCSI también comienzan en /dev/sda.
COMENZANDO…
En primer lugar deberemos acudir a la web oficial de Testdisk para poder descargarlo ([Enlace externo eliminado para invitados]). Elegimos el Sistema Operativo que nos interese (en este caso Windows, que es con el que trabajamos en el Foro) y lo descargamos.
Normalmente Testdisk se descarga en un archivo comprimido (zip) y por lo tanto lo primero que tenemos que hacer es descomprimir ese archivo. Una vez descomprimido veremos que tenemos una carpeta y dentro de esta, todos los archivos que componen el programa. Nosotros debemos buscar una carpeta que se llama “win”. Dentro de esta carpeta buscaremos el archivo ejecutable del programa que se denomina “testdisk_win.exe”. Solo tenemos que hacer un doble clic en el mismo y nos aparecerá la primera de las ventanas (la que vemos arriba de esta descripción).
Esta primera pantalla que nos vamos a encontrar nos da 3 opciones:
Create: Crear un log para saber qué pasos hemos ido dando.
Append: Añadir esos datos al final de otro log ya existente.
No Log: No crear ningún log.
Lo ideal es crear un log para, como ya se ha comentado, saber qué pasos se han ido dando durante el proceso que llevaremos a cabo.
Una vez elegida la opción (Create, Append, No Log), se pulsa INTRO y continuamos.
Lo siguiente que hará Testdisk será detectar todos los dispositivos de almacenamiento que tengamos instalados y los mostrará por pantalla con la nomenclatura típica de Linux (mencionada anteriormente). Se debe elegir el que nos presente problemas, seleccionamos PROCEED y pulsamos INTRO.
Seguidamente se abre una nueva ventana que nos permitirá elegir el tipo de la tabla de particiones que tiene el disco duro: Intel, EFI GPT, Mac, None, Sun o Xbox. En la mayoría de los casos lo que elegiríamos sería Intel.
A continuación se nos mostrará una ventana con una serie de opciones. En este caso nos
fijaremos solo en Analyse que lo que realiza es una primera búsqueda de la estructura de particiones en el disco duro seleccionado para encontrar particiones perdidas (en definitiva, lee la partición vigente). Elegimos pues Analyse y pulsamos INTRO.
APÉNDICE ESPECIAL
Hay que hacer un inciso aquí sobre un punto importante que tiene relación con la interpretación
correcta de lo que vemos por pantalla.
Diferenciar Particiones Primarias (bootable o no) de las Lógicas
1) Particiones Primarias
Partition Start End Size in sectors
* HPFS - NTFS 0 1 1 2230 254 63 35840952 [Primary 1]
P HPFS - NTFS 2231 0 1 4491 254 63 36322965 [Primary 2]
Para averiguar cuál es la Primera Partición Primaria de un disco duro tenemos que fijarnos en
la geometría del disco y sobretodo en el número de cilindros. La Primera Partición Primaria
comienza en el cilindro 0, cabeza 1, sector 1 (0 1 1). El resto de Particiones Primarias
comienzan en un cilindro distinto de cero (no nulo), cabeza 0, sector 1 (2231 0 1).
2) Particiones Lógicas
Fijándonos nuevamente en la geometría del disco podemos averiguar si una partición es lógica.
Las Particiones Lógicas comienzan en un cilindro no nulo, cabeza 1, sector 1.
Partition Start End Size in sectors
L HPFS - NTFS 1 1 1 2230 254 63 35840952 [Logical 1]
L HPFS - NTFS 2231 1 1 4491 254 63 36322965 [Logical 2]
Una persona un poco observadora se habrá fijado que, en la parte inferior de la ventana,
Testdisk indica también si una partición es Primaria (P=Primary) o Lógica (L=Logical) e incluso si una partición es primaria y bootable (*=Primary bootable), pero teniendo en cuenta el número de cilindros podemos saber si las particiones están solapadas (montadas unas sobre otras) o si son contiguas (una está inmediatamente después de la otra), que es como deben estar.
Partition Start End Size in sectors
L HPFS - NTFS 1 1 1 2230 254 63 35840952 [Logical 1]
L HPFS - NTFS 2231 1 1 4491 254 63 36322965 [Logical 2]
En este ejemplo lo vemos de forma clara. La primera partición comienza en el cilindro 1 y termina en el último sector del cilindro 2230. La siguiente partición es contigua porque comienza en el primer sector del cilindro 2231 y termina en el cilindro 4491. Luego estas particiones están bien ordenadas.
Tras analizar el disco duro nos muestra la estructura de particiones encontradas por pantalla. Lo primero en lo que debemos reparar es en la geometría del disco duro (cilindros, cabezas y sectores por pista). Esto podemos verlo en la parte superior derecha de la ventana. En el ejemplo que nos ocupa sería: 4492 cilindros, 255 cabezas y 63 sectores por pista. El número de cilindros es muy importante tenerlo siempre presente porque nos indicará si las particiones encontradas se solapan o si están dispuestas de forma correcta.
En el ejemplo que tenemos entre manos observamos que Testdisk ha listado dos particiones
iguales lo que apunta que una de las particiones está corrupta o que existe una entrada en la tabla de particiones corrupta o inválida. Vemos que Testdisk marca ambas particiones como Primarias (P=Primary) y si nos fijamos bien en los cilindros (0 1 1), veremos que son las Particiones Primarias.
También observamos que nos muestra una Partición Extendida que aloja una Partición Lógica (ya deberíamos saber que las Particiones Extendidas son como cajones que alojan otros compartimentos que son las Particiones Lógicas).
Si prestamos atención, nos daremos cuenta de que esa Partición Lógica ocupa la totalidad de la Partición Extendida. Eso pudiera ser correcto y, en principio, no supondría ningún problema pero quedaría pendiente de la verdadera estructura del disco duro.
Bien, en esa misma ventana vemos dos nuevas opciones a elegir:
Quick Search: Realiza una nueva búsqueda dentro de nuestro disco duro (la estructura presentada no es la correcta). Puede sacar a la luz más particiones ya que compara la PT vigente con una copia almacenada en el último sector del disco.
Backup: Guarda como un archivo de texto la tabla de particiones que muestra Testdisk. Nosotros debemos elegir, evidentemente, Quick Search.
En este punto nos preguntará si deseamos que Testdisk identifique particiones creadas con
Vista. Respondemos tecleando Y.
En nuestro ejemplo, tras la nueva búsqueda, Testdisk ha encontrado dos nuevas particiones
(Lógicas ambas) y si observamos su geometría, vemos que los números de sus cilindros son
contiguos (La primera va de 1275 a 2549 y la segunda va de 2550 a 4491).
Esto son buenas noticias porque vemos que por esa parte está todo correcto. Para asegurarnos de que son las particiones que buscamos, podemos pulsar en P y nos mostrará una lista de los archivos que contienen dichas Particiones Lógicas. Esto es importante porque nos puede indicar si vamos por el buen camino o no. Aun así nos falta una parte del disco duro ya que únicamente nos ha mostrado las Particiones Lógicas pero no la Primera Partición Primaria. Pulsamos en INTRO y continuamos.
Testdisk nos vuelve a mostrar solo una parte de nuestro disco duro (la Partición Extendida
con sus dos Particiones Lógicas) pero nos falta el comienzo del disco duro (Primera Partición
Primaria) que sigue sin aparecer (desde el cilindro 0 hasta el cilindro 1274). Debemos pulsar
en Deeper Search para hacer una búsqueda aun más exhaustiva (que llevará su tiempo) para tratar de encontrar la Primera Partición Primaria que nos falta. Deeper Search no lee la partición ni su copia, se va directamente al disco (sector por sector) buscando marcas de inicio y final de partición.
Después de la nueva búsqueda, los resultados que nos muestra Testdisk siguen sin ser los
correctos porque ahora si nos muestra esa Primera Partición Primaria que buscábamos (del
cilindro 0 al cilindro 1274 ) pero también nos muestra dos nuevas Particiones Lógicas iguales
(que además aparecen como Borradas-Deleted). ¿Cómo podemos saber cuál de las dos es la correcta?.
Pues mirando los archivos que contienen las particiones al pulsar P (como anteriormente hicimos). Esto indicará cual es la “buena”. Se puede ver un ejemplo de archivos y directorios encontrados en la imagen de arriba.
Nota: Cabe destacar en este paso que Testdisk interpreta cada línea que empieza con -R como un archivo y las que empiezan por RD como directorios. Podemos navegar por esos directorios posicionándonos sobre alguno de ellos y pulsando INTRO para ver su contenido.
Una vez hallada la partición correcta, le cambiamos el estado de Borrada (D=Deleted) a Lógica (L=Logical) utilizando los cursores de izquierda o derecha. Y una vez cambiado su estado, pulsamos en INTRO para continuar.
En la nueva imagen ya vemos que todo está correcto. Y para cerciorarnos completamente,
prestamos atención como siempre al número de cilindros, cabezas y sectores del disco duro
(parte superior derecha de la ventana) y anotamos sus valores (4492 cilindros, 255 cabezas y 63 sectores). Ahora cotejamos esos valores con los de cada partición de la siguiente forma:
Tenemos una Primera Partición Primaria (cilindro 0 – cilindro 1274) y a continuación una
Partición Extendida (cilindro 1275 – cilindro 4491) que alberga dos Particiones Lógicas
(una de cilindro 1275 – cilindro 2549 y otra de cilindro 2550 – cilindro 4491). Una vez que
tengamos claro que esa era la estructura correcta de nuestro disco duro, pulsamos en WRITE y Testdisk la escribirá para dejarlo de esa manera.
NOTA FINAL: Como veis Testdisk es una herramienta potente y al principio puede parecer algo compleja pero cualquier persona puede completar a ciegas todas las etapas hasta Deeper Search, CAPTURAR ESA PANTALLA Y SUBIRLA AL FORO en busca de una orientación sobre qué es lo que procede. En tanto no se pulse sobre "Write" no hay ningún riesgo de empeorar las cosas.
Y eso sí, ANTE CUALQUIER DUDA, consulta en el Foro qué hacer.
Copyright © 2007-2010 - Todos los derechos reservados.
Tutorial elaborado y editado por helheim
con la colaboración de los Moderadores del Foro
que desprendidamente han dado sus opiniones,
sugerencias y consejos para beneficio de los
usuarios registrados en foroswindows.com
y aquellos que nos visitan a diario.
Tutorial de Testdisk
-
- Administrador del Sitio
- Mensajes: 52
- Registrado: 03 Jun 2018, 20:02