Como Detectar Errores y Comprobar el Estado de tu Disco Duro en Linux

El disco duro siempre suele ser uno de los componentes más críticos de cualquier PC, ya que un fallo en el no solo comporta el costo de reparación o de cambiarlo por otro nuevo, sino el daño que puede comportar la perdida de información que contenía, en caso de no haber sido precavidos.

Afortunadamente existen herramientas de diagnóstico para ayudarnos a detectar y, aun más importante, anticipar estas situaciones. Si sigues estás líneas, verás algunas de las herramientas que puedes utilizar en cualquier distribución GNU/Linux para este propósito, así que sin entretenerte más, te dejo con el índice debajo debajo.

Tabla de Contenidos:

  1. ¿Qué significan las siglas SMART?
  2. Haz un diagnóstico de tu disco duro con GNOME Disks
  3. Detecta sectores defectuosos en el disco con badblocks
  4. Detecta errores e inconsistencias en el sistema de archivos con e2fsck
  5. Formateo lento o Zero-Fill
  6. Para terminar

¿Qué Significan las Siglas SMART?

Para conocer el estado en que se encuentra un disco duro, la mayoría de herramientas hacen uso de la tecnología de monitorización S.M.A.R.T., soportada por la gran mayoría de discos duros internos SATA o IDE, y también algunos externos.

SMART son las siglas de Self Monitoring, Analysis and Reporting Technology, y es a grandes rasgos una tecnología de monitorización de varios parámetros relativos al estado de salud disco duro, como son la existencia de sectores defectuosos a nivel físico, errores de lectura o escritura, temperatura, velocidad de los platos, entre otros muchos otros.

Conocer y analizar la información que ofrece SMART relativo al estado de salud de tu disco puede ser de gran utilidad a la hora de predecir posibles errores futuros, y poder curarse en salud antes de llevarse sorpresas cuando ya sea demasiado tarde.

Generalmente, la mayoría de discos SATA soportan también SMART, pero para que funcione debe ser compatible con la BIOS del equipo y estar habilitado. Como todo en la vida y en la tecnología, nada es 100 % seguro, y puede ser que tu disco acabe fallando y no haya podido ser detectado antes por SMART, pero teniendo en cuenta la cantidad de parámetros que monitoriza, es una buena garantía.

Ah, y por cierto, los discos SSD soportan igualmente la tecnología S.M.A.R.T., y aunque pueda parecer que no es relevante, al no poseer estos últimos partes mecánicas, puede servir en muchos casos, si bien muchos de los parámetros serán diferentes.

Ojo, conviene tener en cuenta que SMART no es una herramienta que sirva para reparar un disco duro dañado, sino una herramienta que permite un fácil diagnóstico de su estado actual de salud, para poder anticipar posibles fallas. Si lo deseas, tienes información mucho más detallada aquí. Dicho esto, vayamos a lo que nos interesa…

Haz un Diagnóstico de tu Disco Duro con GNOME Disks

Existen muchas utilidades de diagnóstico al respecto, pero en Linux tenemos una utilidad gráfica extremadamente útil y completa a este respecto. La aplicación se llama Disks (anteriormente Disk Utility), y forma parte de las Core Applications de GNOME.

Disk Utility

Una vez abierta la aplicación, verás que se divide principalmente en un menú lateral izquierdo con un esquema  con los diferentes dispositivos o unidades de disco detectados por el sistema operativo, incluyendo el disco duro principal en la parte superior, y la zona principal con información varia sobre la unidad de disco seleccionada.

Desde el menú lateral podrás seleccionar el volumen o unidad que deseas analizar, y en la parte principal verás toda la información relevante respecto a la unidad, tal como el modelo, el tamaño máximo, y un gráfico con el esquema de particionado e información sobre cada partición.

Si marcas el icono  de la parte superior (marcado en la captura de pantalla de más arriba), y verás que se desplega un menú con diversas opciones, entre ellas una que pone «Datos y pruebas SMART». Esto es lo que nos interesa, así que vamos allá.

Con esto, llegamos a la vista que nos interesa, que tienes en la captura de abajo, y que describiré a continuación muy brevemente. Con ella te podrás hacer una idea bastante precisa del estado de salud del disco. Pero vayamos por partes.

Disk Utility datos SMART
  • En la zona superior puedes ver información útil como la temperatura actual de la unidad, el tiempo total que lleva encendido, y una estimación general del estado.
  • En la zona principal tenemos un listado detallado con todos los atributos SMART, y en la parte de abajo tienes la posibilidad de hacer una comprobación manual.

