07 julio, 2013

Reconstruir sistemas de ficheros FAT/FAT32/NTFS [Rebuild and recovery filesystem partitions] con: TestDisk

Hace tiempo quería escribir esta entrada con respuesta a muchos comentarios que tuve en este otro artículo: Reparar tarjetas de memoria SD dañadas. Muchos decían que en sus PCs no reconocían las tarjetas de memoria, esto podría ser causa de que al corromperse dichas tarjetas pierden su sistema de ficheros ya sea FAT/FAT32 o NTFS.
Por eso a muchos usuarios cuando conectaban las tarjetas a su equipo Windows decía algo como: "La unidad no tiene formato, ¿desea formatearla ahora?". Esto es lo que debemos de evitar, nunca formateemos algo que queremos recuperar. Ya que lo que estaríamos haciendo serían sobrescribir los datos ya almacenados por espacios lógicos con valor "0" en el espacio de almacenamiento del dispositivo en cuestión, ya sean tarjetas de memoria, pendrives USB, HDDs externos, etc.

Para la recuperación y reconstrucción de un sistema de ficheros en unidades lógicas, como pueden ser particiones u otros podríamos hacer uso de una tool para ello.

TestDisk, es una herramienta gratuita y compatible con entornos Windows, Linux y MacOS. En la que se ejecuta e interactúa a nivel de una command prompt de Windows. Su utilización es sencilla, además en la website oficial podemos encontrar guías perfectamente detalladas y con ejemplos.
Descargar TestDisk

En esta ocasión y como ejemplo, cree un escenario en una VM con Windows 7.

Como vemos cree dos particiones en las que almacené unos ficheros. Una de las particiones de 2,13GB y la otra de 1,41GB.

Figura 1: Particiones 1 E: y 2 F: con información almacena.

Si vemos en el Administrador de discos de Windows (diskmgmt.msc) podemos ver como existen dos particiones primarias creadas en NTFS, las cuales aun NO perdieron su formato de ficheros.

Figura 2: Particiones primarias con formato en el administrador de dispositivos.

Ahora lo que lo que haré será "Eliminar el volumen" de cada una de las particiones. De modo, que se unirán ambas en una mismo valor marcado como "No asignado", el cual significa que no tienen un filesystem con el que poder trabajar y de este modo Windows deje de reconocer las particiones.

Figura 3: Eliminación de volúmenes, quedando sin formato de ficheros como valor "No asignado".

Ya que se eliminaron las particiones anteriores, como vemos Windows ya no las muestra, esto no significa que se borraran del todo ni tampoco la información almacenada que había en ellas. Simplemente, que perdieron el sistema de ficheros NTFS con el que Windows trabaja (NTFS en este caso).

Figura 4: Windows no muestra las particiones, simplemente no las reconoce como tal.

Llegados a este punto, vamos hacer uso de TestDisk para la reconstrucción del filesystem de los volúmenes eliminados.

[1] - Una vez nos descarguemos TestDisk y lo ejecutemos, que en el caso de Windows sería el fichero llamado "testdisk_win.exe".
Se nos abrirá un consola de Windows en la crearemos un nuevo log file para empezar a trabajar con la herramienta.

Figura 5: Creando un fichero de registro.

[2] - Ahora se nos mostrará un menú en el que tendremos que seleccionar en que disco HDD, dispositivo USB u otro, queremos trabajar. En este caso al tratarse de una VM ya me reconoce el único disco que tengo cargado (/dev/sda). Pulsamos entonces en "Proceed".

Como se representan las nomenclaturas de los discos y particiones?

En la forma de representación de los "dispostivos montados" "/dev/sda", significa que el dispostivo (dev=device) de disco duro (sd=para discos SCSI, SATA o dispositivos extraíbles) es el primer disco físico (a).

SDxz, donde "X" (son letras) es el orden del dispositivo y "Z" (son números) el orden del volumen que representa en dispositivo "X". Aclaro que,  los cuatro primeros números están reservados para particiones primarias, de modo que las particiones lógicas se referencian a partir del número 5.
Lo mismo ocurre si vemos representado HDxz, pero con el matiz de que estos se refieren a dispositivos con interfaz IDE, ya sea IDE en discos duros (HDD) o lectores/grabadores CD/DVD ROM.

Por ejemplo, si vemos algo como esto:
/dev/sda1: (sda) la primera partición del primer disco (a).
/dev/sdb3: (sdb5) la primera partición lógica del segundo disco (b)
/dev/hda: (hda) una única partición del primer disco maestro IDE.
Para más información: http://es.wikipedia.org/wiki/Mount

Figura 6: Proceder a trabajar con el disco montado /dev/sda

[3] - En mi caso y seguro que en la mayoría, seleccionamos "Intel" como tipo de arquitectura compatible para la partición.

Figura 7: Seleccionando el tipo de arquitectura para particiones Intel. 

[4] - Ahora marcamos la opción de la lista "Analyse" con la que analizaremos el disco en cuestión. Encontraremos en esta lista más opciones, las cuales se pueden consultar en la website oficial, donde anteriormente dejara un enlace a las guías de la herramienta.

Figura 8: Analizando el disco en cuestión.

[5] - Vemos que reconoce los sectores de inicio a fin y las direcciones CHS (Cylinder Head Sector), esto será necesario como información para la aplicación poder reconstruir la estructura de particiones del disco. CHS el cual es utilizado para particiones menores de 8GB, como es este caso. Para particiones superiores a 8 GB y hasta un límite de 8 ZB, ya se utiliza LBA (Logical Block Addressing).
Con lo que buscamos en este disco y que desglose las particiones de esos valores marcados antes como "No asignados".

Figura 9: Buscando elementos no asignados en el disco, usando direcciones CHS.

[6] - Una vez se nos despliega las particiones encontradas como primarias en este caso (marcadas con la letra "P" a su izquierda), continuamos la operación para realizar la reconstrucción del sistema de ficheros en este caso, NTFS.

Figura 10: Reconstruyendo sistema de ficheros NTFS en las particiones.

[7] - Una vez reconstruidas, pulsamos en "Write" para escribir en el disco el orden de estructura de las particiones y de este modo guardar los cambios.

Figura 11: Escribiendo en el disco para guardar el orden de la estructura de particiones.

[8] - Ahora cerramos la aplicación y REINICIAMOS el equipo para que se apliquen los cambios correctamente. Una vez iniciemos de nuevo sesión en Windows, veremos como al tener de nuevo un sistema de ficheros legible por el sistema operativo estas particiones se nos vuelven a visualizar como pasaba al principio, ver "Figura 1".

Figura 12: Después de reiniciar, Windows ya reconoce las particiones con formato NTFS.

Saludos!

1 comentario:

  1. Hola,
    ¿Como de fiable es esta solución?
    No puedo perder los datos de mi disco duro externo...

    ResponderEliminar

Entradas Relacionadas