Fuente: AndaLinux
Antes de las vacaciones de Navidad, un compañero del Instituto tuvo problemas con uno de sus pendrives.
En concreto, cuando lo pinchaba (en su caso era una Microsoft Windows XP pero en cualquier Linux ocurría lo mismo porque el fallo era físico) le detectaba la memoria USB pero no le mostraba su contenido.
Resignado tras la pérdida del contenido lo comentó durante los habituales cafés de media mañana a lo cual no dudé en contestar: “¿un pendrive roto? ¡déjame que le eche un vistazo!
Búsqueda de la causa
Tras estudiar los cambios en el fichero de log (comando dmesg en la terminal) que se producían al pinchar el dispositivo en mi Ubuntu Linux detecté lo siguiente
[ 2852.064000] sd 2:0:0:0: [sdb] Sense Key : Medium Error [current]
[ 2852.064000] sd 2:0:0:0: [sdb] Add. Sense: Unrecovered read error
[ 2852.064000] end_request: I/O error, dev sdb, sector 601
[ 2852.064000] FAT: Directory bread(block 53failed
[ 2852.080000] sd 2:0:0:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE, SUGGEST_OK
Lo cual parecía indicar que existían sectores defectuosos en el mismo.
Herramientas a utilizar
Tras probar varios de los productos existentes en el mercado (sin tener en cuenta el tipo de licencia o el sistema operativo para el que estaban diseñados) con nulos resultados opté por hacer uso de la herramienta foremost que alguno de vosotros ya ha comentado anteriormente en algunos de los artículos anteriores de este blog.
Igualmente también me ha sido necesario hacer uso del comando dd para conseguir una imagen iso del dispositivo con la que poder trabajar.
Procedimiento
Como hemos comentado, el problema parecía ser la existencia de sectores defectuosos (cómo me he acordado de los “clásicos” disquetes de 3.5″) que impedían un correcto funcionamiento del aparato.
Crear una imagen del dispositivo
Para poder crear la imagen lancé desde la terminal el siguiente comando
dd if=/dev/sdb of=/tmp/pendrive.iso conv=noerror,sync
donde
- /dev/sdb es el dispositivo a recuperar (para saber cuál es el tuyo no tiene más que seguir estas instrucciones).
- /tmp/pendrive.iso es el fichero que vamos a crear a partir del contenido del pendrive.
- conv=noerror,sync es el parámetro que indica al comando dd que ignore los errores y siga generando la imagen del dispositivo aunque se produzcan fallos.
Recuperar ficheros de la imagen creada
Una vez creada la imagen del paso anterior (recomiendo hacer copia de seguridad de la iso por si fuese necesario) sólo nos queda lanzar (una vez más desde la terminal) un
foremost -v -i /tmp/pendrive.iso
Como por arte de magia y, en el directorio que nos encontremos en ese momento, aparecerán directorios para todos y cada uno de los tipos de archivos que foremost es capaz de recuperar (png, jpgs, pdfs, docs, ppts, …)
Conclusión
Método sencillo (una vez que sabes cómo) que puede serte de utilidad ante un duro trance como es la pérdida de información importante por un fallo mecánico de un dispositivo.
Aplicable a otros elementos como cdroms o dvds seriamente dañados (los hongos hacen extragos en algunos de ellos y de las ralladuras mejor ni hablar) por lo que espero haber sentado las bases para otros experimentos y/o pruebas.










gracias brother es justo lo que nesecitava funciono al 100%
DIOS les guarde… Cordial Saludo…
perdon yo soy nueva en esto y quisiera saber si es que puedo guardar mis datos en otro tipo de archivo que no sea imagen iso….
Agradezco de antemano su ayuda….
Es necesario hacer una copia de tu pendrive en una imagen iso para que foremost consiga recuperar la información.
DIOS te Bendiga…. Muchas gracias por tu respuesta. El problema es que, creo la imagen y el programa que tengo en kubuntu (k3b) para grabar me manda a grabar en un cd y son 1.9 MB, además fui a windows y grabé la imagen de mi pendrive en un dvd y resulta que no se ve nada… Y supuestamente bajó la siguiente información
Finish: Wed Nov 4 00:30:10 2009
4348 FILES EXTRACTED
jpg:= 2170
gif:= 938
bmp:= 13
htm:= 113
ole:= 52
zip:= 93
rar:= 12
exe:= 44
png:= 758
pdf:= 155
——————————————————————
Foremost finished at Wed Nov 4 00:30:10 2009
que puedo hacer????