Recuperando información de discos duros dañados

Josemaría | 14 de agosto de 2006 | 251 comentarios

Durante este mes he tenido un par de incidencias con discos duros aparentemente irrecuperables que al final han acabado felizmente… Y no, no he metido ninguno de ellos en el frigorífico dentro de una bolsa (¿se sigue creyendo alguien esta historia a pesar de que la promocione la mismísima Microsoft?). Sin ánimo de dar una receta universal os cuento como suelo proceder en estos casos. Los errores en un disco duro pueden ser de tres tipos: eléctricos, lógicos o mecánicos. Los primeros son los más sencillos de resolver y los mecánicos los más difíciles (por no decir casi imposibles de forma doméstica). Si necesitas resolver problemas de este tipo de forma frecuente en tu trabajo o en tu casa resulta casi imprescindible contar con un convertidor IDE-USB tanto para discos duros convencionales (los de los equipos de sobremesa) como para discos duros portátiles. Existen kits universales para ambos tipos de discos a precios muy económicos en cualquier tienda de informática que se precie.

Los errorres eléctricos se reconocen rápidamente: arrancas el ordenador y la BIOS no te detecta ningún dispositivo conectado, algunas veces tras varios minutos de espera. Si usas tu Distribución Live favorita para arrancar tampoco podrás hacer nada (lógico). Este tipo de problemas se solucionan muy fácilmente pero siempre y cuando tengamos un disco duro exactamente igual al que se nos ha roto. La parte eléctrica del disco es fácilmente reconocible: una placa de circuito impreso situada en su parte inferior, sujeta mediante tornillos tor (preparaos a soltar más de cuatro euros por la llavecita apropiada si no teneis una) y conectada a la parte mecánica mediante contactos superficiales o un pequeño conector y un cable plano. En las empresas ‘serias’ donde los equipos se compran por lotes es fácil contar con ese gemelo del disco necesario para la reparación. En casa puede resultar más difícil, por eso yo guardo todos los discos duros que desecho tanto en casa como en el trabajo a la espera de que encuentren una oportunidad de ser útiles. A partir de aquí la cosa es muy fácil: si es preciso hacemos una copia de seguridad del disco cuya electrónica vamos a usar para el rescate (por si las moscas), sustituimos la placa dañada por la buena, conectamos el disco al equipo que usaremos para recuperar los datos mediante el convertidor IDE-USB, montamos el dispositivo (¡por supuesto que no estamos usando windows!) y nada más. El 100% de las veces que he recurrido a este método ha funcionado, así que sin miedos.

Por errores mecánicos entiendo aquellos en los que el dispositivo mecánico de lectura de los platos del disco se ha dañado. Normalmente en estos casos la BIOS reconoce al disco pero no es posible sacar nada más de el. A veces el disco hace extraños ruidos semejantes a verdaderos quejidos durante el arranque… Jamás he sido capaz de recuperar un disco con este tipo de fallos aunque lo he intentado en un par de ocasiones haciendo algo similar a lo comentado en el caso de los errores eléctricos: desmontar la parte dañada y reemplazándola por la de un disco idéntico. Desgraciadamente para nosotros la operación de reemplazar un brazo lector cuyas cabezas flotan a menos de un milímetro del plato del disco es bastante más difícil que la de sustituir una placa de circuitería impresa. Afortunadamente también se trata de los errores menos frecuentes.

