web-dev-qa-db-fra.com

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

Je viens de recevoir mon nouveau disque SSD depuis le décès de l'ancien. Ce SSD Intel 320 prend en charge TRIM. À des fins de test, mon revendeur a mis Windows sous tension, mais je veux m'en débarrasser et installer Kubuntu dessus.

Il n’est pas nécessaire que ce soit une "lingette sécurisée", j’ai juste besoin 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 ainsi une autre écriture (corrigez-moi si je me trompe).

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

hdparm semble être le programme pour le faire, mais je ne sais pas s'il efface le disque OR 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 en sorte que tous les blocs apparaissent comme vides avec TRIM?

53
Lekensteyn

ATA Secure Erase

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

  1. Assurez-vous que la sécurité du lecteur n'est pas gelée . Si c'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 la commande (filtrée) signifie que ce lecteur est "non gelé" et vous pouvez continuer.

  2. Définissez 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 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 obtenir des instructions complètes, y compris le dépannage.

50
psusi

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

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

PRÉNOM

blkdiscard - Élimine les secteurs d'un périphérique

SYNOPSIS

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

LA DESCRIPTION

blkdiscard est utilisé pour ignorer les secteurs de périphérique. Ceci est utile pour les pilotes SSD (Solid-State Drivers) et le stockage à faible provision. Contrairement à fstrim (8), cette commande est utilisée directement sur le périphérique bloc.

Par défaut, blkdiscard supprimera tous les blocs du 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 device est le chemin du périphérique en mode bloc.

AVERTISSEMENT: toutes les données de la région supprimée de l'appareil seront perdues!

La commande existe depuis Ubuntu 15.04 et OpenSUSE 13.1 (oui, OpenSUSE l’avait 2 ans d’avance sur Ubuntu).

30
Tankman六四

Si vous n'avez pas besoin d'effacement sécurisé, pourquoi ne pas simplement installer kubuntu en utilisant les options "utiliser tout le disque" et l'équivalent de "formatage rapide" (je ne me souviens pas de la terminologie exacte à l'heure actuelle)

De cette façon, vous abandonnez la table d’allocation de fichiers et le lecteur est vidé de façon à pouvoir être écrasé. Vous n'avez pas réellement besoin de le vider.

5
Rory Alsop

Si le lecteur contient un fichier 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.

Donc, une réponse à votre question est de démarrer le système et d’attendre une semaine!

1
Bryce