Para tener una primera idea rápida del estado general de salud, en la zona superior puedes fijarte en la parte que pone «Estimación general», donde si pone algo así como «El disco está correcto» puedes intuir con alta probabilidad que el disco no presenta daños físicos graves, como sectores defectuosos.

Yendo ya más al detalle, en la parte central tenemos el apartado de Atributos SMART que ya he comentado más arriba, y que cuenta con un listado de los diferentes datos SMART de la unidad seleccionada.

Entre los datos más importantes de cara a hacernos una idea acertada del estado de salud de nuestro disco, es importante revisar los siguientes:

  • Tasa de errores de lectura
  • Contador de sectores reubicados
  • Tasa de errores de búsqueda
  • Horas encendido
  • Tasa de errores G-sense. Muestra la frecuencia de errores como resultado de cargas de impacto.
  • Temperatura interna de la unidad. Recomendable que no sobrepase los 45-50 ºC.

Esto te dará una visión global del estado en el que se encuentra tu disco, pero no debes dejar de tener en cuenta las buenas prácticas de uso para prevenir la mayoría de esas fallas en el corto plazo y mejorar su vida útil.

Detecta Sectores Defectuosos en el Disco con badblocks

Otra utilidad muy interesante que no debes dejar de conocer es badblocks, que forma parte del proyecto e2fsprogs, un set de herramientas y utilidades de mantenimiento para GNU/Linux y enfocado a sistemas de archivos ext2, ext3 y ext4.

badblocks

Con badblocks podrás hacer un chequeo completo de tu disco, y la herramienta te indicará al finalizar el número de sectores defectuosos que haya encontrado. La sintaxis básica para su utilización la tienes aquí:

sudo badblocks [parámetros] [ruta de la partición]

Los parámetros generalmente son letras que indican diferentes modalidades de escaneo. La ruta del volumen generalmente será la ruta de una partición. Para conocer el nombre las diferentes particiones y volúmenes de tu disco, puedes utilizar esto:

sudo fdisk -l

Previamente a utilizar badblocks, es muy importante desmontar la partición o el volumen sobre el cual se pretende hacer el análisis. Para desmontar una unidad o partición concreta, y conociendo ya su nombre y su ruta, puedes valerte del siguiente comando:

sudo unmount [ruta de la partición]

Para hacer un escaneo de la partición del sistema, lo más recomendable sería utilizar un Live CD o Live USB con alguna distribución GNU/Linux como puede ser Ubuntu o Linux Mint, y desmontando la partición del sistema operativo antes del análisis.

Visto todo esto, si te parece podemos ver algunos ejemplos de uso de badblocks con diferentes parámetros de escaneo.

Uso Básico

sudo badblocks /dev/sda1

Es la opción estándar y la más simple si no dominas mucho su sintaxis. Con esta opción, badblocks hace un check de solo lectura, y no muestra ninguna salida de pantalla mientras no se encuentren sectores defectuosos.

Uso Básico con Verbose

sudo badblocks -v /dev/sda1

Igual que la opción estándar, pero con la opción verbose habilitada [-v]. En este caso  badblocks nos informará por pantalla del progreso del análisis, así como del numero de bloques defectuosos que haya encontrado al final del análisis.

Lectura y Escritura – No Destructivo

sudo badblocks -nsv /dev/sda1

Básicamente hace un escaneo de lectura y escritura no destructivo [-n], mostrando una barra de progreso [-s] y con la opción verbose habilitada [-v] para mostrar información sobre los sectores detectados. La partición en este caso es la sda1.

Tienes mucha más información del uso y las diferentes opciones de badblocks en esta completa wiki de Arch Linux. Además, para un vistazo de todas las opciones, puedes acceder a la guía oficial tecleando man badblocks por la terminal.

Detecta Inconsistencias en el Sistema de Archivos con e2fsck

También de la mano del proyecto e2fsprogs, tenemos otra interesante utilidad llamada e2fsck, que en este caso hará un análisis del sistema de archivos a nivel lógico, en busca de errores e inconsistencias. La sintaxis es muy similar a la de badblocks

sudo e2fsck [parametros] [ruta de partición]

Al igual que con badblocks, es muy importante desmontar antes la partición que vayamos a analizar. A continuación, algunos ejemplos:

 Uso Básico

