Linux: Cómo reparar sectores defectuosos

COMPARTIR 0 TWITTEAR

En muchas ocasiones se nos ha estropeado un disco duro, ya sea con datos o sin datos, en este artículo vamos explicar de forma sencilla como reparar ese disco duro que tenemos en este estado, esto va a permitirnos poder reparar el disco siempre que sea daño lógico, es decir, que el dispositivo no este dañado en lo que a partes mecánicas se refiere, siempre que el dispositivo no haga ruidos extraños al hacer uso de él, lo más probable es que estemos ante la posibilidad de que se pueda reparar.

principal

Para comenzar, lo primero e importante, es estar seguro de que tipo de fallo tiene nuestro disco, como ya he dicho antes, si el sonido del disco es normal, no se escucha ningún “clac”, al intentar leer o escribir, lo más probable es que si que podamos repararlo. Para ello primero de todo debemos asegurarnos donde está montado, y que lo haya reconocido el sistema. Para comprobar el disco que queremos y saber la partición, podemos abrir una ventana de terminal y ejecutar el comando:

 lsblk -f

Nos aparecerá algo parecido a la captura, cada uno tendrá una estructura de discos y particiones, como explico a continuación.

cap1

Con este comando nos muestra los árboles de particiones y discos, como vemos, las particiones cuelgan de la raíz /dev/sdb, numerándolas, es decir, sdb1, sdb2, etc. Para reparar el disco tenemos que seleccionar la partición raíz, es decir, sdb. Por lo tanto para reparar el disco duro vamos a introducir el comando siguiente en modo root.

 badblocks

Este comando por si sólo no hace nada, es la herramienta que utilizaremos para hacer la reparación, para ello si queremos ver la información de los parámetros que podemos pararle para hacer la reparación, vamos a la consola, e introducimos :

 man badblocks

Se nos abrirá algo parecido a un manual de instrucciones con la descripción de lo que hace cada parámetro, y todo lo que podemos hacer con ella. Yo aquí voy a describir los parámetros más significativos y que normalmente se utilizan.

Para hacer sólo un escaneo del disco, y que compruebe los sectores defectuosos, en caso de que los tenga, escribimos:

 badblocks -s /dev/sdb

Si por el contrario, estamos seguros que nuestro disco tiene estropeados varios sectores y no queremos perder la información que está contenida en los mismos, debemos añadir el parámetro -n, esto efectúa una lectura-escritura no destructiva:

 badblocks -n /dev/sdb

También es importante saber que los parámetros se pueden combinar entre ellos, siempre que sean compatibles, cuando escribimos el primer comando mencionado, en la descripción aparece que parámetros son compatibles entre si, por ello es impotente echarle un ojo, aquí se explica de forma superflua, sin entrar mucho en detalle.

El comando más utilizado es una combinación de varios parámetros, ya que algunos de por si solos no funcionan, o no sirven de nada. El conjunto de parámetros más usado es el siguiente:

 badblocks -svnf /dev/sdb

Básicamente contiene los dos comandos anteriormente mencionados, y también añadimos -v, que sirve para que nos valla mostrando por pantalla el número del sector defectuosos. Además también hemos añadido la opción de -f, que repara los sectores dañados. Un ejemplo de lo que os mostrará, es algo parecido a lo siguiente, para que os hagáis una idea.

 linux-f7zo:~ # badblocks -svnf /dev/sdc
 /dev/sdc is apparently in use by the system; badblocks forced anyway.
 Checking for bad blocks in non-destructive read-write mode
 From block 0 to 976762583
 Checking for bad blocks (non-destructive read-write test)
 Testing with random pattern: 317676% done, 13:14 elapsed. (0/0/0 errors)
 317677% done, 16:20 elapsed. (1/0/0 errors)
 317678% done, 19:26 elapsed. (2/0/0 errors)
 317679% done, 22:32 elapsed. (3/0/0 errors)

Por último, si nos da igual la información contenida en el disco, y lo único que nos interesa es repararlo, podemos utilizar el parámetro -w, que a grandes rasgos lo que hace es rellenar el sector, de forma que lo que hay escrito se pierde. Este parámetro no es compatible con -n ya que se contrarían entre si. El tiempo que tarda en reparar sectores, es directamente proporcional al tamaño del disco, no es lo mismo reparar un disco duro de 20 GB que un disco duro de 4TB. Si tienes un disco duro que reparar en Mac también puede reparar el disco con sus propias herramientas. Para evitar dolores de cabeza es recomendable, tener siempre una copia de seguridad, de esta forma nos dolerá menos si perdemos un disco.

Archivado en Almacenamiento, Mantenimiento, Tutorial, Tutoriales Linux
COMPARTIR 0 TWITTEAR

Comentarios (18)

