Reparar discos duros con sectores defectuosos con Ubuntu 12.04


Recientemente me ha dado por recuperar viejos discos duros que tenía por casa, y antes de nada quería comprobar su estado y repararlos si era posible, bueno, pues más o menos es posible desde Ubuntu 12.04 y cualquier otro Linux, claro. Cuando comprobamos los discos desde la Utilidad de discos podemos ver algo parecido a la siguiente imagen.
Pero en otras ocasiones podemos encontrarnos que el disco tiene algunos sectores defectuosos. Bien pues podemos hacer una reparación de la siguiente forma, si el disco que queremos reparar es el que contiene el sistema operativo deberemos utilizar un live-cd para poder realizar la reparación, ya que necesitamos que el disco no esté montado, si no es el caso no hace falta.

Bueno, vamos al lío, desde un terminal ejecutamos el siguiente comando.

$ sudo badblocks -s -v -n -f /dev/sda

Donde /dev/sda será el dispositivo que intentaremos reparar, para ver cual es el nuestro podemos utilizar el comando fdisk -l y comprobarlo. Ahora os explico en que consisten los argumentos utilizados.

  • -s muestra el proceso de la operación utilizando porcentajes.
  • -v nos indica el modo de escritura utilizado.
  • -n utiliza el modo no destructivo para recuperar sectores defectuosos e intentará recuperar la información.
  • -f fuerza la lectura/escritura en los dispositivos montados, esta opción es muy peligrosa, es recomendable no utilizarla. Únicamente sería segura utilizarla cuando tenemos el fichero /etc/mtab dañado y estamos seguros que el dispositivo está desmontado.

Una vez terminado el proceso es conveniente formatear el disco para comenzar a utilizarlo, decir también que es un proceso bastante lento y puede tardar horas.

Au!!

Fuente: ubuntu@zer0-desktop:~$


