Recuperar tabla de particiones con TestDisk

En este entrada se verá como recuperar la tabla de particiones de un disco duro, para ello se hará uso de la herramienta TestDisk.

Al conectar un disco duro al ordenador, el kernel lo detectará y buscará en él la tabla de particiones. En caso de que encuentre la tabla de particiones, creará los correspondientes punteros en el sistema de archivos virtual /dev/disk/. Si la tabla de particiones está dañada, el kernel simplemente creará un puntero hacia el dispositivo en /dev/disk.

A continuación verá la información que arroja el kernel al conectar un disco duro cuya tabla de particiones está dañada:

[ 2146.567695] sd 9:0:0:0: Attached scsi generic sg13 type 0
[ 2146.568249] sd 9:0:0:0: [sdm] 1465149168 512-byte logical blocks: (750 GB/698 GiB)
[ 2146.568995] sd 9:0:0:0: [sdm] Write Protect is off
[ 2146.568998] sd 9:0:0:0: [sdm] Mode Sense: 00 38 00 00
[ 2146.569741] sd 9:0:0:0: [sdm] Asking for cache data failed
[ 2146.569743] sd 9:0:0:0: [sdm] Assuming drive cache: write through
[ 2146.571866] sd 9:0:0:0: [sdm] Asking for cache data failed
[ 2146.571868] sd 9:0:0:0: [sdm] Assuming drive cache: write through
[ 2146.586858]  sdm:
[ 2146.589227] sd 9:0:0:0: [sdm] Asking for cache data failed
[ 2146.589230] sd 9:0:0:0: [sdm] Assuming drive cache: write through
[ 2146.589233] sd 9:0:0:0: [sdm] Attached SCSI disk

Y el correspondiente puntero creado en /dev/disk:
lrwxrwxrwx 1 root root   9 nov  4 00:32 pci-0000:00:1d.7-usb-0:6.3:1.0-scsi-0:0:0:0 -> ../../sdm
lrwxrwxrwx 1 root root   9 nov  4 00:32 pci-0000:00:1f.2-scsi-0:0:0:0 -> ../../sdc
lrwxrwxrwx 1 root root  10 nov  3 23:53 pci-0000:00:1f.2-scsi-0:0:0:0-part1 -> ../../sdc1
lrwxrwxrwx 1 root root   9 nov  4 00:32 pci-0000:00:1f.2-scsi-0:0:1:0 -> ../../sdd
lrwxrwxrwx 1 root root  10 nov  3 23:53 pci-0000:00:1f.2-scsi-0:0:1:0-part1 -> ../../sdd1
lrwxrwxrwx 1 root root   9 nov  4 00:32 pci-0000:00:1f.2-scsi-1:0:0:0 -> ../../sde
lrwxrwxrwx 1 root root  10 nov  3 23:53 pci-0000:00:1f.2-scsi-1:0:0:0-part1 -> ../../sde1
lrwxrwxrwx 1 root root   9 nov  4 00:32 pci-0000:00:1f.2-scsi-1:0:1:0 -> ../../sdf
lrwxrwxrwx 1 root root  10 nov  3 23:53 pci-0000:00:1f.2-scsi-1:0:1:0-part1 -> ../../sdf1
lrwxrwxrwx 1 root root   9 nov  4 00:32 pci-0000:00:1f.5-scsi-1:0:0:0 -> ../../sdg
lrwxrwxrwx 1 root root  10 nov  3 23:53 pci-0000:00:1f.5-scsi-1:0:0:0-part1 -> ../../sdg1
lrwxrwxrwx 1 root root   9 nov  4 00:32 pci-0000:05:00.0-scsi-0:0:0:0 -> ../../sda
lrwxrwxrwx 1 root root  10 nov  3 23:53 pci-0000:05:00.0-scsi-0:0:0:0-part1 -> ../../sda1
lrwxrwxrwx 1 root root  10 nov  3 23:53 pci-0000:05:00.0-scsi-0:0:0:0-part2 -> ../../sda2
lrwxrwxrwx 1 root root  10 nov  4 00:26 pci-0000:05:00.0-scsi-0:0:0:0-part3 -> ../../sda3

Si tratase de montar el dispositivo, obtendría mensajes de error del tipo sistema de archivo no válido:
agd-desktop # mount /dev/sdm /mnt/
mount: debe especificar el tipo de sistema de ficheros
agd-desktop # mount -t ext3 /dev/sdm /mnt/
mount: wrong fs type, bad option, bad superblock on /dev/sdm,
       missing codepage or helper program, or other error
   En algunos casos se encuentra información en syslog, pruebe
   dmesg | tail   o algo parecido

