En Cómo prevenir y recuperarse de la eliminación accidental de archivos en Linux, abordamos las copias de seguridad locales y remotas, cómo reducir el drama de la recuperación de archivos con una gestión inteligente de los comandos de eliminación de archivos y las mejores prácticas generales para responder a las emergencias de recuperación de archivos. Desafortunadamente, ocurren accidentes y falla el hardware. Una herramienta a la que acudir cuando sea el momento de recuperar archivos o sistemas de archivos perdidos es TestDisk.
TestDisk intenta recuperar los datos de partición perdidos y cualquier archivo perdido dentro de los límites de la partición recuperada. Esta herramienta puede recuperar sus datos por sí sola, o puede usarla junto con Scalpel, una herramienta de extracción de archivos, primero usando TestDisk para obtener una imagen de disco y luego escaneando la imagen en busca de tipos de archivos con Scalpel. Puede encontrar más información sobre el uso de Scalpel en un próximo artículo.
TestDisk está menos centrado y es más flexible que Scalpel, por lo que la forma de usar esta herramienta depende de la situación. TestDisk es una aplicación interactiva, así que comience apuntándola al dispositivo o imagen de la víctima. Por ejemplo:
$ sudo ./testdisk_static /dev/sdx
Disk /dev/sdx - 1939 MB / 1850 MiB - General UDisk
Please select the partition table type, press Enter when done.
[Intel ] Intel/PC partition
>[EFI GPT] EFI GPT partition map (Mac i386, some x86_64...)
[Humax ] Humax partition table
[Mac ] Apple partition map
[None ] Non partitioned media
[Sun ] Sun Solaris partition
[XBox ] XBox partition
[Return ] Return to disk selection
TestDisk intenta detectar el mapa de partición correcto, pero si sabe mejor, puede anular su suposición con una ubicación específica. Una vez que elige un esquema de partición, TestDisk ofrece su menú principal. Aquí puede analizar archivos, recuperarlos o modificar la geometría y las opciones del disco. El flujo de trabajo típico es analizar y luego recuperar.
Ejecutar TestDisk en una memoria USB de laboratorio de ejemplo arroja este análisis:
TestDisk 7.0, Data Recovery Utility, April 2015
Disk /dev/sdb - 1939 MB / 1850 MiB - CHS 1018 60 62
Partition Start End Size in sectors
>D MS Data 2046 3788757 3786712 [wreck]
D MS Data 75744 84543 8800 [NONAME]
En este caso, la partición perdida se llamó wreck
y TestDisk descubrió con éxito sus límites. Si los únicos datos perdidos de los que se está recuperando son la pérdida de un mapa de partición, entonces, en este punto, puede usar estos datos para recrear ese mapa usando GNU Parted.
Un análisis exitoso desbloquea varias opciones nuevas en Avanzado menú. Armado con los límites de la partición, puede volcar los datos de esta partición en un archivo de imagen:
Partition Start End Size in sectors
> 1 P Unknown 2048 3788766 3786719
[ Type ] >[Image Creation] [ Quit ]
A continuación, puede usar Bisturí en la imagen para recuperar archivos individuales.
Alternativamente, puede conocer el tipo de partición y sistema de archivos (Tipo ), en cuyo caso puede dictar cómo TestDisk trata los datos. Hacer esto puede ayudar a TestDisk a localizar un superbloque de respaldo. , permitiéndole usar mkfs
para recuperar los datos así:
Disk /dev/sdb - 1939 MB / 1850 MiB - CHS 1018 60 62
Partition Start End Size in sectors
MS Data 2048 3788759 3786712 [wreck]
superblock 32768, blocksize=4096 [wreck]
superblock 98304, blocksize=4096 [wreck]
superblock 163840, blocksize=4096 [wreck]
superblock 229376, blocksize=4096 [wreck]
superblock 294912, blocksize=4096 [wreck]
To repair the filesystem using alternate superblock, run
fsck.ext4 -p -b superblock -B blocksize device
O bien, puede usar TestDisk para detectar archivos con la Lista opción de menú:
Partition Start End Size in sectors
> 1 P EFI System 2048 3788766 3786719
[Type] [Superblock] >[ List ] [Image Creation] [ Quit ]
Usar TestDisk es definitivamente un viaje. Siempre que haya realizado previamente una copia de seguridad de la unidad que está intentando rescatar, esta herramienta es generalmente segura para experimentar cuando surgen problemas. Sin embargo, si solo está experimentando, es más seguro hacerlo en una máquina de prueba separada.
Y por favor experimenta. La experiencia que obtendrás con la práctica es invaluable.