66 respuestas a “Reparar discos duros con sectores defectuosos con Ubuntu 12.04”

  1. puuuuuuuuuuuffff esta lentisimo segun mis calculos va a durar 5 dias jejejej pero me ha encontrado full errores por el momento creo q va en los 2000 espero y se me corrigan mis problemas..

  2. Cuidado!!! Según el man de badblocks la opcion -f sólo sirve para forzar el uso en un hd montado, no repara nada. El uso del flag -f es muy peligroso porque si te equivocas y le dices que te haga el test en un /dev montado la puedes liar gorda.

    • Hola Jose, es cierto, la opción -f es muy peligrosa ya que fuerza la lectura/escritura en dispositivos montados.
      Muchas gracias por el aviso, lo corrijo, un saludo.

    • ¿A que os referis exactamente con «peligroso» en emplearlo con un disco montado? ¿qué es lo que pude dañar?

      Tambien quisiera una aclaracion al comentario de que no repara, ya que mi idea era usarlo en vez de algun programa tipo HDD regenerator, ya que si que hay bastantes sectores dañados….

      En todo caso, Gracias, Javier, por tu generosidad en compartir tu conocimiento y a los demas compañeros que aportan tambien su experiencia.

      • Hola!
        Bueno veamos, cuando nos referimos a peligroso, quiere decir que sobre un dispositivo montado forzará el chequeo, y puede que perdamos la información de ese sector si necesita hacer alguna acción.
        En cuanto a no repara, es que la opción -f por sí sola no repara, debes utilizarla con la opción -n por ejemplo.

        Espero te sirva, un saludo y gracias.

        • Estoy reparando un disco de 1terabyte sata, con el comando badblocks. El Hdd no esta montado, porque desde un live cd lo estoy chequeando.. En las utilidades de disco, me dice SMART, que esta bien, pero con algunos sectores defectuosos. Lleva casi 2 dias con muchos sectores danados. Es normal que trade mucho? Se podra acceder a la data luego?

          • Hola,
            es normal que tarde, es un proceso lento, luego te dejará acceder, pero no podrás acceder a los datos que hayan caído en los sectores dañados.

  3. hola cuanto tardara este proceso en terminar si mi disco duro es de 160Gb y esta en formato ntfs no afecta en nada que este en este formato? o lo cambio o asi lo dejo
    gracias…
    posdata: estoy haciendo este proceso desde una usb live.

    • Hola, no sabría decirte sobre el tiempo que puede tardar, influyen varios factores. Por el formato no te preocupes y yo lo he hecho desde un CD Live, que viene a ser lo mismo.

  4. amigo soy de venezuela disculpa la ignorancia tengo ubuntu 12.4 instalado en mi pc quiero chequear unos disco duros que tengo. mi pregunta es ¿cuales serian los comando exactamente que tendria que ejecutar desde el terminal para scanear y reparar los sectores dañados del disco?
    disculpa la ignorancia pero soy nuevo utilizando ubuntu.
    gracias

    • Hola Douglas, utiliza el comando sudo badblocks -s -v -n /dev/???, pero comprueba donde está el disco, utiliza fdisk -l para ver los discos.

  5. Hola, muchas gracias por todo. Soy muy novato, se me estropeo mi disco duro de mi Imac y estoy probando desde la ultima version de Ubuntu en un LiveCd. Efectivamente los Datos Smart me dicen que estan mal los sectores reubicados y sectores pendientes.

    Estoy probando con $ sudo badblocks -s -v -n -f /dev/sda

    pero al 0,05 porciento para y sale este mensaje:

    Interrupted at block 447748

    Se intercepto una interrupcion, se limpia todo.

    Joe la verdad es que este tutorial me venia perfecto 🙁

    • Lo he vuelto a intentar y ahora se van alternando mensajes asi:

      462973 % done, time elapsed 10 (3/0/0 errors)
      0,05 % done, time elapsed 12 (4/0/0 errors)
      465028 % done, time elapsed 15 (5/0/0 errors)

      es un disco Sata de 1Tb se que que tardaria un siglo pero creo q algo esta fallando.

      Ahora mientras escribia esto, todo eso que te he puesto a desaparecido y van saliendo unos numeros, por ejemplo el 2400000 de manera secuencial, es decir el siguiente, y luego el siguiente de manera muy rapida.

      Muchas gracias

      Pd: Si, estoy desesperado por arreglarlo jaja

  6. Gracias, tengo un disco duro en proceso con este método, espero que me solucione los problemas.
    Es un disco de 500gb y lo estoy haciendo desde un CD live de kubuntu. Ya comentaré cuanto tarda y si consigo recuperarlo.

    • Hola dayham, en principio no pierdes la información, es más, intentará recuperar la que esté dañada, pero sí es recomendable formatear después.

      Un saludo.

  7. hola,
    soy nuevo en esto de ubuntu, xubuntu y todo lo referente a linux.
    Estaba probando con la utilidad de discos en Xubuntu y al comprobar la escritura me salta este error: «Error benchmarking: helper exited with exit code 1: Error reading 1146880 bytes at 220851470336 from /dev/sda: Input/output error»
    De paso mi disco laptop está bastante lento, presumo que sea el disco, ya que probando un usb live con xubuntu sin el disco duro trabaja bastante bien.
    Me recomiendas hacer la comprobación e intentar reparar como indicas arriba en el post ? o tiro el disco a la basura ?
    Gracias.

  8. Ya van 2 veces que a cierto porcentaje se traba mi linux, dandome kernel panic

    aunque es el mismo hdd, es otra partición la que estoy tratando de reparar, crees que tenga que usarlo a huevo desde un live cd o memoria?

  9. hola a todos.. tengo una duda.. y necesito que me ayuden …
    iniciare ubuntu desde una USB asi que mi duda es…
    SOLO ESCRIBO EL CODIGO Y LISTO. NO DESMONTO MI HDD
    o algo asi… RESPONDAN POR FAVOR

    algo mas…
    $ sudo badblocks -s -v -n -f /dev/sd
    «badblocks» es el que ara el proceso????
    y » fdisk -1″ me dice cual es mi dico duro??

    • Hola Óscar,
      si vas ha iniciar desde USB no tienes que desmontar el HD, ya que no montas el disco durante el arranque, y para este proceso es necesario que el disco esté desmontado.
      Una vez estés en el sistema, ejecuta primero fdisk -l para ver cual es tu disco, cuando lo tengas, usa badblocks con los parámetros indicados.

      Un saludo, ya nos cuentas que tal.

      • hola Javier Carrasco gracias por respoder,
        en la noche ejecute badblocks -s -v -n /dev/sda (sda es mi hdd total)
        pero en toda la noche, namas avanzo un 4% lo que es mucho tiemo, le calculo una semana ejecutandose mas o menos, ademas, bueno, yo no le puese la opcion «-f» por un poco de miedo asi que, no se si aun asi reperara mi HDD, y se me paso formatear mi pc, para que fuese mas rapido el analisis, demas, ¿puedo de algun modo parar el proceso? para formatear primero mi pc y asi fuese mas rapido
        (pienso que vacio el disco es mas rapido)

        GRACIAS Y DISCULPA POR MOLESTAR DE NUEVO, UNO SOLO PIENSA EN REPARAR SU HDD DE ALGUNA FORMA, GRACIAS Y ESPERO RESPONDAN

  10. Hola amigos! yo tengo una duda es necesario aplicar un formato despues de realizar este analizis??? yo hize lo mismo que tu Oscar de aplicar el comando sudo badblocks -s -v -n -f /dev/sda creo que asi checara todo pero lo de la -f no se si tenga algo que ver con que el analisis vaya marchando bien mis HD es de 250GB y hasta ahora a avanzado 90% en 4:30 cada hora avanzaba 20%. Asi que Javier Carrasco es necesario formatear despues del analisis?? y otra pregunta esos sectores dañados tienen algo que ver con que suene algo raro en mi HD (algo como tac tac tac tac tac) eso pasa en algunas ocaciones cuando estoy en algun juego o carga un video desde youtube por ejemplo entonces la ram se escucha que trabaja demasiado y de repente se congela la pantalla aparece el sonido y me manda una pantalla negra y tengo que reiniciar o apagar el equipo con el boton de power. ¿Que puede provocar eso? espero respuesta

  11. A final de 15 horas me salió le mensaje «Unknown ext2 bad block list» o algo así y no obtuve solución alguna, será que hay que hacer algo más? Mi disco es un SATA de 1 TB

    • Hola Juan Carlos,
      El mensaje puede deberse a algún tipo de incompatibilidad con el comando badblocks, veo que estás utilizando ext2.
      Prueba con el comando e2fsck, puedes encontrar documentación aquí.
      Por ejemplo:
      e2fsck -p -v /dev/sda2
      -p para reparación automática, pero en algunos casos pedirá confirmación
      -v para activar el modo verbose

      Ya nos cuentas, un saludo.

  12. Hola a todos,

    Os planteo mi problema y a ver si alguien me puede aconsejar:

    Hace unas semanas toqué sin querer el botón CMOS de mi PC. Por tanto la BIOS se reseteó a los valores de fábrica. Al arrancar (utilizo UBUNTU) me dice que he de rebootear. Probando numerosas configuraiones no he conseguido que el RAID vuelva a funcionar (2 HDD de 2Tb con RAID 1).

    Por tanto, me he decidido a sacar los discos a ver si consigo recuperar la info. Pero cuál es mi sorpresa que cuando los conecto no me aparecen en las unidades, sin embargo cuando paso la utilidad de discos me dice que está ahí, pero parece que ha perido el formato. Os dejo un par de imágenes:

    http://www.freeimagehosting.net/qhqld
    http://www.freeimagehosting.net/tss6y
    http://www.freeimagehosting.net/5b1sh

    ¿Alguien sabe si hay manera de que pueda recuperar los datos? Estoy pasando ahora badblocks con unas opciones distintas (en el LiveCD de Ubuntu 12.04), con la primera opción (sólo lectura) no ha dado ningún fallo. Además le pasé el filtro de un LiveCD de Lubuntu y me ha dicho que no hay errores en el disco…

    HELP Please! En estos dos discos está el trabajo de 6 meses. El RecoveryMyFiles tampoco ha funcionado (imagino que porque son datos Linux y lo he corrido en Windows), y la mayoría de visores de Linux que he porbado no me recnocen el disco…

    Muchísimas gracias de antemano y enhorabuena a Javier por su blog.

    • Hola Isma,
      Por lo que cuentas, parece que la cosa está difícil, he visto las capturas que has enviado, y en la primera hay una cosa que me mosquea, y es que en el apartado Partitioning indica no particionado, y un disco sin particiones, es muy raro que pueda contener información.
      En cuanto al test que has pasado, simplemente chequea el estado del disco, si te dice que no hay errores es por que el disco está correcto, pero lógica y físicamente.
      A ver si alguien más puede arrojar algo de luz sobre el problema, pero, no quiero darte muchas esperanzas.

      Un saludo y gracias, a ver si sacamos algo en claro.

      • Hola Javier y gracias por tu pronta respuesta:

        Alguna novedad sobre la incidencia: si en lugar de trabajar con ese disco meto el otro de los dos que componían el RAID sí que figura como un disco duro con particiones:

        http://www.freeimagehosting.net/z33fe

        ¿A qué debo aplicar badblocks? ¿Al sdb o al sdb1 (drive o volume)?

        ¿Qué hay de la utilidad fdisk? ¿Y de testdisk? En este último caso no consigo que me reconozca el dispositivo. Si hago fdisk -l obtengo lo siguiente:

        http://www.freeimagehosting.net/hhbkj

        Y si trato de montar el dispositivo (no sé cual de los dos sería):

        http://www.freeimagehosting.net/fwx98

        En caso de que badblocks no detecte sectores defectuosos, ¿qué debería hacer? ¿Y si los encuentra?

        Muchas gracias de nuevo. ya estoy a punto de llamar a las empresas de recuperación de datos, pero sus precios son abusivos…

        Saludos,

        Isma.

  13. Soy yo de nuevo. Disculpenme por petar el foro…

    Le estoy pasando PhotoRec al disco y está recuperando cosas, pero con nombres irreconocibles. ¿Hay alguna manera/combinación de estos dos softwares para recuperar los datos con testdisk o PhotoRec con su nombre y estructura de archivos ?

    Gracias.

  14. buenas soy demasiado nuevo en esto y resulta que no se ni como manejar ubuntu ni nada de linux tengo un problema tengo un disco duro de 1T y cuando le trato de instalar windows al principio lo hace pero en el transcurso de la instalacion se queda y no sigue mas. Con lo poco que se de este tipo de temas conclui que mi disco duro tiene problemas puede ser por los clusters del disco y tengo pensado arreglarlo pero no se tu que me recomiendas si utilizar programas como HDD regenerator, el comando cmd chsdsk o hacer lo que tu mencionas por ubuntu, se me olvidaba mencionar que mi disco esta partioncionado en 4 partes estoy desesperado y no se que hacer por que no quiero comprar disco duro nuevo por que se que hay maneras de arreglarlo tu que me recomiendas hacer????

  15. Hola Jaime,
    Perdona el retraso, por lo que dices, parece que el HD está tocado, no te recomiendo que lo utilices para instalar el sistema, como ya has dicho, se queda colgado cuando intentas instalar, y si consigues instalarlo, puede que de fallos.
    En cuanto a recuperarlo, puedes utilizar cualquier programa, pero si lo utilizas, debes saber que no está bien el disco, estos programas marcan los sectores dañados para que la información no se escriba ahí, con el método del post ocurre lo mismo. Después de este proceso deberás formatear y ver si te deja instalar.
    Pero recuerda, el HD puede que esté dañado físicamente.
    Un saludo.

  16. hola quiero saber si este comando hace lo mismo que el chkdsk de win, mas que nada es xq antes de formatear kiero recuperar ciertas configuraciones de scripts y de autoguardos ya que tengo q anotarlos para volverlos hacer despues de una instalacion nueva, ya q mi win de la pc q viene de fabrica ha petado, y casi siempre la consola termina arreglandolo pero en este caso ni a la consola puedo entrar (la particion oculta) y poder tener el win q tenia antes, esa es mi duda si despues de ejecutar este comando puedo iniciar windows como si nada hubiera pasado y otra duda podre clonar la particion oculta para pasarlo a un nuevo hd ya q este es la tercera vez q da este fallo,,

  17. haber , llevo como un año en Linux , tengo ubuntu 12.04 , compre un disco duro nuevo de 2,5 pulgadas para e portatil , lo particione y instale ubuntu 12.04 en la primera particion , ya llevo unas semanas con el y me meto a la utilidad de discos y me dice que tiene un sector dañado en los datos smart , e probado los comandos que has puesto arriba desde un live-cd que encontre , pero no se me repara nada . el ubuntu 12.04 se me reinicia como cada 2 horas de estarlo usando y me estropea las descargas , como puedo solucionarlo ? me seria de mucha ayuda :s , te dejo una foto , ah , el disco duro es un seagate de 500 GB.

  18. Hola tengo un disco duro multimedia memup 1tb, me da problemas a la hora de pasa sobre todo películas desde el ordenador portátil al disco , es posible averiguar si esta dañado, gracias.

  19. Hola buenas noches
    Necesito ayuda mi portatil tenía win 8 pero se bbloqueaba mucho hasta que un día se reinicio y prendió pero no arranco el S.O le instale ubuntu 9.10 (es la única versión con la que cuento) y no arranca desde el HD ya hice todo lo que tu sugieres y me dice que no tiene bloques defectuosos pero no quiere arrancar que hago.

  20. Solo para comentarles que un disco de 250Gb lleva ya 56 horas :/ Para que se den idea de el tiempo que toma. En cuanto a porcentajes no tengo idea, dejaron de aparecer porcentajes como a las 10 horas.

  21. Hola, seguiré tu consejo ya que por alguna razón mi partición donde está el booteable de mi Windows XP está dañado. Antes, tengo dos preguntas que hacer:

    1) Parece que has dicho por ahí que no se pierde la información pero que sí se tiene que formatear la partición. ¿Es necesario hacerlo inmediatamente? Quisiera ver si tengo archivos importantes que pueda respaldar.

    2) Tengo instalado otro Windows XP en otra partición en el mismo disco duro. Esta partición está en buen estado y puedo accesar a mis archivos. ¿Se puede hacer que esta partición sea booteable para poder entrar a ese Windows XP? Si sí, ¿cómo?

    Gracias.

  22. creo que el tiempo que tarda tiene que ver con la cantidad de archivos, use un dd de 750 gb y solo tenia alrededor de 50 gb usados y tardo alrededor de 11 horas.

  23. Hola, gracias por el tutorial. Mi situación es la siguiente: Tengo un disco duro USB externo y no estoy pudiendo acceder a todos los datos y en algunas ocasiones se puede acceder pero de forma muy lenta. A algunas carpetas ni siquiera puedo acceder. Supongo que es un problema de sectores defectuosos. El comando que explicas en el tutorial borra los archivos o solo intenta recuperar? No quisiera perder nada de lo que tengo ya que la información dentro del disco es muy importante. Muchas gracias!

    • Hola Maximiliano, el comando no borra, intenta recuperar sectores, pero puede ser que pierdas algo si el sector está dañado y no puede recuperarlo.

      Suerte!

  24. Hola Javier, que tal,. mi problema es el siguiente , tengo peppermint 6 y al tratar de correr el comando me aparece esto

    peppermint@peppermint ~/Desktop $ sudo badblocks -s -v -n -f /dev/sda
    badblocks: invalid starting block (0): must be less than 0
    peppermint@peppermint ~/Desktop $

    que puedo hacer en este caso. agradezco tu atencion. saludos

Deja una respuesta

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