Comment effacer un SSD en toute sécurité (NVMe Secure Erase, avant de vendre ou jeter)
Réponse rapide : sur un SSD (disque à mémoire flash), n’utilisez pas les outils prévus pour un disque dur mécanique — shred, dd if=/dev/zero, le multi-passe Gutmann ou DBAN. Ils ne sont pas fiables sur un SSD et l’usent sans aucun gain de sécurité. Utilisez plutôt l’une de ces deux méthodes : (1) la commande de réinitialisation intégrée au firmware du disque — ATA Secure Erase pour les SSD SATA, ou NVMe Format / NVMe Sanitize pour les disques NVMe — ou (2) l’effacement cryptographique : si le disque est chiffré, détruisez la clé de chiffrement et chaque bloc devient instantanément illisible. L’une comme l’autre convient avant de vendre, donner ou jeter un disque.
Ce guide explique pourquoi les SSD sont différents, détaille les commandes firmware sous Linux, et couvre le raccourci par destruction de clé, souvent la solution la plus simple et la plus fiable.
Pourquoi un SSD n’est pas un disque dur
Sur un disque dur mécanique, une adresse de bloc logique correspond à un emplacement physique fixe sur un plateau en rotation. Réécrire ce bloc remplace physiquement l’état magnétique où vivaient les données. C’est pourquoi l’effacement par réécriture (shred, dd, outils multi-passe) fonctionne sur les disques durs.
Les SSD cassent cette hypothèse de trois façons :
- Le nivellement d’usure (wear-leveling). Les cellules de mémoire flash s’usent à chaque écriture, alors le contrôleur du SSD répartit les écritures sur les puces pour égaliser l’usure. Quand vous « réécrivez » un fichier, le contrôleur écrit en général les nouvelles données dans un bloc physique différent et neuf, puis remappe l’adresse logique — laissant les données d’origine dans une cellule désormais orpheline que vous ne pouvez plus adresser depuis le système.
- Le sur-provisionnement (over-provisioning). Tout SSD réserve une capacité physique supplémentaire (souvent 7 à 28 %) jamais exposée au système d’exploitation. Des données peuvent subsister dans cet espace de réserve, totalement hors de portée de toute réécriture que vous lancez.
- Le TRIM et la couche de translation flash. Le contrôleur tient sa propre table de correspondance entre adresses logiques et physiques. Vous n’avez aucun accès direct à une cellule précise ; vous ne faites que demander au contrôleur, qui décide.
Conséquence : une passe de réécriture logicielle ne peut pas garantir qu’elle a touché chaque cellule physique ayant un jour contenu vos données. Les méthodes multi-passe comme Gutmann ont été conçues pour l’encodage magnétique des disques durs des années 1990 et n’apportent aucun bénéfice sur la flash — elles ne font que multiplier l’usure. La bonne approche confie le travail au seul composant capable d’atteindre chaque cellule : le contrôleur du SSD lui-même.

