10 diciembre, 2005

Frikonsejos: dd_rescue (recuperar CDs y DVDs dañados)

(ambientar con musiquilla de bricomanía y leer con acento vasco)

¡Hola amigos! Bienvenidos a Frikonsejos, la nueva sección de este vuestro blog. En ella os descubiremos algunos sencillos pero útiles trucos para haceros la vida más fácil. Os recomendamos que si no os interesa el tema de frikear con Linux y esas cosas, pues que no os leáis este post y ya está.

Hoy vamos a aprender a recuperar cds y dvds jodidos, rayados o en general, pues funcionando incorrectamente. Aunque nos centremos en este tema, pues lo que vamos a aprender hoy también es aplicable a cualquier dispositivo de bloques como discos duros de esos que ronronean. Si la negrita de antes no te ha asustado y sigues leyendo, será que conoces la utilidad de Linux (y suponemos que otros sabores Unix) dd. Es una herramienta muy mona que por ejemplo nos deja hacer una copia en disco de una imagen de un CD o DVD tan facil como "dd if=/dev/cdrom of=imagen.iso". Tiene muchos más usos y opciones, pero como esto es un blog y no un manual de Unix, pues tampoco me voy a parar. Lo malo que tiene es que si hay un error de lectura, pues se corta y el fichero se queda a medio y hay que empezar otra vez. Con la variante que hoy vamos a manejar, esto ya no es un problema, podemos especificar la posición en la que comenzar y terminar la lectura y así podremos retomar la lectura donde empezo a dar errores. También puede copiar la imágen empezando por el final y terminando por el principio, muy divertido. Vamos a poner un ejemplo de uso y veréis que fácil y que bien, suponemos que tenemos un DVD-Video que salta, que queremos pasar a algún formato más conveniente y que no podemos leer bin ni de manera normal ni con dd.

  1. Instalamos dd_rescue, por ejemplo con "apt-get install dd_rescue" en sistemas Debian.
  2. Se mete el CD.
  3. Ejecutamos "dd_rescue -l imagen.log /dev/dvd imagen.iso". Ira grabando la imágen tan ricamente y en un punto empezara a decirnos que ha habido errores de lectura, momento en el que paramos el programa (Ctrl+C). Si no da errores de lectura, pues coges el dvd y lo rayas un poco con las llaves de casa por ejemplo y vuelves a probar.
  4. Sacamos el DVD y lo limpiamos con nuestro producto de limpieza favorito. En dirección radial, no se os olvide.
  5. Miramos en el log la última posición IPOS en la que no había errores de lectura (el último Ipos en el que la cuenta de erroes estaba a cero).
  6. Ejecutamos "dd_rescue -l imagen.log -s IPOS /dev/dvd imagen.iso" donde IPOS es... lo que os imáginais.
  7. Repetimos hasta EOF y ya tenemos nuestra flamante imagen.iso a nuestra disposición.

Bueno, y aunque se nos haya ido un poco la olla en la redacción, la cosa funciona y yo he consegido recuperar así un DVD en seis iteraciones (a lo mejor porque no estaba rayado sino que tenía suciedad itinerante que no era capaz de eliminar con los productos de limpieza a mi disposición). En otro orden de cosas, agradecería comentarios acerca de la forma correcta de escribir CD(-ROM?) y DVD, así como para insertar comandos en un párrafo (no en líneas a parte). ¡Nada más por nuestra parte, nos vemos en la próxima edición de Frikonsejos! (aunque releyendo lo que he escrito creo que la próxima vez voy a optar por escribir sin fliparme).