domingo, 6 de octubre de 2024

VIDA DIGITAL



El épico rescate de casi 1000 fotos atrapadas en una tarjeta de memoria
Es notable la cantidad de información que hoy cabe en una superficie ínfima, y la enormidad de trabajo que puede llevarnos recuperar esos datos, si los dispositivos fallan
No pasa hasta que pasa, y por eso hay que hacer backup. Pero todos alguna vez nos encontramos en esta encrucijada. Aquí, un programa libre para recuperar datos y una aventura con final inesperado
Ariel Torres
No era la primera vez que alguien me pedía ayuda con un disco, una tarjeta de memoria o un pendrive que parecían haber perdido su natural voluntad para leer y escribir datos. Pero en este caso no solo se trataba de un queridísimo amigo, sino que la aventura iba a enseñarme varias lecciones. La primera, que siempre hay que leer el manual del usuario, aunque uno crea que ya sabe todo lo que necesita saber. Me habría evitado un número grande de preocupaciones.
En todo caso, es notable la cantidad de información y de trabajo que caben en una tarjeta de memoria de menos de un centímetro cuadrado de superficie. Pero ese era el caso de esta tarjeta microSD que mi amigo había usado en una cámara de Nikon, luego en algún celular, luego otra vez en la Nikon y que, en algún momento, por razones que probablemente nunca descubramos, se empacó y ya no hubo modo de ver o copiar a una computadora las fotos que había en su interior. Más de novecientas sesenta fotos, para ser preciso.
Se había ocupado de averiguar el costo de recuperar sus datos, y le habían pasado un presupuesto exorbitante (150 dólares para empezar a hablar). Le dije que en general esas cosas eran costosas, pero que me dejara probar antes algo.
Por probar algo me refería a conectar la tarjetita a una computadora y correr un programa que vengo usando hace años y que es una joya. Se trata de una caja de herramientas para recuperar datos en sistemas de archivos corrompidos o dañados, rescatar particiones perdidas y así. Los dos programas principales (en rigor, están encadenados) son Photorec y TestDisk y son obra de Christophe Grenier, un ingeniero francés al que entrevisté en 2010. Su software es gratis y de software libre.
A ver
Como me había anticipado mi amigo, las máquinas leían la tarjeta e incluso mostraban la lista de fotos, pero no había modo de abrirlas ni de extraerlas de la microSD (típico). Probé que eso era efectivamente así y por lo tanto decidí ir directamente a recuperar las fotos. ¿Por qué? Bueno, no podía saberlo, pero casi seguramente había alguna falla en el mapa de bits del sistema de archivos (exFAT, en este caso), y eso en general es el preámbulo de una falla total. Por supuesto, no me esperaba lo venía a continuación.
Después de configurar Photorec, lo dejé trabajando. Estas tareas suelen llevar tiempo. Sí, bueno, okay, pero no tanto tiempo tiempo. Después de un rato, cuando fui a ver si había resultados, el programa decía, sin sonrojarse, que iba a necesitar entre 5 y 6 meses para recuperar todas las fotos. Caramba.
La máquina en la que estaba corriendo Photorec es un equipo con Linux que se usa como servidor de música, así que no había problema en dejarla todo ese tiempo. Excepto por un detalle: en cinco o seis meses un sistema operativo se actualiza muchas veces, y al menos la mitad de esas veces necesita reiniciarse.
A la izquierda, Photorec trabajando sobre la microSD; al lado, top, un comando de Linux para monitorear el sistema. En este primer intento, llevaba 4 días de uptime y había recuperado 25 fotosAriel Torres
De todos modos, vieron cómo es. La computadora dice que va a tardar tres horas en copiar algo y al final son siete minutos. Así que antes de hacerme malasangre (madurar es aprender a no hacerse malasangre, anoten), dejé correr el proceso durante quince días. La buena noticia era que estaba funcionando. Recuperó unas 170 fotos a la perfección. A ojo de buen cubero, en menos de tres meses iba a extraer todas las imágenes. Si desconectaba la máquina de la red (por razones de seguridad), podría esperar todo ese tiempo para instalar actualizaciones. Pero había un problema adicional (dejando de lado los cortes de luz). Los programas pueden colgarse. Temía eso. Tratar con sistemas de archivos corruptos es casi una receta infalible para colgar programas. Era lo que le había pasado al principio a la galería de un celular al tratar de leer una de las fotos.
Resumo: irremediablemente, lo que temía terminó ocurriendo. Photorec se cerró y tenía que empezar de nuevo. Por lo tanto, no solo iba a llevar tres meses, sino que, al colgarse (o al cortarse la luz), debería arrancar de cero.
Otros caminos, mismo destino
Decidí que, perdido por perdido, era momento de intentar corregir los errores del disco. Probé con Testdisk y con chkdsk. Constaté que había errores en el mapa de bits de la unidad y que la situación se repetía. Es decir, se ponían a trabajar, pero el proceso era lentísimo. Analizar la partición, que normalmente lleva menos de dos minutos en una unidad saludable, se tomó dos días y casi no avanzó. Muy lindo todo.
Aunque carecía de sentido, intenté leer la tarjeta con varios celulares. Con uno en particular, algo vintage, conseguí listar casi todo el directorio de las fotos, tras conectarlo a una computadora. Pero al tratar de copiarlas o bien obtenía imágenes truncadas o el bien proceso terminaba abruptamente con un error no especificado. Salvé no mucho más de 20 fotos de esta manera. No servía.
Por lo tanto, no había mucho que pensar. Tenía que volver a intentar con Photorec, con la tal vez no del todo ingenua pretensión de que un proceso funcionara ininterrumpidamente durante unos tres meses. Caramba, no pedía tanto.
Entonces descubrí que el genial Christophe había tomado en consideración esta eventualidad (y que debería haberme tomado el trabajo de leer todo el manual del usuario). Al volver a poner la microSD en el mismo Linux donde ya había rescatado 170 fotos, Photorec me preguntó si quería continuar la sesión anterior (Y/N?). Obviamente le dije que sí. Traducido: no tenía que empezar de cero, y la máquina, el programa, la luz o las actualizaciones podían cortar el rescate todo lo que quisieran, solo era cuestión de volver a ejecutar Photorec y, con un poco de paciencia y tiempo, iba a extraer todas las imágenes de esa microSD.
¿Alguien dijo backup? ¿Que por qué mi amigo no había hecho un oportuno backup de esa tarjeta? Oh, vamos. El que esté libre de pecado que arroje la primera piedra. Todos nos hemos salteado un backup alguna vez, y así aprendimos la lección.
La propuesta de Christophe
Con todo, y casi cualquier veterano sabe esto, tres meses es muchísimo tiempo para cualquier cosa informática hoy, excepto entrenar a GPT con una supercomputadora. Así que le escribí a Christophe y le conté la situación. Me respondió enseguida y me dio una receta que, una vez que haya sacado estas fotos de la manera por ahora más segura y lenta, intentaré.
Para eso se necesita un programa llamado ddrescue, que ya había usado hace poco para rescatar un DVD dañado. En este caso, la sugerencia de Grenier era usar ddrescue con las opción --min-read-rate=1M, lo que dejaría las áreas más lentas para el final del rescate posterior. Una vez creada una imagen de la tarjeta dañada, podría correr Photorec sobre esa imagen y el proceso debería llevar mucho menos tiempo. Actualizaré esta nota cuando haya probado tal alternativa, si la tarjeta sobrevive. Por ahora, despacio, pero con constancia, Photorec sigue sacando fotos en perfecto estado de esta tarjeta microSD que, a todas luces, no está en perfecto estado. Pero ya saben. El tiempo todo lo cura.

http://indecquetrabajaiii.blogspot.com.ar/. INDECQUETRABAJA

No hay comentarios.:

Publicar un comentario

Nota: sólo los miembros de este blog pueden publicar comentarios.