agd-desktop # mount -t ext4 /dev/sdm /mnt/
mount: wrong fs type, bad option, bad superblock on /dev/sdm,
       missing codepage or helper program, or other error
   En algunos casos se encuentra información en syslog, pruebe
   dmesg | tail   o algo parecido

A continuación se usará la herramienta TestDisk para recuperar la tabla de particiones del disco. Al ejecutar TesDisk, lo primero que se nos pregunta es si deseamos crear un nuevo archivo de registro, añadir al archivo de registro existente u omitir. Lo mejor es tener un registro de todo lo que hemos hecho con el disco, por si fuese necesario.

En la segunda ventana, se nos muestran los discos detectados por el kernel. Debemos seleccionar el disco con el que queremos trabajar. En este ejemplo es el disco /dev/sdm.

A continuación se nos pregunta que queremos hacer: analizar el disco en busca de particiones perdidas, cambiar la geometría del disco, volver a escribir el MBR... En este caso, seleccionamos la primera opción puesto que nuestro objetivo es recuperar la tabla de particiones.

En este punto se nos pregunta por el tipo de tabla de partición. Si tiene duda, seleccione la primera (Intel/PC), aunque TesDisk permite trabajar con otros tipos de particiones como por ejemplo las GTP, usadas normalmente en los MAC.

Se nos mostrará un resumen de las particiones existentes actualmente. En el ejemplo puesto que la tabla de particiones está dañada, no se muestra ninguna. En cualquier caso deberemos pulsar en Búsqueda rápida (Quick Search)

Se nos preguntará si deseamos buscar particiones que hallan sido creadas en Windows Vista o posteriores. Si no está seguro pulse Y, aunque si solo usa Linux puede pulsar N.

En caso de que TestDisk encuentre algo, nos mostrará las particiones que ha localizado. En el ejemplo, como veis se han encontrado 4 particiones y como podéis deducir en ese disco duro ha tenido instalado Linux. Si pulsa Intro continuará y se le preguntará si desea escribir la tabla de particiones al disco. Si desea hacer algún cambio puede usar las teclas de dirección para seleccionar una partición concreto (arriba y abajo), para posteriormente (derecha e izquierda) marcarla como iniciable, primaria, lógica, extendida o simplemente eliminarla. Además puede usar las teclas A para crear una partición nueva, L para cargar un respaldo de la tabla de particiones, T cambiar el tipo de partición o P para listar los archivos contenidos. En el ejemplo, no se hará ningún cambio, simplemente pulsaremos la tecla Enter

Por último se nos pregunta si deseamos escribir la tabla de particiones al disco. Obviamente pulsamos Y.

TestDisk nos vuelve a mostrar la tabla de particiones actual del disco, y nos pregunta si deseamos salir o realizar una búsqueda profunda. En este caso, simplemente saldremos.

Antes de salir, TestDisk nos recuerda que para que debemos reiniciar el sistema para que los cambios tengan efecto.

En nuestro caso, en lugar de reiniciar el ordenador, le indicaremos al kernel que vuelva a leer la tabla de particiones del disco partprobe, aunque para acelerar el proceso le indicaremos a que disco debe de volver a leer la tabla de particiones, para ello deberemos ejecutar -de acuerdo al ejemplo aquí mostrado- partprobe /dev/sdm.

28 comentarios:

#
Jose Castillo dijo...

La pregunta es què se puede hacer cuando testdisk no encuentra ninguna partición, no lo contrario. O sea, no se si el título está mal puesto o yo soy un "dummie", o sea un retonto.
Vuelvo a hacer la pregunta: si con Testdisk no se encuentra ninguna partición, aún después de haberlo hecho con la opción "deeper", qué se puede hacer?

#
Antonio Guillen dijo...

Testdisk permite recuperar una tabla de partición perdida, no borrada. Si la tabla de partición ha sido borrada o reescrita testdisk no puede hacer nada.

Nunca me ha pasado, así que nunca he investigado sobre el tema. Si los datos te interesan, puedes probar con UFS Recovery. Aunque te adelanto que deberás documentarte bien para usarlo.

#
LorenzoPC dijo...

hola! la duda que tengo es que el Testdisk no me permite cambiar la caracteristica de la particion a extendida..

#
Antonio Guillen dijo...

LorenzoPC, no se que tratas de hacer pero Testdisk no se creo como una herramienta para manipular parámetros de los sistemas de archivos.

