secure-os.org
Todas las guíasQubes OSTailsWhonixLinux endurecidoCifrado de discoModelo de amenaza
cifrado

Cómo borrar un SSD de forma segura (NVMe Secure Erase, antes de vender o desechar)

secure-os· Actualizado 28 de junio de 2026· 9 min de lectura #cifrado#data-sanitization#opsec
Una unidad de estado sólido SATA de 2,5 pulgadas etiquetada SanDisk X110 Solid State Drive sobre un escritorio

Respuesta rápida: en una unidad de estado sólido (SSD), no uses las herramientas pensadas para un disco duro mecánico — shred, dd if=/dev/zero, el multipase Gutmann o DBAN. No son fiables en un SSD y lo desgastan sin ningún beneficio de seguridad. Usa en su lugar uno de estos dos métodos: (1) el comando de saneamiento integrado en el firmware del disco — ATA Secure Erase para SSD SATA, o NVMe Format / NVMe Sanitize para unidades NVMe — o (2) el borrado criptográfico: si el disco está cifrado, destruye la clave de cifrado y cada bloque queda ilegible al instante. Cualquiera de los dos sirve antes de vender, donar o desechar un disco.

Esta guía explica por qué los SSD son distintos, recorre los comandos de firmware en Linux y cubre el atajo de destruir la clave, a menudo la opción más sencilla y fiable.


Por qué un SSD no es un disco duro

En un disco duro mecánico, una dirección de bloque lógico corresponde a una ubicación física fija en un plato giratorio. Sobrescribir ese bloque reemplaza físicamente el estado magnético donde vivían los datos. Por eso el borrado por sobrescritura (shred, dd, herramientas multipase) funciona en discos duros.

Los SSD rompen esa suposición de tres formas:

  • Nivelación de desgaste (wear-leveling). Las celdas de memoria flash se degradan con cada escritura, así que el controlador del SSD reparte las escrituras entre los chips para igualar el desgaste. Cuando «sobrescribes» un archivo, el controlador suele escribir los nuevos datos en un bloque físico distinto y nuevo, y reasigna la dirección lógica — dejando los datos originales en una celda ahora huérfana que ya no puedes direccionar desde el sistema.
  • Sobreaprovisionamiento (over-provisioning). Todo SSD reserva capacidad física adicional (a menudo del 7 al 28 %) que nunca se expone al sistema operativo. Pueden quedar datos en ese espacio de reserva, totalmente fuera del alcance de cualquier sobrescritura que lances.
  • TRIM y la capa de traducción flash. El controlador mantiene su propia tabla de correspondencia entre direcciones lógicas y físicas. No tienes acceso directo a una celda concreta; solo se lo pides al controlador, y él decide.

La consecuencia: una pasada de sobrescritura por software no puede garantizar que haya tocado cada celda física que alguna vez contuvo tus datos. Los métodos multipase como Gutmann se diseñaron para la codificación magnética de los discos duros de los años 90 y no aportan ningún beneficio en la flash — solo multiplican el desgaste. El enfoque correcto entrega el trabajo al único componente capaz de alcanzar cada celda: el propio controlador del SSD.

La placa de circuito desnuda de un SSD SATA mostrando sus chips de memoria flash NAND negros y su conector de borde dorado

Método 1 — Sanitize de firmware (ATA Secure Erase / NVMe Sanitize)

Todo controlador de SSD moderno implementa un comando integrado que reinicia las celdas que conoce — incluida la reserva de sobreaprovisionamiento. Es la forma autoritativa de borrar el medio físico.

Una advertencia contundente antes de cualquier comando de abajo: estas operaciones borran todo el disco de forma irreversible, incluidas las particiones, el sistema operativo y cualquier dato que hubieras olvidado. Identifica primero el dispositivo correcto (lsblk, sudo nvme list), desmóntalo y nunca los ejecutes contra tu disco de sistema en marcha. Haz copia de seguridad de lo que necesites antes.

SSD NVMe en Linux (nvme-cli)

