El disco duro es la parte más importante de su ordenador. En él se almacenan los archivos del sistema operativo y otra información importante. La unidad de almacenamiento del disco duro es un sector o bloque. En él se almacena una determinada cantidad de datos, normalmente 512 ó 1024 bytes. Con el tiempo, el disco desarrollará sectores de bits que dejan de funcionar, pero el sistema de archivos sigue intentando escribir información en ellos. Es extremadamente difícil escribir información en estos sectores, por lo que el usuario puede perderlos. Y esta desventaja es característica de los discos duros HDD, mientras que las SSD carecen de estos inconvenientes. Tienen un controlador especial que mueve los datos de los sectores de bits a los sectores de trabajo. En este artículo te explicaremos cómo comprobar los sectores de bits de un disco en Linux.
En Linux, se utiliza un programa llamado badblocks para buscar sectores defectuosos en un disco duro. Si necesitas comprobar la partición raíz o home del disco, es mejor arrancar en un LiveCD para que el sistema de archivos no esté montado. Si necesitas ver qué particiones hay en el disco, puedes utilizar el comando fdisk
:
$ sudo fdisk -l /dev/sda1
A través de la interfaz gráfica, puede utilizar Gparted - una utilidad especial. El usuario sólo tiene que seleccionar el disco deseado en la lista desplegable.
En un ejemplo concreto, consideremos cómo comprobar la partición /dev/sda2
con el sistema de archivos XFS. Para ello se utiliza el comando badblocks. Su sintaxis es bastante sencilla:
$ sudo badblocks -vn /dev/sda2 -o ~/bad_sectors.txt
Puede necesitar las siguientes opciones del programa:
-e
- le permite establecer el número de bloques de bits, después de lo cual la prueba no debe continuar;-f
- por defecto la utilidad se salta la prueba de lectura/escritura si el sistema de ficheros está montado para no dañarlo, esta opción le permite seguir realizando estas pruebas incluso para sistemas montados;-o
- escribe bloques de bits detectados en el archivo especificado;-p
- número de escaneos, por defecto sólo uno;-s
- muestra el progreso del escaneo de la partición;-v
- modo de máximo detalle;-i
- permite transferir la lista de sectores de bits encontrados previamente para no tener que comprobarlos de nuevo;-n
- utiliza la prueba de lectura y escritura segura, durante esta prueba los datos no se borran;-w
- permite realizar una prueba de escritura, en cada bloque se escribe una determinada secuencia de bytes, que borra los datos que estaban previamente almacenados allí.Para realizar una prueba normal, utilice este comando:
$ sudo badblocks -v /dev/sda2 -o ~/bad_sectors.txt
Puede ejecutar este comando en el disco con el sistema operativo, no hay nada malo en ello - no puede hacer ningún daño. Se puede ejecutar en un sistema de archivos montado, aunque es mejor no hacerlo Si el sistema de archivos está desmontado, recomendamos hacer una prueba de escritura con la opción -n
:
$ sudo badblocks -vn /dev/sda2 -o ~/bad_sectors.txt
Una vez finalizada la prueba, se debe indicar al sistema la información sobre los sectores de bits para que no acceda a ellos. Para ello, puede utilizar la utilidad fsck y la opción -l
:
$ fsck -l ~/bad_sectors.txt /dev/sda1
Si está utilizando el sistema de archivos de la familia Ext, utilice el comando e2fsck
para buscar bloques de bits y registrarlos automáticamente en el sistema de archivos:
$ sudo e2fsck -cfpv /dev/sda1
Con la opción -c
es fácil buscar bloques de bits y añadirlos a la lista, -f
comprueba el sistema de archivos, -p
recupera datos dañados y -v
muestra todo en detalle.
Ahora ya sabes cómo comprobar tu disco duro y encontrar sectores de bits.