Alexander (HH): HD in Ausgangszustand versetzen mit dd oder s0kill.exe?

Beitrag lesen

Moin Moin!

Moin!

Ich gehe mal davon aus, dass "dd if=/dev/zero of=/dev/hdc count=1" im Grunde das selbe macht wie s0kill.exe bzw. den selben Zustand erzeugt.

Das ist nicht der Ausgangszustand. Auf der Platte sind noch Daten, weil dd so nur einen Block löscht und zwar den ersten. Diese Daten lassen sich z.B. unter Linux wieder herstellen (man kann es zumindest versuchen).

Korrekt. parted hat eine Rescue-Funktion für genau den Fall, dass man sich mal eben die Partitionstabelle aus dem ersten Sektor der Platte geblitzdingst hat.

vor einer Weitergabe Löschen würde ich mit:

# > dd if=/dev/urandom of=dev/hdx

Ist man paranoid, dann macht man das mehrmals. (3 mal sollte aber wirklich reichen)

Die Partitionstabelle und den Bootsektor 'nullt' man danach mit:

# > dd if=/dev/zero of=dev/hdx count=1

Overkill.

Eine Runde Nullen schreiben, von vorne bis hinten, reicht auf handelsüblichen Platten vollkommen aus. Es schadet übrigens nicht, die Block Size bei dd höher zu setzen, dann muss das Betriebssystem die Badewanne nicht mit einer Pipette füllen. Ich nehme meistens bs=2M, das paßt auch bei alten Platten noch gut in den Cache. Sprich: "dd if=/dev/zero of=/dev/sdX bs=2M".

Die Idee, Pseudozufallszahlen (also Rauschen) auf die Platte zu schreiben, stammt aus der Zeit, als die Spuren auf den Festplatten noch relativ breit waren und man mit einem leicht verschobenen Lesekopf noch Restmagnetisierungen vom Rand der Spur zurücklesen konnte. Eine Reihe Nullen (oder auch Einsen) hätte nur für einen DC-Offset gesorgt und das Signal geschwächt. Mehrfaches Überschreiben mit Rauschen hätte die Restmagnetisierung für jedes einzelne Bit in einen sehr undefinierten Zustand gebracht und die Daten so beseitigt.

Heute sind die Spuren so schmal, dass die Hersteller schon planen, sie überlappen zu lassen, trotz den damit verbundenen Nachteilen.

Die ernsthaft paranoiden Mitmenschen benutzen übrigens nicht /dev/urandom, sondern einen "richtig guten" Pseudozufallsgenerator (Mersenne-Twister oder besser) und lassen den diverse Runden drehen, mit Verifikation der geschriebenen Daten.

DBAN ist ein Tool für solche paranoiden Leute, kann aber auch ganz einfach eine Runde Nullen schreiben und anschließend prüfen. Anders als bei einem einfachen dd gibt es auch noch eine Fortschrittsanzeige und eine Restzeitschätzung. Ganz nebenbei zeigt dban am Ende auch noch an, ob sich die Platte fehlerfrei befüllen ließ oder nicht. Platten, die dban nicht komplett nullen kann, zerstöre ich, der Rest kommt so in den Elektroschrott (unter 40 GByte) oder in die Bastelkiste (ab 40 GByte). DBAN ist das Interface an der Festplatte übrigens ziemlich egal, DBAN löscht via IDE, SCSI, USB, SATA, Firewire über so ziemlich jeden Controller, für den es Linux-Treiber gibt. Auch parallel, auf max. 100 Platten.

freilich geht auch etwas wie:

# > platte='/dev/hdx' && bs=512 dd && if=/dev/urandom of=$platte bs=$bs skip=1 && dd if=/dev/zero of=$platte count=1

Auch eine GPT sollte danach kaputt genug sein, dass ein Partitionierungstool diese nicht mehr erkennen kann, also auch nicht darüber stolpert, weil es darin etwas zu erkennen vermeint.

Das skip=1 beim ersten dd ist nett, aber der eine Sektor mehr oder weniger ist uninteressant. Das zweite dd putzt zwar den MBR am Anfang der Platte, aber nicht die GPT am Ende. So steht in der GPT Datenmüll statt Nullen wie bei einer fabrikfrischen Platte. Das könnte das eine oder andere Tool verwirren.

Ein kleiner Haken noch: Es gibt Platten-Controller, die nicht mit großen Platten umgehen können, unabhängig vom Betriebssystem. Ergebnis ist meistens, dass die höchsten Bits der LBA nicht bei der Platte ankommen. Das ist auch wohl im Original-Thread beschrieben. Mit anderen Worten: Das Betriebssystem glaubt, am Ende der Platte Daten abzulegen, die landen aber irgendwo mittendrin. Typisches Symptom: mke2fs läuft einwandfrei, e2fsck meldet direkt danach ein völlig demoliertes Dateisystem. Die GPT steht auch am Ende der Platte, wenn der inkompatible Controller die aber in die Mitte packt und anschließend über die gesamte Kapazität eine Partition anlegt und darin ein Dateisystem, kann die GPT mit Teilen des Dateisystems überschrieben werden.

Über so einen Controller bekommt man natürlich nicht die gesamte Platte gelöscht, sondern nur den Anfang.

Was hilft? Tauglichen Controller suchen. Zum Löschen: Modernen Rechner suchen, interne Platte(n) abklemmen, zu löschende Platte an den internen SATA-Controller und an Strom anschließen, DBAN starten und eine Runde Nullen schreiben und prüfen lassen.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".