Hasta donde se, testdisk, no lleva a cabo esas tareas o al menos yo nunca he visto esas opciones. Cuando he necesitado modificar algún parámetro de una partición de tipo ext siempre he usado tune2fs.

#
Anónimo dijo...

Hola!
tengo una duda, y ¿si no había creado las particiones en mi disco externo antes de no funcionarme, Testdisk sirve igualmente para recuperar los archivos que haya en su interior?
Lo digo porque yo tengo un problema con un disco de 1tb, no me lo lee y sólo me dejar formatearlo (algo que no he hecho); decidí utilizar testdisk, y llevo más de 24h esperando al análisis y sólo lleva el 32%, así que calculo que me queda aún muchisimoo tiempo.

¿Alguien me podría decir si es correcto que tarde tanto tiempo? O si lo que estoy haciendo no sirve de nada?
Ando muy perdida :S

Muchas gracias!!!

#
Antonio Guillen dijo...

#5 Para usar un disco, debe estar particionado; por tanto si has usado el disco significa que estaba particionado.

Testdisk no recupera archivos, solo particiones. Para que lo quieres debes de usar su compañero Photorec. Photorec funciona igual que Testdisk.

Respecto a tu disco, es probable que este averiado. Si este es el caso, poco vas ha poder recuperar vía software.

#
Anónimo dijo...

Y una pregunta y si linux no me reconoce el disco duro como ntfs? Es que al iniciar gparted con una live cd, no me reconoce el sistema de archivos del disco duro que tenia particionado. Con esta herramienta seria capaz de que el gparted me reconociese el disco duro como ntfs

#
Antonio Guillen dijo...

#7 Esta herramienta permite recuperar la tabla de particiones, particiones perdidas e incluso archivos borrados.

No uso gparted live, así que no conozco que paquetes incluye, pero tal vez el problema está en que no está incluido ntfs-3g.

De todas formas unas preguntas básicas, ¿el disco funciona? ¿es reconocido por el SO? ¿lee la tabla de particiones? ¿para que quieres usar gparted live?

#
Anónimo dijo...

El numero de cilindros de mi disco es errado, lo intente corregir con la opcion geometria pero cuando cierro el testdisk y lo vuelvo abrir los cambios que había hecho desaparesen y nuevamente me muestra el numero de cilidros errado. ¿me falto algun paso?

#
Antonio Guillen dijo...

La geometría del disco es definida por la BIOS. Si has configurado la geometría manualmente deberás corregirla o colocarla en automático, desde la BIOS.

#
Anónimo dijo...

Gracias por responder, ya encontre cual era el problema. Lo que sucedio era que le habían limitado el tamaño al disco con utilitario de Seagate.

#
Anónimo dijo...

Buenas noches, se puede recuperar el sistema de archivos de arranque de una memoria micro SD con el programa testdisk? si es asi, por favor me puede indicar cual es el procedimiento a seguir?
He intentado con unos tutoriales pero llego hasta donde esta la opcion de elegir el tipo de tabla pero no se como continuar... que debo hacer? es muy importante recuperar los datos que tiene la memoria.... Gracias.

#
Antonio Guillen dijo...

#12 Si, se puede. Simplemente siguiendo el mismo procedimiento descrito en este mismo post o cualquier otro tutorial sobre testdisk.

¿Que problema tienes con el tipo de tabla?

#
Anónimo dijo...

TE AMO, TE AMO, Y TE AMO!
Soy de usar linux pero el Gparted me daba problemas y errores, no tenés idea como me solucionaste la vida con este programa! lo voy a tener en mi lista de favoritos. Todo por culpa del winbug$ que me habia convertido el disco a dinámico y CHAU todo no arrancaba nada.
Denuevo muchas gracias y un abrazo grande!! Si no te molesta capaz publique esto en otro lado, pero obviamente citando la fuente, es decir que lo saqé de aca. un abrazo y GRACIAS!!

#
Antonio Guillen dijo...

#14 Por el momento mantendremos en secreto nuestro romance ;)

Respecto a difundir el contenido, por mi perfecto.

Saludos

#
Anónimo dijo...

hola una preg con suma urgencia...yo tengo un disco externo de 500 gigas wd..no estaba particionado tenia toda la informacion en el disco se puede recuperar porque cdo pongo particion me dice error(obvio ya q nunca lo particione) cuales son los pasos a seguir??? porfavor necesito ayudaaaa

#
Antonio Guillen dijo...

#16 sigue los pasos del post. En caso de que en algún paso te de error o no funcione: manda captura de la opción que marcaste en el paso anterior y del error o el paso donde no funciona.

