Hay que tener la idea básica de que un disco contiene sectores, y dentro de esos sectores es en donde se guarda la información o nuestros datos.
Entonces, con badblocks, se propone verificar el estado de todos los sectores de una unidad de almacenamiento.
Si encontramos sectores defectuosos físicamente, formateamos nuestra unidad y evitamos que use esos bloques, principalmente para evitar la perdida de información.
1) Lo primero que necesitamos es saber en donde está ubicado nuestro dispositivo.
Para ello, abrimos una terminal y escribimos:
fdisk -l
MI pendrive, está ubicado en “/dev/sdc”, cada uno deberá cambiarlo por su ubicación.

2) Ahora usaremos badblocks para que busque los errores físicos en nuestro pendrive
Abrimos una terminal e ingresamos
sudo badblocks -s -v /dev/sxx -o un_nombre.txt
Debes reemplazar:
-Las letras “xx” por lo que obteniste en el paso uno, en mi caso por “sdc”.
-”un_nombre” por el nombre que le quieras poner.
-Opcional: si se lo quieres realizar a una partición específica, lo haces agregando el número de la partición a al final. ej: /dev/sdc1 (el uno sería la primera partición).
En mi caso el comando quedará así:
badblocks -s -v /dev/sdc -o 2GB.txt

El resultado será este:

Como verán acá lo importante es la siguiente linea:
“Paso terminado, se encontraron X bloques dañados”
Bloques totales=1959935
Bloques dañados=0
Bloques que se pueden usar=1959935
En este caso, mi pendrive funciona bien.
Si no, en donde dice: “…se encontraron X bloques dañados”, habría un número positivo distinto de 0.
Si nuestro dispositivo tiene sectores defectuosos, continuamos con el tutorial.
3.1)Ubicamos el dispositivo con “sudo fdisk -l” (paso 1 solo para estar seguros).
fdisk -l
3.2) Desmontamos nuestro pendrive..
umount /dev/sXX
En mi caso:
umount /dev/sdc1
3.3) Ahora, formateamos nuestro pendrive utilizando la lista que hicimos en el paso 2.
mkdosfs -F32 -v -n "Ponle nombre a pendrive" -l el_archivo_anterior.txt /dev/sxx1
En mi caso quedaría así
mkdosfs -F32 -v -n "Cualquier_nombre" -l 2GB.txt /dev/sdc1
–SI o SI debe ir el 1; al final de “sdc” en mi caso
Con ese uno marcamos que sea la partición 1 la que se formatee, normalmente la única en un pendrive
–El nombre debe ir entre “comillas”
–Por “el_archivo_anterior.txt” me refiero al nombre que le pusiste al .txt del paso 2, en MI caso 2GB.txt se llamaba mi archivo (vease paso 2)
–/dev/sxx debe ir tu pendrive, el mismo del paso dos, teóricamente
Si tienes dudas repites el paso uno, para asegurarte en donde está ubicado tu pendrive, y el 1 al final va SI o SI como dije más arriba
El resultado que dará la terminal será algo así:

muy util esta informacion, se agradece
gifs de antologia xD muy buenos
Explicado para torpes. Como yo lo necesito.
Gracias.
excelente gracias ¡¡¡
Hey amigo, si es un disco duro de 300 GB, ¿ es tardado el proceso ?
Podrías contarme una cosa?, con que programa grabas la pantalla del escritorio?
Los Gifs animados una pasada, me encantaría saber como lo haces.
Un saludo.
Hola Txavi, hace un año se hicieron 2 articulos relacionados con el tema, te dejo los enlaces.
http://machgeek.wordpress.com/2010/08/06/graba-tu-escritorio-en-gif/
http://machgeek.wordpress.com/2011/06/16/graba-tu-escritorio-en-formato-gif-en-kde/
Una preguntica…
en el paso 3.3 aparece como anotacion:
“SI o SI debe ir el 1″
Pero en mi caso,
el disco duro no tiene particiones, igualmente se coloca el 1? o hay que crearle una particion por regla? Muchas gracias
Y si quiero realizar dos particiones una en formato ext3 o ext4 y la otra en formato ntfs? xD
Y luego como se usa y verifica todo?
No se entiende nada pues es incompñeto y se explica con silencios