Méthode 1 — Sanitize firmware (ATA Secure Erase / NVMe Sanitize)
Tout contrôleur de SSD moderne implémente une commande intégrée qui réinitialise les cellules qu’il connaît — y compris la réserve de sur-provisionnement. C’est la manière faisant autorité pour effacer le support physique.
Un avertissement appuyé avant toute commande ci-dessous : ces opérations effacent tout le disque de façon irréversible, y compris les partitions, le système et toute donnée que vous auriez oubliée. Identifiez d’abord le bon périphérique (lsblk, sudo nvme list), démontez-le, et ne les lancez jamais sur votre disque système en cours d’exécution. Sauvegardez ce dont vous avez besoin au préalable.
SSD NVMe sous Linux (nvme-cli)
Le paquet nvme-cli fournit les commandes standardisées de sanitize et de format pour les disques NVMe. Remplacez /dev/nvmeXn1 par le vrai namespace du disque à effacer — et vérifiez-le deux fois.
# Lister les périphériques NVMe pour choisir le bon
sudo nvme list
# Effacement cryptographique : fait pivoter la clé de chiffrement interne,
# rendant toutes les données existantes indéchiffrables instantanément (si pris en charge)
sudo nvme format /dev/nvmeXn1 --ses=2
# Ou un effacement des blocs (données utilisateur) au lieu du crypto-erase
sudo nvme format /dev/nvmeXn1 --ses=1
# La commande sanitize dédiée (effacement de blocs) ; vérifier la prise en charge
sudo nvme sanitize /dev/nvmeXn1 --sanact=2
--ses=2 demande un effacement cryptographique : beaucoup de SSD NVMe chiffrent de façon transparente toutes les données avec une clé interne, et faire pivoter cette clé rend l’ancien contenu irrécupérable en quelques secondes. --ses=1 demande un effacement des données utilisateur. La prise en charge de chaque mode varie selon le disque ; sudo nvme id-ctrl /dev/nvmeXn1 indique les capacités de sanitize et de format que le contrôleur annonce.
SSD SATA sous Linux (hdparm)
Pour les SSD SATA, la commande ATA Secure Erase passe par hdparm. Le disque ne doit pas être « gelé » (frozen) — un cycle d’alimentation ou une mise en veille/reprise lève souvent cet état. La séquence définit un mot de passe utilisateur temporaire, puis lance l’effacement, qui efface le mot de passe dans la foulée.
# Confirmer que le disque est "not frozen" et prend en charge la commande
sudo hdparm -I /dev/sdX | grep -i -A2 security
# Définir un mot de passe temporaire (exigé par la norme ATA pour armer l'effacement)
sudo hdparm --user-master u --security-set-pass p /dev/sdX
# Lancer le secure erase (ou --security-erase-enhanced s'il est listé comme pris en charge)
sudo hdparm --user-master u --security-erase p /dev/sdX
Là encore, /dev/sdX est un espace réservé — substituez le nœud de périphérique vérifié. blkdiscard /dev/sdX est une alternative plus légère qui envoie un TRIM/discard sur tout le disque ; c’est plus rapide mais, contrairement au sanitize, cela ne garantit pas l’effacement de la zone de réserve, donc préférez le sanitize firmware pour la mise au rebut.
Outils constructeurs
La plupart des fabricants de SSD fournissent des utilitaires de bureau qui encapsulent ces mêmes commandes firmware derrière un bouton — la voie la plus simple pour les utilisateurs Windows : Samsung Magician (Secure Erase), Crucial Storage Executive, WD Dashboard / SanDisk Dashboard, et similaires. Ils émettent les commandes ATA/NVMe standard en arrière-plan.
Méthode 2 — Crypto-erase (détruire la clé)
La méthode la plus simple et la plus robuste n’efface aucune cellule — elle rend les données définitivement indéchiffrables en détruisant la clé.
Si tout le disque est déjà chiffré — avec LUKS sous Linux, BitLocker sous Windows ou FileVault sous macOS — alors chaque bloc du disque est du texte chiffré. Le texte clair n’existe que lorsque la clé est chargée. Effacez ou réécrivez la clé et tout le volume devient un champ d’octets d’apparence aléatoire que personne ne peut déchiffrer, instantanément et indépendamment du wear-leveling ou du sur-provisionnement.
Sur un volume LUKS, cela signifie détruire l’en-tête qui contient les emplacements de clé :
# Effacer de façon irréversible un emplacement de clé LUKS précis, ou tout l'en-tête
sudo cryptsetup luksErase /dev/sdX
Une fois l’en-tête LUKS disparu, la clé de volume qu’il protégeait ne peut plus jamais être récupérée, donc les données sont irrécupérables même si le texte chiffré reste physiquement dans les cellules. C’est pourquoi chiffrer un disque dès le premier jour est la meilleure stratégie de mise au rebut : le moment venu, vous n’avez plus à faire confiance au sanitize firmware — vous jetez simplement la clé. Voir nos guides sur le chiffrement complet du disque et ce qu’est réellement le chiffrement pour configurer cela correctement.
Pour les disques qui n’ont jamais été chiffrés, le crypto-erase est indisponible après coup ; repliez-vous alors sur le sanitize firmware de la Méthode 1.
Avant de vendre, donner ou jeter
| Méthode | Quand l’utiliser | Fiabilité sur SSD |
|---|---|---|
| ATA Secure Erase / NVMe Sanitize | Tout SSD que vous contrôlez ; avant revente | Élevée — le contrôleur réinitialise toutes les cellules, réserve incluse |
| Crypto-erase (détruire la clé) | Disque déjà chiffré (LUKS/BitLocker/FileVault) | Élevée — instantané, indépendant du wear-leveling |
blkdiscard (TRIM) | Effacement rapide quand sanitize indisponible | Moyenne — zone de réserve non garantie |
| Chiffrer puis reset usine | Téléphones, laptops avec reset intégré | Élevée si le chiffrement était actif avant le reset |
shred / dd / multi-passe Gutmann | Disques durs mécaniques uniquement | Faible sur SSD — n’atteint pas les cellules remappées |
| Formatage rapide / suppression / vider corbeille | Jamais, pour une mise au rebut sécurisée | Nulle — n’efface que l’entrée de la table de fichiers |
Vendre ou donner le disque : lancez un Secure Erase firmware (ou l’outil constructeur), ou s’il était chiffré, faites un crypto-erase en détruisant la clé, puis éventuellement un sanitize firmware unique pour la tranquillité d’esprit. Détruire physiquement un disque mort qui ne s’allume plus (donc aucune commande ne peut l’atteindre) : la destruction mécanique des puces NAND est le recours quand le sanitize est impossible.
Ce qui NE marche PAS
- Le formatage rapide réécrit la table des matières du système de fichiers, pas les données ; les blocs sous-jacents restent intacts.
- Supprimer des fichiers / vider la corbeille ne retire que des pointeurs.
- Une seule passe de zéros sur un SSD manque les cellules remappées et sur-provisionnées et ne fait pas autorité.
shred,dd, Gutmann, DBAN ont été conçus pour les plateaux magnétiques et n’offrent aucune garantie sur la flash tout en ajoutant de l’usure.
Foire aux questions
shred fonctionne-t-il sur un SSD ?
Pas de façon fiable. shred réécrit les blocs logiques que vous lui indiquez, mais le contrôleur d’un SSD utilise le wear-leveling et le sur-provisionnement : votre réécriture atterrit souvent sur des cellules neuves tandis que les données d’origine survivent dans des cellules remappées ou réservées que vous ne pouvez pas adresser. Utilisez plutôt le Secure Erase / Sanitize firmware du disque, ou le crypto-erase si le disque est chiffré.
ATA Secure Erase est-il sans danger pour le disque ?
Oui. ATA Secure Erase et NVMe Sanitize sont des commandes standard que le contrôleur est conçu pour exécuter ; elles réinitialisent les cellules au lieu de les marteler de passes, donc elles usent bien moins qu’une réécriture multi-passe. Le vrai risque est humain : la commande efface tout le disque de façon irréversible, alors vérifiez le nœud de périphérique et sauvegardez ce dont vous avez besoin au préalable.
Comment effacer un SSD NVMe en toute sécurité sous Linux ?
Installez nvme-cli, lancez sudo nvme list pour identifier le bon namespace, puis émettez sudo nvme format /dev/nvmeXn1 --ses=2 pour un effacement cryptographique (ou --ses=1 pour un effacement des données utilisateur). Certains disques prennent aussi en charge sudo nvme sanitize. Vérifiez avec sudo nvme id-ctrl les modes que votre disque annonce, et revérifiez le chemin du périphérique — l’opération est irréversible.
Chiffrer puis détruire la clé suffit-il ?
Oui, lorsque tout le disque était chiffré dès le départ. Si chaque bloc est du texte chiffré (LUKS, BitLocker, FileVault), détruire la clé — par exemple effacer l’en-tête LUKS avec cryptsetup luksErase — rend toutes les données indéchiffrables instantanément, indépendamment du wear-leveling ou du sur-provisionnement. Cela ne couvre pas les données écrites avant l’activation du chiffrement, raison pour laquelle chiffrer un disque dès le premier jour est le plan de mise au rebut le plus propre.