El paquete nvme-cli proporciona los comandos estandarizados de sanitize y format para unidades NVMe. Sustituye /dev/nvmeXn1 por el namespace real del disco que vas a borrar — y verifícalo dos veces.

# Listar los dispositivos NVMe para elegir el correcto
sudo nvme list

# Borrado criptográfico: rota la clave de cifrado interna,
# dejando todos los datos existentes indescifrables al instante (si es compatible)
sudo nvme format /dev/nvmeXn1 --ses=2

# O un borrado de bloques (datos de usuario) en lugar del cripto-borrado
sudo nvme format /dev/nvmeXn1 --ses=1

# El comando sanitize dedicado (borrado de bloques); comprobar compatibilidad
sudo nvme sanitize /dev/nvmeXn1 --sanact=2

--ses=2 solicita un borrado criptográfico: muchos SSD NVMe cifran de forma transparente todos los datos con una clave interna, y rotar esa clave deja el contenido anterior irrecuperable en segundos. --ses=1 solicita un borrado de datos de usuario. La compatibilidad de cada modo varía según el disco; sudo nvme id-ctrl /dev/nvmeXn1 informa de las capacidades de sanitize y format que anuncia el controlador.

SSD SATA en Linux (hdparm)

Para los SSD SATA, el comando ATA Secure Erase se emite a través de hdparm. El disco no debe estar «congelado» (frozen) — un ciclo de alimentación o suspender/reanudar suele limpiar ese estado. La secuencia define una contraseña de usuario temporal y luego emite el borrado, que elimina la contraseña como parte de la operación.

# Confirmar que el disco está "not frozen" y admite el comando
sudo hdparm -I /dev/sdX | grep -i -A2 security

# Definir una contraseña temporal (exigida por la norma ATA para armar el borrado)
sudo hdparm --user-master u --security-set-pass p /dev/sdX

# Emitir el secure erase (o --security-erase-enhanced si aparece como compatible)
sudo hdparm --user-master u --security-erase p /dev/sdX

De nuevo, /dev/sdX es un marcador de posición — sustitúyelo por el nodo de dispositivo verificado. blkdiscard /dev/sdX es una alternativa más ligera que emite un TRIM/discard sobre todo el disco; es más rápido pero, a diferencia del sanitize, no garantiza el borrado de la zona de reserva, así que prefiere el sanitize de firmware para el desecho.

Herramientas del fabricante

La mayoría de fabricantes de SSD ofrecen utilidades de escritorio que envuelven estos mismos comandos de firmware tras un botón, la vía más sencilla para los usuarios de Windows: Samsung Magician (Secure Erase), Crucial Storage Executive, WD Dashboard / SanDisk Dashboard y similares. Emiten los comandos ATA/NVMe estándar por debajo.

Método 2 — Cripto-borrado (destruir la clave)

El método más sencillo y robusto no borra ninguna celda — deja los datos permanentemente indescifrables destruyendo la clave.

Si todo el disco ya está cifrado — con LUKS en Linux, BitLocker en Windows o FileVault en macOS — entonces cada bloque del disco es texto cifrado. El texto plano solo existe cuando la clave está cargada. Borra o sobrescribe el material de clave y todo el volumen se convierte en un campo de bytes de apariencia aleatoria que nadie puede descifrar, al instante e independientemente del wear-leveling o el sobreaprovisionamiento.

En un volumen LUKS esto significa destruir la cabecera que contiene las ranuras de clave:

# Borrar de forma irreversible una ranura de clave LUKS concreta, o toda la cabecera
sudo cryptsetup luksErase /dev/sdX

Una vez desaparecida la cabecera LUKS, la clave de volumen que protegía no puede recuperarse jamás, así que los datos son irrecuperables aunque el texto cifrado siga físicamente en las celdas. Por eso cifrar un disco desde el primer día es la mejor estrategia de desecho: llegado el momento, no tienes que confiar en absoluto en el sanitize de firmware — simplemente tiras la clave. Consulta nuestras guías sobre el cifrado completo del disco y qué es realmente el cifrado para configurarlo correctamente.

