Ayer me encontré con un pendrive, del que sospechaba que tenía ciertos sectores defectuosos en el disco, dado que muchas veces que guardaba archivos en el mismo, al leerlos, estos estaban corruptos.
Buscando como testear el pendrive, me encontré con una aplicación que se llama badblocks, que como su nombre lo indica, se encarga de buscar bloques defectuosos en las particiones o en discos.
La forma de usar esta aplicación es muy simple, solo basta con ejecutar
sudo badblocks /dev/sdX
donde sdX es el nombre del dispositivo, en mi caso sdb.
Esto realizará el testeo y mostrará los errores que encuentre. En el caso de que la partición ó el disco (en este caso un pendrive) no contenga errores, no mostrará nada en la salida.
Badblocks tiene un montón de opciones (man badblocks para más info
), una de las interesantes es -o, que nos permite guardar la lista de bloques malos en un archivo, el que luego puede ser pasado como parámetro al programa mkfs para decirle que, a la hora de crear el filesystem, no utilice dichos bloques
.
En definitiva, los pasos para detectar y no utilizar bloques malos en un dispositivos, son los siguientes (Ojo!!!, esto borrará el contenido completo del dispositivo!!!):
# busca bloques malos y los lista en un archivo
sudo badblocks -o bloquesmalos /dev/sdX
# Crea el filesystem, ignorando los bloques malos.
sudo mkfs.vfat -l bloquesmalos /dev/sdX
(Donde sdX es el dispositivo en cuestión)
y listo
.
guacho publica más seguido que está bueno lo que pones!! ya además te voy a dar un trabajito si este disco mio me sigue andando mal, por ahora no.. pero cualquier cosa te mando un mail
Gracias HeUdb!. Y bueno… si puedo ser de utilidad, no dudes
. Nos vemos en el urban!