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

48

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

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

J'ai vu la réponse Comment activer le TRIM , mais il semble que ce soit adapté pour effacer les blocs vides, pas essuyer le disque.

hdparm semble être le programme pour le faire, mais je ne suis pas sûr qu'il efface le disque OU nettoie les blocs vides. 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 puis-je faire apparaître tous les blocs comme vides avec TRIM?

    
posée Lekensteyn 12.05.2011 - 16:01
la source

5 réponses

44

Effacement sécurisé ATA

Vous devez utiliser la fonctionnalité d'effacement de sécurité du lecteur.

  1. Assurez-vous que la sécurité du lecteur n'est pas bloquée . Si tel est le cas, il peut être utile de suspendre et de redémarrer l'ordinateur.

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

    La sortie de commande (filtrée) signifie que ce lecteur n'est "pas figé" 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 ATA Secure Erase

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

Remarque:

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

Consultez l'article ATA Secure Erase dans le wiki du noyau Linux pour instructions complètes, y compris le dépannage.

    
réponse donnée psusi 12.05.2011 - 17:10
la source
24

util-linux 2.23 propose blkdiscard , qui élimine les données sans les effacer. 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 ignorer les secteurs de périphériques. Ceci est utile pour   pilotes SSD et stockage à provisionnement fin. contrairement à   fstrim (8) cette commande est utilisée directement sur le périphérique de bloc.

     

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

     

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

     

AVERTISSEMENT: toutes les données de la région supprimée sur le périphérique seront perdues!

La commande est présente depuis Ubuntu 15.04 et OpenSUSE 13.1 (oui, OpenSUSE a 2 ans d’avance sur Ubuntu).

    
réponse donnée Peer Gynt 30.09.2013 - 11:05
la source
5

Si vous n’avez pas besoin d’un effacement sécurisé, pourquoi n’installez-vous pas simplement kubuntu en utilisant les options pour "utiliser le disque entier" et l’équivalent du "format rapide"? / p>

De cette façon, vous abandonnez la table d’allocation de fichiers et le disque est vidé pour être écrasé. Vous n'avez pas vraiment besoin de le vider.

    
réponse donnée Rory Alsop 12.05.2011 - 17:47
la source
0

Si le lecteur contient un système de fichiers Linux, vous pouvez utiliser fstrim . Par défaut, Ubuntu récent exécute fstrim sur les lecteurs 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 seule réponse à votre question est de démarrer le système et d’attendre une semaine!

    
réponse donnée Bryce 05.12.2014 - 08:53
la source
-4

Supprimez simplement la partition, vous n'avez pas besoin d'effacer tout le disque, les anciennes données seront écrasées lorsque le stockage est nécessaire pour autre chose.

Pour activer TRIM:

gksudo gedit /etc/fstab

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

Enregistrez 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. S'il renvoie des zéros, TRIM est activé.

hdparm --read-sector [begin_LBA] /dev/sda
    
réponse donnée Alex 12.05.2011 - 17:04
la source

Lire d'autres questions sur les étiquettes