Debian – sicheres Löschen von Datenträgern

Wer seine Festplatte, oder USB-Stick weitergibt oder verkauft, möchte diese unter Umständen gerne auch gelöscht wissen. Nachfolgend eine kurze Info wie ich meine Festplatten (Windows oder Linux), bevor ich sie verkaufe oder weiter gebe, sicher lösche. Als Betriebsystem dient Debian.

1. Meistens stecke ich die Festplatte mittels externem USB-Gehäuse an den Rechner, eine intern verbaute geht natürlich auch. Wenn sie per USB frisch angeschlossen wird, dann lässt sich das Device recht einfach mit dem Befehl „dmesg“ herausfinden. Das Ergebnis sieht dann [Auszug] so z.B. aus:


scsi 20:0:0:0: Direct-Access     ASMT     2105             0    PQ: 0 ANSI: 6
sd 20:0:0:0: Attached scsi generic sg3 type 0
sd 20:0:0:0: [sdc] 625142448 512-byte logical blocks: (320 GB/298 GiB)
sd 20:0:0:0: [sdc] Write Protect is off
sd 20:0:0:0: [sdc] Mode Sense: 43 00 00 00
sd 20:0:0:0: [sdc] Assuming drive cache: write through
sd 20:0:0:0: [sdc] Assuming drive cache: write through
sdc: sdc1 sdc2 sdc3

Hier ist nun schön zu sehen, dass die Festplatte als Device SDC eingebunden wurde und insgesammt 3 Partitionen erkannt wurden.

2. Eine weitere Möglichkeit ist den Befehl „fdisk -l“ zu verwenden. Dieser zeigt alle erkannten Laufwerke und Partition an. In diesem Beispiel also [Auszug]:

</pre>
Disk /dev/sdc: 320.1 GB, 320072933376 bytes
 255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0x00000000

Nachdem man die anderen angezeigten mit den bereits eingebundenen verglichen hat, stellt sich sdc als neu heraus ;). Weitere Mögichkeiten sind z.B. parted usw.

3. Um nun die Festplatte komplett zu löschen verwende ich den Befehl „dd“, welches zum kopieren und umwandeln von Dateien verwendet wird und Bestandteil des Systems ist. Damit ich den Verlauf sehen kann nutze ich weiterhin den Befehl „pv“, welcher den Verlauf in einer Pipe anzeigen kann. Da es kein Standard Tool auf dem System ist kurz „aptitude install pv“ ausführen. Der komplette Befehl zum löschen der SDC sieht dann wie folgt aus:

# dd if=/dev/zero conv=noerror,notrunc,sync bs=64MB | pv >/dev/sdc

Parameter

</pre>
conv= - wandelt die Datei entspr. der Aufzählung der Schlüsselwörter um
 conv=noerror - ignoriert Input Fehler
 conv=notrunc - schneidet die ausgegebene Datei nicht ab, sodass ein Block expliziet geschrieben wird und andere überschreibt
 conv=sync - Manual ->"pads any input block shorter than <b><tt>ibs</tt></b> to that size with null bytes before conversion and output. If you also specified <tt>block</tt> or <tt>unblock</tt>, <b><tt>dd</tt></b> uses spaces instead of null bytes for padding"

bs= - Blockgröße und Kurzschreibweise für ibs und obs
 pv = Progress / Verlauf in der Pipe

3.1 Wer es noch sicherer wissen möchte, der verwendet statt /dev/zero -> /dev/random. Hierbei werden die Sektoren mit zufälligen Zahlen überschrieben.

# dd if=/dev/random conv=noerror,notrunc,sync bs=64MB | pv >/dev/sdc

Hinweis 1 – Dauer eines Löschvorgangs
– eine 320GB 2,5″ Samsung HD15UI an USB 2.0 mit ~28-35MBits brauchte bei /dev/zero und bs=64MB ca. 12-13h
– eine 1.5TB 3.5″ Samsung Eco Green an USB 2.0 mit ~20-24MBits brauchte bei /dev/zero und bs=64MB ca. 14h
– eine 2.0TB 3.5″ Samsung Eco Green an USB 2.0 mit ~26-30MBits brauchte bei /dev/zero und bs=64MB ca. 15h

Hinweis 2- wer andere Tools nutzen möchte, der kann auf z.B. wipe, shred und dban zurückgreifen.

3.2 Noch sicherer wird es wenn man dann einen der beiden 3 und mehr mals ausführt 😉

Abschließend noch der Hinweis, dass die Verwendung auf eigene Gefahr besteht, es bestimmt noch viele andere Möglichkeiten gibt und ich gerne eure Meinung und Ideen nachfolgend diskutiere….

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.