Hoy me he tenido que poner a intentar reparar sectores de un disco duro ya que en el guardaba la típica información importante que no sabes que tienes hasta que la necesitas. En otras ocasiones tengo escrito algún post (no sé si en esta o en anteriores versiones de entreunosyceros) sobre como recuperar datos de discos duros. Esta ves vamos a ver como reparar el disco duro, ya que los datos no han sido borrados, pero resulta imposible acceder a ellos.
Reparar sectores y recuperar un HDD en Linux
Si llegado el caso el disco duro tiene sectores defectuosos podemos repararlos con la herramienta badblocks, lo primero será saber cuál es el disco duro que deseamos reparar (/dev/sdb … /dev/sdc … etc), para ello pongamos lo siguiente en una terminal:
sudo fdisk -l

Supongamos que el disco duro en cuestión es uno externo y es /dev/sdb, entonces el comando para empezar a detectar y reparar los sectores dañados sería:
NOTA: El disco duro NO puede estar montado, bajo ninguna circunstancia puede estar montada una partición del disco duro en el cual van a trabajar!!
badblocks -s -v -n -f /dev/sdb
- -s : indica que se mostrará el proceso con por cientos
- -v : modo verbose, lo cual significa que nos mostrará el número de errores
- -n : indica que se intentará usar un modo no destructivo, o sea, que se intentarán recuperar esos sectores pero también la información que estaba en ellos
- -f : fuerza la lectura y escritura en dispositivos que estén montados. Normalmente si el HDD estuviera montado badblocks no revisaría los sectores que se estén usando. Como ya he señalado y NO se debe tener el disco duro montado, usaremos el parámetro -f para forzar la recuperación de todos los sectores posibles
Esta orden tardará bastante, repito, tardará bastante, que nadie se altere por tener que esperar bastantes horas. Fácilmente podría durar horas o días dependiendo del tamaño del disco duro, de lo dañado esté el disco, de la velocidad del ordenador o de otros factores . Por lo que es recomendable dejar el ordenador ahí tranquilo, dejándolo trabajar durante el tiempo necesario y eso, hacerse con una buena dosis de paciencia.
¿Hay alguna herramienta específica para reparar ext2, ext3 o ext4?
Buscando un poco diré que sí que la hay, se puede usar e2fsck. Igual que en el caso anterior habrá que saber que partición es la que se desea revisar. Para este ejemplo supongamos que es /dev/sdb1. El comando a ejecutar sería:
e2fsck -p -v -y /dev/sdb1
- -p : indica que se intenten reparar automáticamente los daños encontrados
- -v : modo verbose, o sea, que nos muestre en pantalla los errores
- -y : responderá Sí a todas las preguntas como ¿desea recuperar X sector?, para hacer el proceso de veras automático
Con estos sencillos comandos y una buena dosis de paciencia, podremos volver a utilizar los discos duros que creíamos muertos. Aclarar que el nivel de reparación que se puede alcanzar con estas herramientas es bastante alto, pero no 100% efectivo. Pero si no se prueba, nunca se conseguirá. Bueno nada más que agregar al tema más que decir que yo usaba HirensBootCD, que también funciona bastante bien, pero he de decir que siguiendo este sistema de reparación he conseguido reparar HDD que el Hirens no ha conseguido solucionar.
6 Comentarios
yo llevo mas de una semana y el proceso no termina que puedo hacer en este caso?
Una semana parece mucho tiempo, claro que también depende del tamaño del disco duro. ¿Estás seguro de que no se ha colgado el sistema? Valora si te compensa seguir con el proceso activo o si no estarás gastando más dinero en electricidad de lo que te valdría un disco duro nuevo. Salu2.
Gracias x compartir
Gracias por la visita. Salu2.
Funciona bien pero al utilizar el comando e2fsck no permite utilizar todas las opciones que muestras, hay que elegir una (a mi la -p me ha funcionado muy bien). Volveré a leerte. Saludos
Hola, tienes razón. Puse todos esos comandos a modo de muestra. Salu2 y gracias por el apunte.