sudo: Jack of all trades, master of some

Marcar sectores dañados de un dispositivo de almacenamiento como inutilizables

4 comentarios

Actualmente la mayoría de los discos duros se fabrican con la tecnología S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology). A grosso modo cuando se detectan sectores dañados estos se mueven hacia un área especial del disco de modo que no podrán ser usados, sin embargo este proceso se hace pasivamente y pudiera ocurrir alguna pérdida de datos, además de que algunos discos duros (sí, antiguos) y memorias flash no usan S.M.A.R.T. y es necesario hacer este proceso manualmente.
badblocks es un programa que verifica los sectores defectuosos de un dispositivo de almacenamiento, de esta manera podemos especificarle al programa que se encarga de formatear el dispositivo que no use los sectores en malas condiciones.

badblocks realiza distintos tipos de comprobaciones, de lectura, de lectura-escritura no destructiva y de lectura-escritura destructiva.

La comprobación de lectura-escritura destructiva es la más extensiva ya que realiza 4 pases utilizando diferentes patrones y ¡ELIMINA TODA LA INFORMACIÓN EXISTENTE EN EL DISCO!, mientras mayor sea la capacidad del dispositivo más demora el proceso incluso puede demorar días. Para realizar este tipo de comprobación debemos utilizar las siguientes opciones:

badblocks -wsv -o sectores-defectuosos /dev/<dispositivo>

Donde:

-w indica que se usará el modo de lectura-escritura destructivo
-s mostrará el progreso de la comprobación
-v se muestran los sectores defectuosos en el STDOUT
-o escribe la información de los bloques defectuosos en un archivo, en este caso sectores-defectuosos

La comprobación de lectura-escritura no destructiva se utiliza para los dispositivos que contienen información, a diferencia del modo anterior no se pierde la información.

badblocks -nsv -o sectores-defectuosos /dev/<dispositivo>

Donde:

-n indica que se usará el modo de lectura-escritura no destructivo

Para no utilizar los sectores defectuosos durante el formateado del disco debemos hacer lo siguiente:

mkfs.<sistema-d-archivos> -l sectores-defectuosos /dev/<dispositivo>

La opción -l indica que los sectores que no se utilizarán serán leídos desde un archivo.

Hace unos días tuve que hacer todo este proceso para poder seguir utilizando una memoria flash y hasta el momento no he tenido problemas.

Nota: si el dispositivo en cuestión se va a formatear utilizando NTFS como sistema de archivos no se puede especificar la opción -l normalmente mkfs.ntfs realiza la comprobación (no sé qué tan efectiva sea).

Fuentes: https://wiki.archlinux.org/index.php/badblocks

Comentarios desactivados
  1. Víctor Manuel 6 años atrás

    Existe una versión para windows o otro programa que haga la misma función?

    1. @Víctor Manuel

      Realmente desconozco, pero esto lo puedes hacer desde un LiveCD sin tener que instalar Linux.

      1. @oneohthree

        Hola me gusto tu articulo como puedo conseguir ese programa del q hablas en el blog o los pasos como es para hacerlo por un Live CD como dices.sldos

        1. @Sylver

          Esta aplicación es muy popular en distribuciones de Linux, en la mayoría de ellas la puedes encontrar. Si la quieres usar desde un liveCD es muy sencillo, solo tienes que ejecutar una consola y desde ella pasar los comandos descritos.