web-dev-qa-db-fra.com

Le moyen le plus rapide d’effacer un disque SSD de toutes ses partitions pour le repartitionner sous Linux?

Je souhaite effacer un disque SSD de toutes ses partitions et données afin de pouvoir le repartitionner (ceci n'est pas pour des raisons de sécurité).

J'ai regardé Sudo dd if=/dev/zero of=/dev/sdb bs=1M mais si cela ne fait que remplir chaque partition de zéros, je ne suis pas sûr de ce que je veux faire.

Je prévois d'exécuter cette commande assez souvent et je ne veux pas épuiser les écritures de mon disque SSD. Quelqu'un pourrait-il me donner des conseils sur la lutte contre ce problème?

20
IgDV

Sur un disque SSD: / Vous pouvez gérer des disques ou des partitions entiers à l'aide de blkdiscard. Ce n'est pas très sécurisé, mais pratiquement instantané (le disque marque simplement toutes les cellules comme inutilisées).

Pour des raisons de sécurité: Utilisez le chiffrement intégral du disque. N'essayez pas d'effacer tout le disque s'il est crypté - il vous suffit d'effacer la zone contenant vos clés (par exemple, le premier 1 ou 2 Mio de chaque partition cryptée).

Pour la répartition: Encore une fois, ne vous effacez pas d'effacer toutes les données. Il vous suffit de détruire les systèmes de fichiers à l'aide de wipefs, puis de balayer le premier 1 Mo de votre disque pour purger les bootloaders restants. Une fois que vous avez formaté une partition à l’aide de mkfs, le système d’exploitation suppose simplement qu’elle est complètement vide.

(En fait, sous Linux, mkfs.ext4 TRIM automatiquement la partition entière avant de la formater.)

41
grawity

Comme Kamil Maciorowski mentionne , le meilleur moyen, avec le moins de traces d'écriture, de supprimer un disque entier, consiste à utiliser la commande ATA 'secure erase'. Cela demandera au matériel d'effectuer un seul effacement complet, plutôt que d'écraser les cellules à plusieurs reprises, comme avec des outils tels que shred. Cela ne peut être fait que pour l'intégralité du disque, si vous devez effacer de manière sélective les partitions, voir la réponse de grawity (blkdiscard)

L'implémentation exacte de la commande dépend du matériel.

  • La plupart des SSD utilisera un signal électrique en bloc pour effacer des puces entières de manière totalement générique. Cela entraîne une usure d'écriture (normale), mais uniquement dans la mesure du possible (cycle d'écriture unique).

  • SSD à chiffrement automatique ne nettoiera généralement que la clé de chiffrement à l’intérieur de la puce du contrôleur (vraiment instantanée). Les lecteurs à chiffrement automatique toujours chiffrent, même par défaut (avec une clé par défaut). Donc, effacer la clé ne laisse que des erreurs non déchiffrables sur les puces flash, même si aucune clé d'utilisateur n'a été définie.

  • Disques durs Spinning-Rust effectuera une écriture zéro basée sur le matériel de tous les secteurs, ce qui équivaut (et prend beaucoup de temps) à faire dd if=/dev/zero.

Le processus est assez bien documenté ici: https://www.thomas-krenn.com/en/wiki/SSD_Secure_Erase (j'ai personnellement utilisé ce processus à plusieurs reprises sur mes propres SSD lors de la réinstallation de systèmes d'exploitation)

Edit: si les implications pour la sécurité vous intéressent: cochez cette question de Security.SE

14
Jules Kerssemakers

N'oubliez pas que vous avez demandé une solution pour nettoyer rapidement les disques. Remplacez/dev/sdx par votre disque, très probablement/dev/sda

Ceci effacera la table de partition.

dd if=/dev/zero of=/dev/sdx bs=1024 count=50

Cela effacera tout le disque, cela prendra un certain temps.

cat /dev/zero > /dev/sdx
4
Jarrod Chesney