#
Anónimo dijo...

despues de casi 10hs me salio un cartel q dice
A:add particion
L:load backup
ENTER: to continue

por favorrrrr que hago no se como cargar la foto para q la veas salvame de esta hermano!!

#
Antonio Guillen dijo...

#18 Pasos a seguir:
1.- Volver a leer el comentario #17
2.- Servicios para subir imagenes
3.- Postear los enlaces a las capturas

#
Anónimo dijo...

hola! buenos dias he utilizado el test disk para tratar de recuperar un disco duro nuevo recien estrenado y que despues de haber guardado en el unos 600 gigas de datos windosw me dice que no tengo acceso al disco. yo creo que el problema es que he perdido la tabla de particiones del disco pero no se si este el problema. windows me reconoce el disco y me dice que esta correcto y podria formatearlo pero perderia todos los datos y no me interesa perderlos. he usado el test disk para recuperar la tabla de particiones pero no consigo nada.
sigo sin poder acceder al disco. hay alguien que sepa y quiera ayudarme con esto se lo agradeceria muchisimo

#
Anónimo dijo...

Intente recuperar una memoria usb, hice el procedimiento
y me sigue apareciendo: Error mounting: mount: /dev/sdc5: can't read superblock... Por que?
Muchas gracias

#
Antonio Guillen dijo...

#21
Opción a.).- No era el mismo problema.
Opción b.).- No se ha podido recuperar.

#
Anónimo dijo...

Que significa cuando Testdisk te entrega este mensaje "partition sector doesn't have the endmark" y que se puede hacer. En este momento estoy realizando un "deep search", porque en la busqueda normal no encontro particion alguna, pero dice que la estructura esta ok. El disco es de 2T relativamente nuevo y dejo de funcionar ...windows me dice que hay que formatear (cosa que no hice). Gracias por los comentarios que puedas hacerme. Saludos

#
Antonio Guillen dijo...

#23 Esa advertencia tan solo indica que no existe un sector de arranque en el disco.

Prueba con: Analizar -> Avanzado -> Tipo: None

Si devuelve al menos una línea similar a "P Unkown ..." significa que al menos la partición está ahí.

Repite el proceso pero en Tipo indica el tipo de partición en el que estaba formateado el disco. Lo normal es que este NTFS.

Suerte

#
Anónimo dijo...

Hola, ante todo gracias por contestarme. Realice lo que me indicastes en el comentario 24. Analizando como none. Me devolvio una línea como indicas "P unkown...". Siguí con el analisis, y ahora estoy viendo mensajes que dicen "check_FAT: Bad jump in FAT partition" y debajo indica "XFS 4...y una serie de números. En la siguiente linea repite lo mismo de "Check_Fat:.." y continua con las siguientes lineas "WBFS....", "Sysv 4...", "HFS..." y "WBFS...". El analisis aún no termina, pero estoy confundido con la infomación que me esta entregando te agradeceria si puedes comentarme que significa y que debería realizar. Desde ya muchas gracias por tu atención.

#
Antonio Guillen dijo...

#25, esta tratando de buscar una marca perteneciente a algún sistema de archivo; XFS es un sistema de archivos del mundo *nix, HFS es un sistema de archivos de Apple (actualmente si no me equivoco usan HFS+), WBFS es un sistema de archivos que era (¿es?) usado en las Wii parcheadas...

#
qqplayer dijo...

He seguido tu tutorial para un SEAGATE 3.0 TB en caja USB 3.0 (MODELO EXPANSION DESK)
Estaba formateado en ext4.
En windows lo usaba con ext2 filemanager.
De rpente perdio el formato.
Ni en windows ni en ubuntu me lo lee.
He probado con testdisk tanto en windows como en linux.
En windows la version 7 de testdisk x64 me hace el proceso hasta el final pero al reiniciar el disco sigue sin funcionar.
En ubuntu 14.04 testdisk me encuantra la particion pero me da write error.
Alguna idea?
Gracias.

#
Anónimo dijo...

Hola yo tengo undisco toshiba, estaba particionado en 2, una particion para pc, la otra para juegos wii en formato wbfs, lo quise utilizar para una xbox y esta me borro todo, recupere algunos archivos y los copie en una pc, pero quisiera saber si se puede recuperar todo como estaba originalmente con las 2 particiones. Muchas gracias.

Publicar un comentario en la entrada

Recuerde que puede utilizar algunos códigos HTML como <b>para negrita</b>, <i>para cursiva</i> y <a href="URL">para enlaces</a>.