Qual è il modo consigliato per svuotare un SSD?

48

Ho appena ricevuto il mio nuovo SSD da quando è morto il vecchio. Questo SSD Intel 320 supporta TRIM. A scopo di test, il mio rivenditore ha installato Windows, ma voglio sbarazzarmi di questo e installare Kubuntu su di esso.

Non deve essere una "cancellazione sicura", ho solo bisogno di svuotare il disco nel modo più salutare. Credo che dd if=/dev/zero of=/dev/sda riempia i blocchi con zero e quindi prenda un'altra scrittura (correggimi se sbaglio).

Ho visto la risposta Come abilitare TRIM , ma sembra che sia adatto per cancellare blocchi vuoti, non pulire il disco.

hdparm sembra essere il programma per farlo, ma non sono sicuro se cancella il disco OPPURE pulisce i blocchi vuoti. Dalla sua pagina di manuale:

  --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

Come posso rendere tutti i blocchi visualizzati come vuoti usando TRIM?

    
posta Lekensteyn 12.05.2011 - 16:01

5 risposte

44

ATA Secure Erase

Dovresti utilizzare la funzione di cancellazione del disco .

  1. Assicurati che l'unità Sicurezza non sia bloccata . Se lo è, potrebbe essere utile sospendere e riprendere il computer.

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

    L'output del comando (filtrato) significa che questa unità non è "congelata" e puoi continuare.

  2. Imposta una password utente (anche questa password è deselezionata, la scelta esatta non ha importanza).

    sudo hdparm --user-master u --security-set-pass Eins /dev/sdX
    
  3. Emetti il ​​comando ATA Secure Erase

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

Nota:

  • /dev/sdX è l'SSD come dispositivo a blocchi che si desidera cancellare.
  • Eins è la password scelta in questo esempio.

Vedi l'articolo ATA Secure Erase nella wiki del kernel Linux per istruzioni complete inclusa la risoluzione dei problemi.

    
risposta data psusi 12.05.2011 - 17:10
24

util-linux 2.23 offre blkdiscard che scarta i dati senza cancellarli in modo sicuro. Ho provato: funziona su SATA e mmcblk ma non su USB.

Un estratto dalla pagina di manuale di blkdiscard(8) :

  

nome

     

blkdiscard - elimina i settori su un dispositivo

     

SINOSSI

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

DESCRIZIONE

     

blkdiscard è usato per scartare i settori del dispositivo. Questo è utile per   driver a stato solido (SSD) e storage con thin provisioning. a differenza di   fstrim (8) questo comando è usato direttamente sul dispositivo a blocchi.

     

Per impostazione predefinita, blkdiscard scarterà tutti i blocchi sul dispositivo. Le opzioni possono essere utilizzate per modificare questo comportamento in base all'intervallo o alle dimensioni, come spiegato di seguito.

     

L'argomento dispositivo è il nome del percorso del dispositivo a blocchi.

     

AVVISO: tutti i dati nell'area scartata sul dispositivo andranno persi!

Il comando è presente da Ubuntu 15.04 e OpenSUSE 13.1 (sì, OpenSUSE ha 2 anni di vantaggio su Ubuntu).

    
risposta data Peer Gynt 30.09.2013 - 11:05
5

Se non hai bisogno di un wipe sicuro, perché non devi semplicemente installare kubuntu usando le opzioni per "usare l'intero disco" e l'equivalente di "formato veloce" (non ricordo la terminologia esatta in questo momento)

In questo modo si elimina la tabella di allocazione file e l'unità viene svuotata in modo efficace per la sovrascrittura. In realtà non è necessario svuotarlo.

    
risposta data Rory Alsop 12.05.2011 - 17:47
0

Se sul disco è presente un filestem Linux, puoi utilizzare fstrim . Di default, Ubuntu esegue fstrim su unità dai seguenti fornitori:

    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

Una volta alla settimana.

Quindi una risposta alla tua domanda è avviare il sistema e attendere una settimana!

    
risposta data Bryce 05.12.2014 - 08:53
-4

Basta rimuovere la partizione, non è necessario cancellare l'intero disco, i vecchi dati verranno sovrascritti quando la memorizzazione è necessaria per qualcos'altro.

Per abilitare TRIM:

gksudo gedit /etc/fstab

Cambia "ext4 errors = remount-ro 0" in "ext4 scarto, errors = remount-ro 0". (Aggiungi scarto)

Salva e riavvia, ora TRIM dovrebbe essere abilitato.

Verifica se TRIM è abilitato:

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

Utilizza il primo indirizzo begin_LBA.

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

Ora dovrebbe restituire numeri e caratteri. Rimuovi il file e sincronizzalo.

rm tempfile
sync

Ora, esegui di nuovo il seguente comando. Se restituisce zeri, TRIM è abilitato.

hdparm --read-sector [begin_LBA] /dev/sda
    
risposta data Alex 12.05.2011 - 17:04

Leggi altre domande sui tag