Comprobar y reparar sectores defectuosos de disco en Linux

Los discos fallan, siendo la media de vida aceptada por la industria, para los discos giratorios o HDD, de unos 6 años. Normalmente no fallan de forma súbita, sino que empiezan a dar diferentes síntomas de no estar en estado óptimo.

No voy a entrar de lleno en esto porque daría para mucho (puede darse el típico «click» que indica un problema en la pinza, fallos catastróficos en la controladora, fallos del software del sistema operativo que ni siquiera sean del disco…) pero podemos decir que un síntoma muy común es la reubicación de sectores (sector reallocation) por parte del sistema operativo, si es que este tiene tal capacidad.

El setor de un disco es la unidad de información más pequeña con la que este puede trabajar. Un sector de disco tiene tradicionalmente 512 bytes de tamaño, aunque ciertos discos aceptan 4096 bytes. Un bloque es un conjunto de sectores, que pueden contener información de forma contigua, su tamaño es variable.

Un sector o bloque defectuoso es una sección o conjunto de secciones del disco que no pueden ya ser utilizadas porque dan fallo al leerse o escribirse por la controladora. Puede ser un fallo a nivel de transistores o un pequeño daño producido en la superficie del disco.

bloque-vs-sector-de-disco

 

Normalmente, hasta que no tenemos un mínimo de 4 o más bloques reasignados (esto es, descartados por el disco para su uso futuro) no podemos ejecutar la garantía del mismo, ni tampoco deberíamos necesariamente preocuparnos, aunque sí hacer un seguimiento para reaccionar ante una degradación mayor.

En caso de no tomar medidas, eventualmente podrían reproducirse más fallos en sectores de disco, llevando a su vez a destrucción de información o incluso incapacidad de usar el disco en absoluto.

Usando Badblocks para encontrar sectores o bloques defectuosos

Un programa como badblocks nos permite analizar un dispositivo de almacenamiento en buca de sectores o bloques dañados. Puede ser una memoria o disco externo, o interno.

Para localizar nuestro disco, antes podemos utilizar la herramienta fdisk.

  1. sudo fdisk -l 

salida-de-fdisk-l-para-listar-discos-en-linux

Ahora que tenemos claro qué disco interesa, lanzaremos el comando para analizar el disco y volcar los resultados en un archivo, además podemos lanzarlo de forma no interactiva con &. y en varios discos al mismos tiempo. O podemos usar | tee para que el listado se muestre a la vez por pantalla.

  1. sudo badblocks /dev/sdb -v > badblocks.txt &

 

verificar-sectores-defectuosos-de-disco-en-linux

Esta comprobación demora mucho tiempo en discos grandes. En mi caso tengo entre manos un disco por el que hay que preocuparse, ya que presenta varias decenas de sectores marcados como inutilizables.

Veremos un resultado final, con el recuento de sectores dañados.

Pass completed, 3213 bad blocks found. (3213/0/0 errors)

¿Qué hacer si encontramos sectores defectuosos?

Con nuestro detalle de sectores guardado, lo que haremos ahora es desmontar (umount) el dispositivo de disco y decirle al sistema que no se deben utilizar en adelante.

Para ello usaremos la herramienta correcta según nuestro sistema de archivos dentro del disco.

Tipos de filesystem y herramienta necesaria

Es decir, para un sistema de archivos diferente a ext*.

  1. sudo fsck -l hddcomprobado.txt /dev/sdb1

Mientras que para el caso contrario.

  1.  sudo e2fsck -l hddcomprobado.txt /dev/sdb1

Con la opción -l, le estamos diciendo a la utilidad que tome como referencia de sectores aquellos contenidos en el archivo de texto referido.

Otra opción es lanzar el siguiente comando:

  1. sudo e2fsck -cfpv /dev/<dispositivo>

Este comando tiene la siguiente función. Requiere de un sistema basado en extN.

  • C busca sectores defectuosos y los añade a la lista
  • F fuerza un chequeo del sistema de archivos
  • P reparará los sectores si puede hacerse con seguridad
  • V es modo «verbose» para ver el progreso del comando