Usa tu cuenta de Facebook para dejar tu opinión.

  • Maxi dice:

    Me resultó muy útil la información, muchas gracias. Por cierto, en el último párrafo quizás quiso decir que el tiempo que tarda en reparar sectores, es DIRECTAMENTE proporcional al tamaño del disco. Es decir, mayor tamaño nuestro disco, mayor será el tiempo de reparación, según mi entender, pero tal vez el equivocado sea yo.

    • Daniel Pastor Sánchez dice:

      Me alegro de que te haya servido, tienes razón, con lo del último párrafo, ha sido una errata, gracias por el aviso, un saludo 😉

  • dexter_one dice:

    Muchas gracias por la info, es bueno saber este comando cuando un disco duro nos da dolores de cabeza 🙁

  • Joaquin Crespo dice:

    Primero que nada; MUCHISIMAS GRACIAS!. Tengo el disco duro de una amiga a la cual se la ha fallecido el padre hace poco y ahí estaban todas sus fotos, con ésto estoy reparando el disco (todavía no llegó al 40% y mínimo ya debe haber a simple vista más de 50 errores resueltos), tanto yo como ella te lo agradecemos.

  • max dice:

    Muchas gracias antes que nada. Una consulta, yo hice ya el paso del comando -w, desde un live usb con linux. El tema es que lo hice para todo el disco con lo que veo que desde la “/” hasta la swap han sido “reparadas” con la consecuente perdida de archivos. Por lo tanto tengo que instalar una nueva distro, y a la hora de formatear la partición “/” me “pasaría por arriba” lo hecho con badblocks? es decir volvería a ocupar los sectores dañados del disco? se entiende? Mil graicas

    • katmai dice:

      por lo que yo he probado con algunos discos y SDs no pasa nada, de hecho tienes que formatear si usas la opcion -w ya que te jode todo el sistema de archivos. despues de formatear me ha ido todo perfecto

  • Jorgequatro dice:

    Agradecido por tu tiempo y conocimientos. La consola de linux siempre me sorprende. En este caso, he de decir que efectivamente, estos comandos son muy utiles para reparar nuestros discos duros. Me encontre con la situacion de que el disco con sectores defectuosos (es el que estoy usando ahora, y la verdad no me da problemas), es el disco principal, y me indica que el disco esta montado (claro…lo estoy usando). Entiendo que deberia usar un livecd de mi distro, para poder trabajar sobre este disco duro desmontado Por que otra opcion no hay, ¿o si…? Saludos desde Malaga, Costa sur de España

  • German dice:

    buenas amigo al ejecutar cualquier comando sobre el disco me sale el siguiente error (permission denied while trying to determine filesystem size error) porfavorrr me podrias ayudar

    • katmai dice:

      imagino que lo estas haciendo como root, no? si como root no te funciona prueba de recuperar antes el sistema de ficheros con ‘testdisk’, aunque si no quieres perder datos del servidor yo de ti intentaria crear una copia de seguridad con el dd

  • German dice:

    Como soluciono ese error es un servidor con elastix y necesito reparar el disco. :/

  • fabian dice:

    nose lo que hice con linux pero tengo una netbook que la compre usada y venia con linux mint 15 olivia instalado,quise instalar el winows 7 y noque que hice pero se daño el sistema operativo y ahora la netbook se enciende y pasa directo a “terminal”probe muchos parametros para tratar de reparar,todo sacado de diferentes foros,y nada es un poco dificil para mi seguir intentando,por eso les pido que me recomeinden que hacer al respecto o como puedo isntalar el window o reparar linux para darle utilidad a la netbook…espero me [puedan ayudar,gracias!

  • fabian dice:

    hice todo lo que dice aqui y me salio esto: usage: badblocks [-b block_size] [-i imput_file] [-o output_file [svwnf] [-c blocks_at_once] [-d delay_factor_between_reads] [-e max_bad_blocks] [ -p num_passes] [-t test_pattern [-t test_pattern […]]] device [last_block [first_block]]

  • fabian dice:

    usage: badblocks [-b block_size] [-i imput_file] [-o output_file [svwnf] [-c blocks_at_once] [-d delay_factor_between_reads] [-e max_bad_blocks] [ -p num_passes] [-t test_pattern [-t test_pattern […]]] device [last_block [first_block]]

  • Damian Medina dice:

    Saludos, gracias por la informacion, quizas tu puedas a poyarme a saber si hay manera de reparar mi memoria usb en linux, intente con los comandos que describes pero me aparece un mensaje de sistema de ficheros de solo lectura mientras se intentava abrir /dev/sdb. Lo que pasa que la memoria entre en modo de lectura y no permite almacenar informacion puedo leer parte de los archivos que estan en ella aunque la verdad no me interesa lo que quiero recuperar es la USB y mas por que es de god of war. Gracias

Publica tu opinión usando tu cuenta de Facebook.

Otras webs de Difoosion