- Diagnostica con SMART, badblocks y fsck para detectar y aislar sectores defectuosos de forma segura.
- En SSD, activa TRIM y usa fstrim con moderación; ajusta swappiness y desactiva hibernación si procede.
- Gestiona particiones y recuperaciones con GParted, TestDisk/PhotoRec y e2fsck; clona con Clonezilla.
Cuando se habla de mantener discos en Linux, la clave está en combinar buen diagnóstico, herramientas fiables y procedimientos seguros. A lo largo de los años han cambiado los tipos de unidades y buses, y también las mejores prácticas en sistemas de archivos modernos.
Este artículo reúne lo esencial para cuidar HDD y SSD en Linux: detección de fallos, verificación de bloques, marcado de sectores defectuosos, TRIM en SSD, herramientas gráficas y en terminal, y trucos para anticipar problemas antes de que sea tarde.
Fundamentos: HDD, SSD y sus interfaces
Los discos duros mecánicos (HDD) almacenan datos con grabación magnética sobre platos que giran; la velocidad de rotación impacta la transferencia: lo habitual hoy es 5400 o 7200 rpm, aunque existen 10.000 rpm. Aun así, ni siquiera un HDD rápido satura un puerto SATA moderno.
En tamaño físico, siguen dominando 2.5″ y 3.5″. En interfaces, SATA es el estándar de consumo y SAS el preferido en servidores; SAS es heredero de SCSI y admite más dispositivos con tasas sostenidas, pudiendo un controlador SAS usar discos SATA (pero no al revés).
SATA 3 ofrece hasta 600 MB/s y es retrocompatible entre generaciones: un disco SATA 3 en puerto SATA 2 funcionará a la velocidad del puerto. Para HDD, esa velocidad sobra; para SSD, pronto se quedó corta.
La llegada de SSD cambió el juego: usan memoria flash (NAND) sin partes móviles. Hay celdas SLC, MLC, TLC y QLC: al aumentar bits por celda baja la durabilidad, pero aumenta la capacidad y baja el coste. Con suficiente paralelismo, hoy hay SSD de gran tamaño a precios accesibles.
Para sortear límites de SATA, aparecieron M.2 y NVMe, que aprovechan las líneas PCIe. En PCIe 3 x4 se superan con holgura 1500 MB/s, y en PCIe 4.0 se han visto cifras alrededor de 4950 MB/s en lectura y 4250 MB/s en escritura, muy por encima del techo de 600 MB/s de SATA 3.
Identificar discos y preparar una revisión segura
En Linux, los discos aparecen como /dev/sda, /dev/sdb… y sus particiones como /dev/sda1, /dev/sda2, etc. Para listarlos con detalle utilizamos: sudo fdisk -l
. Esto es fundamental para no equivocarnos de dispositivo.
Antes de comprobar o reparar, desmonta la partición o trabaja desde una sesión Live USB. Ejecutar pruebas intensivas sobre un sistema montado puede causar inconsistencias o pérdidas si hay escrituras concurrentes.
Haz copia de seguridad si el disco muestra síntomas (ruidos, lentitud anormal, errores). Si un HDD empieza a reasignar sectores, un seguimiento con SMART y respaldo preventivo es la mejor póliza de seguro.
Buscar sectores defectuosos con badblocks
badblocks
recorre la superficie en busca de bloques dañados. Puedes lanzar una prueba no destructiva para minimizar riesgos sobre los datos: sudo badblocks -svn /dev/sdX
(sustituye sdX por el disco correcto).
Opciones útiles de badblocks: -n hace lectura/escritura no destructiva; -s muestra progreso; -v es modo detallado; -f fuerza pruebas que podrían ser destructivas si se usa sobre el disco del sistema; -e permite abortar tras N errores; -w ejecuta una prueba de escritura extendida con patrones (mutuamente excluyente con -n).
Un ejemplo con volcado de resultados a un archivo para su uso posterior: sudo badblocks -v /dev/sdb > badblocks.txt
. Este análisis puede tardar muchas horas en discos grandes, así que planifica el tiempo.
Si prefieres ver y registrar a la vez: sudo badblocks -v /dev/sdb | tee badblocks.txt
. Luego, ese listado de sectores dañados nos servirá para marcarlos como no utilizables en el sistema de archivos.
Marcar y reparar con fsck y e2fsck
fsck
es la utilidad genérica de verificación de sistemas de archivos. Para ext2/3/4, e2fsck
aporta opciones específicas. Asegúrate de que la partición está desmontada antes de ejecutar estas herramientas.
Opciones típicas de fsck: -c busca bloques defectuosos; -f fuerza chequeo; -v muestra más información; -r modo interactivo; -y responde «yes» a todo; -a auto-repara (no recomendada por su agresividad). Un uso conocido para revisar y marcar sería: sudo fsck -cyv /dev/sda
.
Si guardaste la lista de bloques malos en un fichero, puedes indicárselo al verificador con -l
, por ejemplo: sudo fsck -l badblocks.txt /dev/sdb1
. Así el sistema añadirá esos sectores a la lista de excluidos.
Para ext*, una combinación muy usada es: sudo e2fsck -cfpv /dev/sdXN
donde -c añade los bloques defectuosos a la lista, -f fuerza, -p intenta reparar de forma segura y -v muestra detalle. O, si buscas automatizar correcciones: sudo e2fsck -p -v /dev/sdXN
; y si necesitas responder «sí» a todo, añade -y. Con -z puedes volcar cambios a un archivo de recuperación antes de alterar metadatos.
Recuerda que e2fsck y badblocks pueden complementarse: primero detectas, luego marcas y, si procede, reparas estructuras del sistema de archivos para que no se vuelvan a usar bloques dañados.
Fragmentación en Linux y e4defrag
Con ext4, Btrfs o XFS la fragmentación es mucho menor que en FAT32/NTFS, pero no imposible. Puedes estimar la fragmentación en ext4 con fsck.ext4 -vpf /dev/sdXN desde un sistema en vivo, o trabajando en caliente con e4defrag
(paquete e2fsprogs).
Para ver el estado sin desfragmentar: sudo e4defrag -c /dev/sda1
(y en tu /home, por ejemplo, sudo e4defrag -c /dev/sda3
). La utilidad muestra una «puntuación de fragmentación»; por debajo de 31 suele indicar que no hace falta actuar.
Si necesitas actuar, ejecuta sin -c: sudo e4defrag /dev/sda3
. Precaución y copias al día antes de desfragmentar, por si hay cortes de energía u otros imprevistos.
Para volúmenes FAT32/NTFS, Linux no dispone de una herramienta estándar que mida o desfragmente con el mismo nivel de detalle; en ese caso, conecta el disco a Windows y usa sus utilidades. Si solo usas Linux, puedes considerar formatear en ext4 tus discos externos de copia (valora la compatibilidad que necesites).
SSD: TRIM, fstrim y ajustes recomendables
En SSD, la salud depende en gran parte de gestionar bien el borrado de bloques. Comprueba si el dispositivo anuncia TRIM con: sudo hdparm -I /dev/sda | grep "TRIM supported"
. Si aparece, el sistema puede comunicar los espacios liberados al controlador.
Ejecuta TRIM manual con fstrim
: por ejemplo, sudo fstrim -v /
sobre la raíz. Puedes programarlo con systemd o cron de forma semanal. El uso excesivo no aporta beneficios y puede sumar escrituras, así que no lo lances a cada rato.
Con Btrfs, el mecanismo de Copy-on-Write ya reduce escrituras innecesarias, y hay quien evita programar fstrim de forma frecuente. XFS soporta descarte de bloques, y ext4 con journaling ofrece buena resiliencia; desactivar el diario para «ahorrar» escrituras no es aconsejable por el riesgo ante cortes de luz.
Sobre la memoria de intercambio: puedes usar swap con SSD sin drama en equipos modernos. Ajustar swappiness a un valor bajo (p.ej. 10) reduce el uso de swap si tienes mucha RAM. La hibernación escribe la RAM al disco; si quieres minimizar escrituras en SSD, desactívala.
Monitorizar la salud con SMART
La tecnología S.M.A.R.T permite vigilar reubicaciones de sectores, errores y temperatura. Instala smartmontools y consulta: sudo smartctl -a /dev/sda
para ver un informe completo del dispositivo.
Instalación de smartmontools según distribución: en Debian/Ubuntu/Mint sudo apt install smartmontools
; en Fedora sudo dnf install smartmontools
; en openSUSE sudo zypper install smartmontools
; en Arch/Manjaro sudo pacman -S smartmontools
; en sistemas con yum: sudo yum install smartmontools
; y en Slackware puedes recurrir a slackpkg install smartmontools
.
Si prefieres interfaz gráfica, GSmartControl presenta los atributos SMART y tests en una ventana amigable, útil para revisiones rápidas.
Herramientas imprescindibles para formateo, particionado y recuperación
Para gestionar particiones de forma gráfica, GParted es un clásico: crea, borra, redimensiona y formatea en FAT32, NTFS, ext4, etc. Otra alternativa sencilla es Disks (gnome-disk-utility), incluida en muchos escritoros GNOME.
En terminal, tienes fdisk
y cfdisk
para particionar, y la familia mkfs
para formatear: por ejemplo, mkfs.vfat
, mkfs.ntfs
, mkfs.ext4
. Para un USB en FAT32: sudo mkfs.vfat -F 32 -n Mi_Memoria /dev/sdX1
.
Para recuperar particiones dañadas o borradas, TestDisk es un salvavidas. Su compañero PhotoRec recupera archivos por firmas incluso si el sistema de archivos está perdido. Y gpart puede intentar deducir estructuras de partición.
En ext3/ext4, extundelete
permite rescatar archivos si el espacio no ha sido sobrescrito. Trabaja siempre contra el dispositivo desmontado y, si puedes, sobre una imagen clonada para no empeorar la situación.
Clonado y copias: dd y Clonezilla
dd
es potente y peligroso: una sintaxis mal puesta puede borrar el disco equivocado. Para clonar de disco a disco: sudo dd if=/dev/sda of=/dev/sdb bs=64K status=progress
. Ajusta el bs
y añade conv=sync,noerror
si el origen tiene errores de lectura.
Clonezilla es más seguro para la mayoría de usuarios: clona discos o particiones con compresión y verificación, ideal para migraciones o backups consistentes. Arranca desde su ISO/USB y sigue el asistente.
Medir rendimiento de disco con dd
Para una prueba rápida de E/S: escribe un archivo grande sincronizando al disco: dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync
(medirás velocidad de escritura secuencial).
Si quieres ver latencia de I/O con bloques pequeños: dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync
. Son pruebas simples, no sustituyen a benchmarks especializados, pero ayudan a detectar anomalías graves.
Instalación de herramientas por distribución
GParted: en Debian/Ubuntu/Mint sudo apt install gparted
; en openSUSE sudo zypper in gparted
; en Fedora/CentOS sudo dnf install gparted
(o yum
en versiones antiguas); en Arch/Manjaro sudo pacman -S gparted
; en Slackware: slackpkg install gparted
.
TestDisk/PhotoRec: Debian/Ubuntu/Mint sudo apt install testdisk
; openSUSE zypper in testdisk
; Arch/Manjaro sudo pacman -S testdisk
; Fedora/CentOS sudo dnf install testdisk
; Slackware: slackpkg install testdisk
.
KDE Partition Manager: Debian/Ubuntu/Mint sudo apt install kde-partitionmanager
; openSUSE zypper in kde-partitionmanager
; Fedora/CentOS sudo dnf install kde-partitionmanager
; Arch/Manjaro sudo pacman -S kde-partitionmanager
; Slackware: slackpkg install kde-partitionmanager
.
GNOME Disks: Debian/Ubuntu/Mint sudo apt install gnome-disk-utility
; openSUSE zypper in gnome-disk-utility
; Fedora/CentOS sudo dnf install gnome-disk-utility
; Arch/Manjaro sudo pacman -S gnome-disk-utility
; Slackware: slackpkg install gnome-disk-utility
.
Para FAT32 en terminal, instala dosfstools: Debian/Ubuntu/Mint sudo apt install dosfstools
; Arch/Manjaro sudo pacman -S dosfstools
; openSUSE sudo zypper in dosfstools
; Slackware slackpkg install dosfstools
; en sistemas con yum/dnf, usa el gestor correspondiente.
Procedimientos de arranque: Live USB, rescate y forcefsck
Si necesitas revisar la partición raíz, no puedes hacerlo montada. O bien entras en modo rescate del sistema, o trabajas con una distribución Live USB. En el gestor de arranque (GRUB) puedes acceder a opciones avanzadas y seleccionar modo de recuperación.
Otra técnica es crear el archivo /forcefsck
en la raíz: sudo touch /forcefsck
. En el siguiente reinicio, el sistema forzará la comprobación. Tras arrancar, elimina el archivo para que no se ejecute en cada arranque: sudo rm /forcefsck
.
Antes de reiniciar a rescate, detén servicios críticos (bases de datos), y recuerda desmontar los sistemas de archivos que vayas a revisar con sudo umount /dev/sdXN
para evitar daños.
Consejos finales y límites de la recuperación
Para particiones ext*, usa las herramientas nativas (fsck/e2fsck, extundelete). Para pérdidas a nivel de estructura, TestDisk y PhotoRec son los caballos de batalla. Como último recurso, existen utilidades comerciales de recuperación de datos que pueden ayudar en casos complejos, aunque no hay garantías cuando el daño es físico.
En HDD, vigila la reubicación de sectores (sector reallocation). Un par aislado no es alarmante, pero si la cifra sube con el tiempo, actúa: copia y sustituye el disco. En SSD, monitoriza Total Bytes Written (TBW), errores y temperatura, y mantén TRIM activo.
Todo lo anterior se apoya en una máxima: las copias de seguridad son la mejor herramienta de mantenimiento. Clona o respalda con regularidad y practica la recuperación para asegurarte de que tus copias valen cuando de verdad las necesites.
Redactor apasionado del mundo de los bytes y la tecnología en general. Me encanta compartir mis conocimientos a través de la escritura, y eso es lo que haré en este blog, mostrarte todo lo más interesante sobre gadgets, software, hardware, tendencias tecnológicas, y más. Mi objetivo es ayudarte a navegar por el mundo digital de forma sencilla y entretenida.