sudo e2fsck /dev/sda1

Esta es la opción más básica, y en este caso hará un chequeo del disco a nivel lógico del sistema de archivos de la partición sda1.

Uso Combinado con Badblocks

sudo e2fsck -c /dev/sda1

Esta opción es especialmente interesante, ya que al mismo tiempo de busca errores en el sistema de archivos, también utiliza badblocks, con un test de solo lectura, para buscar bloques defectuosos a nivel físico.

Esta opción permitirá que e2fsck marque cualquier sector defectuosos encontrado, y prevenga que sea utilizado por el sistema de archivos para almacenar archivos para almacenar información.

Hacer un Formateo Lento o Zero-Fill

Y, para no dejarlo aquí, a continuación verás como hacer una variante de formateo lento denominada Zero Fill, que básicamente consiste en rellenar de ceros todos los sectores de tu disco duro, a la vez que se marcan y se aislan aquellos sectores dañados para que no puedan ser reutilizados. Con esto conseguirás dejar el volumen completamente vacío y limpio.

Para hacer el Zero-Filling vamos a utilizar el comando DD. La sentencia es un poco larga, pero fácil de recordar. Consta de 3 partes, la primera, «dd» es el nombre de la herramienta en si. La segunda es fija, y la tercera es la ruta del disco sobre el que quieres aplicar esta técnica (en este caso, he puesto «/dev/sdb», pero deberás sustituirla por la ruta que aplique en tu caso).

sudo dd if=/dev/zero of=/dev/sdb

Al ser una técnica que va bloque a bloque, el proceso es relativamente lento, pero puedes optimizarlo seleccionando u mismo el tamaño de bloque a utilizar. Este sería el comando a utilizar, si por ejemplo, quieres especificar un tamaño de bloque de 4096 bits, uno de los más comunes.

sudo dd if=/dev/zero of=/dev/sdb bs=4096

Ojo, porqué debes tener en cuenta que, hecho este proceso, el disco duro o el volumen afectado quedará completamente vacío, por lo que será necesario darle de nuevo un formato una vez queras volver a utilizarlo.

Para Terminar

Como ves, solo he dado un rápido vistazo de las utilidades que considero más útiles de cara a comprobar el estado de salud de tu disco, ya que cada una de ellas ofrece innumerables opciones y darían para un post entero.

En la mayoría de las opciones, la utilidad gráfica Disks debería ser más que suficiente para hacerte una idea bastante fiable del estado de tu disco, y a nivel informativo es seguramente la mas completa de todas.

Sin embargo, si quieres hacer análisis más concretos, o simplemente deseas contar con una segunda opinión, no está demás conocer las diferentes utilidades dentro del proyecto e2fsprogs, eso si, teniendo cuidado y asegurándonos bien de conocer el comando antes de pulsar la tecla Enter.

Categorías Hardware, LinuxEtiquetas ,