Por último, en los errores lógicos es donde tenemos una mayor diversidad de causas. Y de soluciones. Podemos encontrarnos desde los casos más fáciles un disco con problemas lógicos en el sistema operativo o físicos en el caso de algún sector dañado donde se encontraba un archivo imprescindible para el arranque hasta casos más difíciles en los que tenemos la mala fortuna de que los sectores defectuosos provocados por un ‘atterizaje de cabezas’ están justo debajo de los datos que necesitamos recuperar. Ojo, como veis llamo a estos problemas lógicos aunque puede que la causa de los mismos sea un fallo físico en la superficie del disco pero para nosotros el resultado es que el disco es accesible aunque no podamos leer parte de su contenido. El diagnóstico es más variado pero a poca práctica que tengamos identificaremos rápidamente lo que está ocurriendo: la BIOS reconoce el disco y el ordenador arranca pero luego este presenta problemas (recuperables o no) durante el arranque o en algún momento de su funcionamiento. Mi consejo en estos casos es que salvo que tengamos muy, muy claro que el problema ha sido puramente lógico (un virus, una biblioteca dinámica corrupta, etc.) jamás, jamás volvamos a usar ese disco. Los discos duros han bajado mucho de precio y aunque ahora podamos salvar lo que necesitamos puede que la próxima vez no tengamos tanta suerte. El segundo consejo es que nunca tratemos de hacer la recuperación ‘arrancando’ desde el disco dañado aunque esto sea posible, ya que el sistema seguirá usando ese disco y puede que al escribir un temporal lo haga precisamente sobre los sectores que necesitamos recuperar. En el mismo momento en que identificamos el problema hay que arrancar desde una Live o sacar el disco y conectarlo a otro equipo con uno de nuestros adaptadores y montarlo en modo sólo lectura hasta que consigamos hacer una copia más o menos completa de su contenido. Si tenemos la fortuna de que los datos/sectores dañados no son los que nos interesan ya tenemos resuelto el problema. En caso contrario tenemos que recurrir a otras herramientas.

dd_rescue y recoverdm nos son útiles cuando tenemos un sector físicamente dañado que nos impide leer ciertos datos. Ambos trabajan de forma muy similar haciendo una copia de un dispositivo de bloques y realizando tantos reintentos como necesite (o le dejemos) para leer correctamente los sectores defectuosos.

Si el problema no es de este tipo sino que buscamos un determinado archivo que no aparece (borrado conscientemente o por accidente) y aun usamos ext2 la solución a nuestros problemas podría ser e2undel. Si usamos ext3 o reiserfs tenemos a Magic Rescue y foremost que realizan un escaneado de toda la superficie del disco buscando las cabeceras características de determinados tipos de ficheros. Ni que decir tiene que estas herramientas son también bastante útiles para ‘recuperar’ ficheros borrados de forma legítima por el propietario del disco antes de que cayera en nuestras manos ;-)

Dos anotaciones para terminar. Muchas de las herramientas que he mencionado en esta tercera parte son válidas también para recuperar datos de otros dispositivos (CD’s, DVD’s, memorias USB’s, etc). Y dos: teneis una lista de las principales distribuciones Live centradas en estos temas en este enlace de Nautopia. No está demasiado al día pero vale para emergencias.

Y, por supuesto, mis más sinceros deseos de que este texto no os sea nada provechoso en el futuro.

ACTUALIZACION: Dos buenos enlaces para buscar otras alternativas y puntos de vista: Discos rígidos rotos y Recuperación de datos.

ACTUALIZACION (y II): Algunas utilidades que he usado últimamente y que merecen la pena estar aquí son Gpart y TestDisk para recuperar tablas de particiones dañadas y PhotoRec para recuperar ficheros perdidos (ojo, no sólo fotos a pesar de su nombre) incluso en el caso de sistemas de ficheros gravemente dañados o, incluso, formateados.

ACTUALIZACION (y III): A través de este comentario llego a HDD Zone, una web donde se venden placas de discos duros para reemplazar las averiadas. PCB Solution es otra empresa que se dedica a lo mismo. Ojo, este sistema sólo funcionará si la avería del disco es eléctrica, así que hay que asegurarse de ello antes o asumir el riesgo de que puede que no funcione.

Compártelo:
    emailPDFPrintBitacoras.comIdenti.caTwitterdel.icio.usDiigoFacebookMeneameBarraPuntoNetvibes

251 comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>