Para discos que nunca se cifraron, el cripto-borrado no está disponible a posteriori, así que recurre al sanitize de firmware del Método 1.

Antes de vender, donar o desechar

MétodoCuándo usarloFiabilidad en SSD
ATA Secure Erase / NVMe SanitizeCualquier SSD que controles; antes de revenderAlta — el controlador reinicia todas las celdas, reserva incluida
Cripto-borrado (destruir la clave)Disco ya cifrado (LUKS/BitLocker/FileVault)Alta — instantáneo, independiente del wear-leveling
blkdiscard (TRIM)Borrado rápido cuando sanitize no está disponibleMedia — zona de reserva no garantizada
Cifrar y luego reset de fábricaTeléfonos, portátiles con reset integradoAlta si el cifrado estaba activo antes del reset
shred / dd / multipase GutmannSolo discos duros mecánicosBaja en SSD — no alcanza las celdas reasignadas
Formato rápido / borrar / vaciar papeleraNunca, para un desecho seguroNula — solo elimina la entrada de la tabla de archivos

Vender o regalar el disco: ejecuta un Secure Erase de firmware (o la herramienta del fabricante), o si estaba cifrado, haz un cripto-borrado destruyendo la clave, y luego opcionalmente un sanitize de firmware único por tranquilidad. Destruir físicamente un disco muerto que ya no enciende (de modo que ningún comando puede alcanzarlo): la destrucción mecánica de los chips NAND es el recurso cuando el sanitize es imposible.

Lo que NO funciona

  • El formato rápido reescribe la tabla de contenidos del sistema de archivos, no los datos; los bloques subyacentes quedan intactos.
  • Borrar archivos / vaciar la papelera solo elimina punteros.
  • Una sola pasada de ceros en un SSD se salta las celdas reasignadas y sobreaprovisionadas y no es autoritativa.
  • shred, dd, Gutmann, DBAN se construyeron para platos magnéticos y no ofrecen garantía en la flash, además de añadir desgaste.

Preguntas frecuentes

¿Funciona shred en un SSD?

No de forma fiable. shred sobrescribe los bloques lógicos que le indicas, pero el controlador de un SSD usa wear-leveling y sobreaprovisionamiento: tu sobrescritura suele caer en celdas nuevas mientras los datos originales sobreviven en celdas reasignadas o reservadas que no puedes direccionar. Usa en su lugar el Secure Erase / Sanitize de firmware del disco, o el cripto-borrado si el disco está cifrado.

¿Es seguro ATA Secure Erase para el disco?

Sí. ATA Secure Erase y NVMe Sanitize son comandos estándar que el controlador está diseñado para ejecutar; reinician las celdas en lugar de machacarlas con pasadas, así que desgastan mucho menos que una sobrescritura multipase. El riesgo real es humano: el comando borra todo el disco de forma irreversible, así que verifica el nodo de dispositivo y haz copia de lo que necesites antes.

¿Cómo borro un SSD NVMe de forma segura en Linux?

Instala nvme-cli, ejecuta sudo nvme list para identificar el namespace correcto y luego emite sudo nvme format /dev/nvmeXn1 --ses=2 para un borrado criptográfico (o --ses=1 para un borrado de datos de usuario). Algunos discos también admiten sudo nvme sanitize. Comprueba con sudo nvme id-ctrl qué modos anuncia tu disco, y vuelve a verificar la ruta del dispositivo — la operación no se puede deshacer.

¿Basta con cifrar y luego destruir la clave?

Sí, cuando todo el disco estaba cifrado desde el principio. Si cada bloque es texto cifrado (LUKS, BitLocker, FileVault), destruir la clave — por ejemplo borrar la cabecera LUKS con cryptsetup luksErase — deja todos los datos indescifrables al instante, independientemente del wear-leveling o el sobreaprovisionamiento. No cubre los datos escritos antes de activar el cifrado, razón por la que cifrar un disco desde el primer día es el plan de desecho más limpio.