15 comentarios en “Como Detectar Errores y Comprobar el Estado de tu Disco Duro en Linux

  1. Hola Oriol, muy bueno el tutorial! Te hago una consulta: en mi pc la herramienta disk me tira el sig. mensaje: «Disco correcto, 32456 sectores erróneos», y con Smart me aparecen varios items como «Pre-fallo». Eso es normal? Y lo raro es que cuando ejecuto Badblocks o FSCK, me sale que está todo ok y no tiene ningún error. Qué puede estar pasando? Por lo que vi esos errores corresponden a «sectores reubicados». Qué significa eso? Es realmente algo grave? Muchas gracias!

    Me gusta

  2. Tras multitud de intentos de no dar por perdido uno de los discos duros de mi ordenador, utilizado para archivo de fotos y documentos, este artículo me ha sido de total utilidad. Muy bien explicado, fácil de llevar a la práctica y, lo que es más importante aún, EFECTIVO. Sólo puedo dar las gracias por tus aportes. Un saludo,

    Me gusta

  3. Fantástica entrada, muy útil y exhaustiva.

    Me gusta

  4. Una consulta tengo un disco WD de 500 Gb Caviar Blue que dejo de funcionar despues de un corte de luz, el cual no es detectado por el Bios, pero al encender la pc estando conectado este disco y otro mas, se produce una demora en el arranque a pesar de que Bios no lo detecte. Le pase el Hirens Boot, HDD Regenerator, Victoria Freeware, Gparted. Queda alguna posibilidad de sacar la info del disco. Desde ya muchas gracias!

    Me gusta

    1. Hola Pablo, disculpa la tardanza en contestar.
      Antes que nada, por lo que comentas entiendo que tu arrancas con el sistema operativo que tienes en tu disco primario, y el disco que dejo de funcionar es una unidad interna que tienes aparte.
      Aparte de GParted y HDD Regenerator, no conozco las otras herramientas, pero si las pudiste pasar desde tu sistema principal es señal que detectaba el volumen.
      Al ejecutar GParted que es lo que veías?

      Me gusta

      1. Hola Yuri! Ante todo te agradezco por ocuparte del tema.

        Al ejecutar GParted no me muestra el disco de 500 Gb. (Este disco está particionado en dos; en una partición tengo el sistema operativo y en la otra partición lo designe a archivos, que son los que quiero recuperar).

        Cuando conecto el disco de (500) en la pc lo único que veo es que se produce una demora en el arranque cuando la pc chequea la configuración. Estoy hablando en el momento del booteo.

        En el Bios no aparece en ningún caso.

        La demora que menciono, se produce estando conectado tanto solo el disco (500 Gb) a la pc, como así también cuando conecto un segundo disco (este de 320 Gb Maxtor, el cual anda perfecto).

        También lo trate de conectarlo a otra pc y ocurre lo mismo.

        Estando conectado el disco (500) y pc encendida, se siente una muy pequeña vibración, por lo que entiendo que el disco esta girando adentro.

        Desde ya muchas gracias por tu colaboración!

        Me gusta

  5. y como se hace para programar un escaneo cuando bootea tan facil como se hace en windows, tanto lio que linux es mejor y esto que es tan basico no lo tiene? que desilusion….

    Me gusta

    1. Lo de Bottear eso es super fácil aun mas con linux con el mismo disco o usb que instalaste o sea es una reinstalacion XD y si queres probar algun sistema sin instalarlo tambien se puede . Acá te esta hablando del disco duro si presenta errores osea no importa si tenes linux o windows , te lo doy un ejemplo mas visual si grabas unas canciones en dos cds virgenes pero uno se te raya , el cd es el problema no la música.
      Yo te aseguro que no soy defensora de de ningún sistema en este momento y para nada una genia de las Pcs pero use muchos años Windows y estoy usando Linux en el momento osea conzco ambos y sufri ambos XD Windows era cada vez por año tenia que llevarlo al tecnico pues no podia ni para atras para adelante XD . Linux voy tirando mas tiempo pero te podes encontrar que hoy no te andes el mouse pero mañana si XD Aparte los programadores de Ubuntu te usan de conejillo de indias para sus nuevos inventos dandote muchos porblemas de estabilidad . Consejo a todo el que sea nuevo en Ubuntu no poner la ultima version de ubuntu y si tiene que actualizar que nos ea pasando por todos los del medio como hice yo XD

      Me gusta

  6. Gracias por el artículo. Claro y conciso. Ahora que tengo los errores a la mano, sigue saber qué hacer para repararlos. :S

    Me gusta

    1. Hola Sole, los errores se refieren a sectores defectuosos, o algún otro parámetro S.M.A.R.T. de los que te monitoriza la utilidad de discos?

      Me gusta

  7. Estoy usando tus ayuda, en Debian es: umount (sin n). Por otro lado tengo un WD en un NAS, y me sale errores de SMART, quiero saber si con este comando puedo solucionar algo o basicamente estoy frito?

    Me gusta

    1. Hola Gabo, perdona por tardar tantísimo en contestar:(
      S.M.A.R.T. monitoriza muchos parámetros, depende mucho de el tipo de errores que te haya detectado. En algunos casos puede que sean errores propios de la edad del disco, pero que no por ello signifique que esté en sus ultimas. Otros, como los sectores defectuosos, si que pueden ser más críticos.
      ¿Cuales son concretamente los errores que te ha dado?
      No se si siempre es así, pero en mi caso, en un portatil que tenía más viejo, la propia utilidad ya me mostraba notificaciones emergentes indicado que los errores eran críticos y recomendando hacer un Backup del sistema y sustituir el disco más pronto que tarde.

      Me gusta

  8. Muy util y completo, es bueno encontrar este tipo de información en Linux, pues no abunda mucho en la red. ¡Saludos!

    Me gusta

    1. Gracias por el comment Noé!
      Me alegro mucho de saber que te ha parecido útil:)
      Saluds y hasta pronto;)

      Me gusta

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.