bad-blocks-linux-hdd

Resumen con resultado de la operación anterior

 

Aislar sectores defectuosos de disco

Si lo que deseamos es aislar -marcar como no utilizables- aquellos sectores del disco identificados como dañados, también se puede utilizar la utilidad fsck.

Es recomendable utilizarla en conjunto con badblocks, para realizar un análisis preventivo de fallos en unidades de almacenamiento en equipos Linux. Antes de continuar, si el dispositivo está montado, lo desmontaremos.

  1. sudo umount /dev/<dispositivo>

Ahora, desde el terminal, lanzaremos este comando:

  1. sudo fsck -cfvr /dev/<dispositivo>

Sintaxis

  • C para comprobar los bloques de disco
  • F para forzar el chequeo
  • V para mostrar más información
  • R para modo interactivo (espera a nuestra respuesta)

 

fsck-linux-marcar-sectores-defectuosos-de-disco-como-no-utilizables

Ejemplo de salida para el comando anterior

Para acabar, quisiera recordarte de que debes tener un sistema de copias de seguridad fiable (probado) y sustituir el disco cuando tengas más que unos pocos sectores afectados.

 

Si tienes cualquier duda me la puedes dejar en los comentarios e intentaré resolvértela lo antes posible. También decirte que he creado los ranking más completos sobre los mejores antivirus gratis del mercado, y, por si quieres la protección más completa, también tengo rankings de sus versiones premium. ¡Cuídate!.

Descubre el mejor antivirus para 2024

Accede a nuestro comparador gratuito y encuentra el antivirus que mejor se adapte a lo que necesitas y con mejor valoración de los expertos.

Ir al comparador

¿Cómo elijo mi mejor antivirus para IOS, Android, PC?

Últimas Noticias

Imagen de la noticia Microsoft soluciona error que bloquea apps de Microsoft 365 al escribir

Microsoft soluciona error que bloquea apps de Microsoft 365 al escribir

Leer más
Imagen de la noticia Un malware bloquea el navegador en modo quiosco para robar credenciales de Google

Un malware bloquea el navegador en modo quiosco para robar credenciales de Google

Leer más
Imagen de la noticia Nuevo malware Hadooken para Linux apunta a servidores Oracle WebLogic

Nuevo malware Hadooken para Linux apunta a servidores Oracle WebLogic

Leer más
Imagen de la noticia El nuevo malware Vo1d infecta 1,3 millones de dispositivos de streaming Android

El nuevo malware Vo1d infecta 1,3 millones de dispositivos de streaming Android

Leer más
Imagen de la noticia Fortinet confirma violación de datos tras el robo de 440 GB de archivos

Fortinet confirma violación de datos tras el robo de 440 GB de archivos

Leer más
Imagen de la noticia RansomHub: el nuevo malware que el grupo NoName ha desplegado

RansomHub: el nuevo malware que el grupo NoName ha desplegado

Leer más
Imagen de la noticia Meta soluciona una falla de privacidad en ‘Ver una vez’ de WhatsApp

Meta soluciona una falla de privacidad en ‘Ver una vez’ de WhatsApp

Leer más
Imagen de la noticia Cómo personalizar los iconos de la barra de tareas en Windows

Cómo personalizar los iconos de la barra de tareas en Windows

Leer más
Imagen de la noticia El nuevo Outlook para Windows vale la pena por esto

El nuevo Outlook para Windows vale la pena por esto

Leer más
Imagen de la noticia ¿Por qué desearía haber empezado a usar OneDrive antes?

¿Por qué desearía haber empezado a usar OneDrive antes?

Leer más
Imagen de la noticia 20 funciones de Windows que no conocías

20 funciones de Windows que no conocías

Leer más
Imagen de la noticia Microsoft Store no abre en Windows 11 ¿Cómo arreglarlo?

Microsoft Store no abre en Windows 11 ¿Cómo arreglarlo?

Leer más
Ver Todas