67 votes

Quelle est la méthode recommandée pour vider un SSD ?

Je viens de recevoir mon nouveau SSD depuis que l'ancien est mort. Ce SSD Intel 320 supporte TRIM. À des fins de test, mon revendeur a mis Windows dessus, mais je veux m'en débarrasser et installer Kubuntu dessus.

Il n'est pas nécessaire que ce soit un "nettoyage sécurisé", j'ai juste besoin de vider le disque de la manière la plus saine possible. Je crois que dd if=/dev/zero of=/dev/sda remplit simplement les blocs avec des zéros et prend ainsi une autre écriture (corrigez-moi si je me trompe).

J'ai vu la réponse Comment activer TRIM mais il semble qu'il soit adapté à l'effacement des blocs vides, et non à l'effacement du disque.

hdparm semble être le programme pour le faire, mais je ne suis pas sûr s'il nettoie le disque OU s'il nettoie les blocs vides. Extrait de sa page de manuel :

  --trim-sector-ranges
          For  Solid State Drives (SSDs).  EXCEPTIONALLY DANGEROUS. DO NOT
          USE THIS OPTION!!  Tells the drive firmware to discard  unneeded
          data  sectors,  destroying  any  data that may have been present
          within them.  This makes those sectors available  for  immediate
          use  by  the firmware's garbage collection mechanism, to improve
          scheduling for wear-leveling of the flash  media.   This  option
          expects  one  or  more  sector range pairs immediately after the
          option: an LBA starting address, a colon, and  a  sector  count,
          with no intervening spaces.  EXCEPTIONALLY DANGEROUS. DO NOT USE
          THIS OPTION!!
          E.g.  hdparm --trim-sector-ranges 1000:4 7894:16 /dev/sdz

Comment faire pour que tous les blocs apparaissent comme vides en utilisant TRIM ?

66voto

psusi Points 35613

Effacement sécurisé ATA

Vous devez utiliser la fonction effacement de sécurité fonction.

  1. Assurez-vous que le lecteur Security n'est pas gelé . Si c'est le cas, il peut être utile de suspendre et de reprendre l'ordinateur.

    $ sudo hdparm -I /dev/sdX | grep frozen
           not     frozen 

    La sortie de commande (filtrée) signifie que ce lecteur n'est "pas gelé" et que vous pouvez continuer.

  2. Définir un mot de passe utilisateur (ce mot de passe est également effacé, le choix exact n'a pas d'importance).

    sudo hdparm --user-master u --security-set-pass Eins /dev/sdX
  3. Émettez la commande d'effacement sécurisé ATA

    sudo hdparm --user-master u --security-erase Eins /dev/sdX

Note :

  • /dev/sdX est le SSD en tant que périphérique de bloc que vous voulez effacer.
  • Eins est le mot de passe choisi dans cet exemple.

Voir le Effacement sécurisé ATA article dans le wiki du noyau Linux pour des instructions complètes, y compris le dépannage.

39voto

Tankman六四 Points 1406

Offre util-linux 2.23 blkdiscard qui élimine les données sans les effacer de manière sécurisée. J'ai testé : fonctionne sur SATA et mmcblk mais pas sur USB.

Un extrait de la page de manuel de blkdiscard(8) :

NOM

blkdiscard - supprimer des secteurs sur un périphérique

SYNOPSIS

blkdiscard [-o offset] [-l length] [-s] [-v] device

DESCRIPTION

blkdiscard est utilisé pour supprimer les secteurs du périphérique. Ceci est utile pour les disques durs solides (SSD) et le stockage à provisionnement fin. Contrairement à fstrim(8), cette commande est utilisée directement sur le périphérique bloc.

Par défaut, blkdiscard éliminera tous les blocs sur le périphérique. Des options peuvent être utilisées pour modifier ce comportement en fonction de la plage ou de la taille, comme expliqué ci-dessous.

L'argument périphérique est le nom de chemin du périphérique de bloc.

AVERTISSEMENT : Toutes les données se trouvant dans la région rejetée de l'appareil seront perdues !

La commande existe depuis Ubuntu 15.04 et OpenSUSE 13.1 (oui OpenSUSE a 2 ans d'avance sur Ubuntu).

6voto

Déjà vu Points 669

Si vous n'avez pas besoin d'un effacement sécurisé, pourquoi ne pas simplement installer Kubuntu en utilisant les options "utiliser le disque entier" et l'équivalent de "formatage rapide" (je ne me souviens pas de la terminologie exacte pour le moment).

De cette façon, vous vous débarrassez de la table d'allocation des fichiers et le disque est effectivement vidé pour l'écrasement. Vous n'avez pas besoin de le vider.

2voto

Bryce Points 1677

Si le disque est équipé d'un système de fichiers Linux, vous pouvez utiliser fstrim . Par défaut, Ubuntu récent exécute fstrim sur les disques des fournisseurs suivants :

    if [ -z "$NO_MODEL_CHECK" ]; then
        if ! contains "$HDPARM" "Intel" && \
           ! contains "$HDPARM" "INTEL" && \
           ! contains "$HDPARM" "Samsung" && \
           ! contains "$HDPARM" "SAMSUNG" && \
           ! contains "$HDPARM" "OCZ" && \
           ! contains "$HDPARM" "SanDisk" && \
           ! contains "$HDPARM" "Patriot"; then
            #echo "device $DEV is not a drive that is known-safe for trimming"
            continue

Une fois par semaine.

Une réponse à votre question est donc de démarrer le système et d'attendre une semaine !

-5voto

Brayden Points 15

Il suffit de supprimer la partition, vous n'avez pas besoin de vider tout le disque, les anciennes données seront écrasées lorsque le stockage sera nécessaire pour autre chose.

Pour activer la fonction TRIM :

gksudo gedit /etc/fstab

Changez "ext4 errors=remount-ro 0" en "ext4 discard,errors=remount-ro 0". (Ajouter discard)

Sauvegardez et redémarrez, TRIM devrait maintenant être activé.

Vérifiez si TRIM est activé :

sudo -i
dd if=/dev/urandom of=tempfile count=100 bs=512k oflag=direct
hdparm --fibmap tempfile

Utilisez la première adresse begin_LBA.

hdparm --read-sector [begin_LBA] /dev/sda

Maintenant, il devrait renvoyer des chiffres et des caractères. Supprimez le fichier et synchronisez.

rm tempfile
sync

Maintenant, exécutez à nouveau la commande suivante. Si elle renvoie des zéros, TRIM est activé.

hdparm --read-sector [begin_LBA] /dev/sda

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X