Festplatte mit Einsen überschreiben

oyster-manu

oyster-manu

toast
Werde meinen alten Rechner entsorgen und davor noch die Festplatte überschreiben. Wollte erst mehrmals mit
Code:
dd if=/dev/urandom of=/dev/hda
die Platte putzen, aber die Schreibgeschwindigkeit von gerade mal 0,6 MB/s war mir dann doch zu gering. Daher will ich jetzt erst die Platte mit Nullen und dann mit Einsen vollschreiben. Die Schreibgeschwindigkeit mit /dev/zero als Inputfile liegt dann bei akzeptablen 7 MB/s.
Jetzt aber mein Problem: Wie kann ich mit dd die Platte mit Einsen beschreiben?
 
Spontan fällt mir dazu nur ein, eine Datei mit jeder Menge 1 zu füllen und in einer while Schleife solange kopiern bis die Platte voll ist.

Alternativen, die Platte mechanisch Beschädigen (Loch rein bohren). Ich weiß jetzt leider nicht ob die Platte mit Datenmüll gefüllt wird wenn man ein verschlüßelts LVM oder etwas in der Richtung anlegt.

mfg
HeadCrash
 
Code:
perl -e "open(FILE, '>/mountpoint/data.txt'); while(1){ print FILE '1';}"
Das läuft solange, bis die Platte voll ist. Danach einfach die data.txt wieder löschen. Pfad natürlich im Befehl nach deinen Anforderungen anpassen.
 
Ich kann leider keine Datei mit der Größe der HDD anlegen, da ich von einer Live-CD boote.
Hätte da eine andere Idee:
Man nimmt die Ausgabe von dem Programm "yes" als inputfile für "dd". Dann hat man zwar nicht alles mit Einsen überschrieben, aber immerhin einiges :)
Wie kann ich die Ausgabe von yes als input für dd benutzen?
 
Wieso nimmst du nicht /dev/zero?

Ob die Festplatte nu mit 0 oder 1 überschrieben wird, ist eigentlich egal. Oder irre mich da?
 
Hmm spontan fällt mir noch das Kommando "shred" ein.
 
Ich will einfach nur sichergehen, dass die Platte gelöscht ist. Daher will ich einmal alles mit 0 und einmal alles mit 1 (oder yes, o.a.) überschreiben.
 
Ich kann leider keine Datei mit der Größe der HDD anlegen, da ich von einer Live-CD boote.
Partition anlegen, mounten, Datei reinschreiben. Was geht daran nicht mit einer Live-CD?

Hätte da eine andere Idee:
Man nimmt die Ausgabe von dem Programm "yes" als inputfile für "dd". Dann hat man zwar nicht alles mit Einsen überschrieben, aber immerhin einiges :)
Wie kann ich die Ausgabe von yes als input für dd benutzen?

Du kannst den Output von Befehlen als Parameter mittels Backticks einbetten. Beispiel

Code:
dd if=`yes` of=/dev/hda
 
Wenn schon mit perl, wieso dann nicht gleich so?:

Code:
perl -e "open(FILE, '>/dev/sda'); while(1){ print FILE '1';}"

Wär aber doch noch die frage was schneller geht perl, oder dd mit yes.

Im übrigen beschreiben die beiden Varianten die Platte nicht mit "1" sondern mit "49".

Ich hau auch mal die C variante in die Runde, vllt mags ja wer.

Code:
#include <stdio.h>

int main()
{
         FILE* platte=fopen("/dev/sda", "w");
         while(EOF != fputc(0xFF, platte));
         fclose(platte);
}
 
Shred sollte eigentlich das Tool der Wahl sein..
 
Ich denke mal, dass dd mit yes schneller ist. Allerdings lastet es die CPU nahezu voll aus. Bin mir auch nicht sicher ob es wirklich funktioniert, da ich die Platte nun nicht mehr mounten kann (da ja nur Nullen drauf sind).
Kann man von einer HDD lesen ohne sie mounten zu müssen (z.b. mit "hexedit")?

@saeckereier: Wie kann man mit shred eine HDD schreddern? Geht das nicht nur mit Dateien?
 
Irgendwie verstehe ich den gesamten Thread nicht, klarer Fall von "Ich hab kein Problem, wie kann ich es lösen"?

Die Schreibgeschwindigkeit mit /dev/zero als Inputfile liegt dann bei akzeptablen 7 MB/s.

EIN mal Platte mit Nullen überschreiben reicht, einfach mal Tante G bemühen (heise hatte dazu auch vor einiger Zeit einen Artikel).
 
Code:
shred -n 2 -z -v /dev/hdxy

-n 2    Overwrite the partition 2 times with random data
-z        Finish with one pass writing of zeroes
-v        Show it's progress
gefunden via Datenkrake und "shred /dev/hda"

Sind letzten ist letzten Endes auch nur eine Datei.
 
Zuletzt bearbeitet:
Danke, das entspricht so ziemlich dem was ich gesucht habe.
 
EIN mal Platte mit Nullen überschreiben reicht, einfach mal Tante G bemühen [...]

Sei hiermit sicherheitshalber nochmal hervorgehoben - das einfache Überschreiben reicht bei modernen Festplatten völlig aus, da kann auch kein Forensiker mehr was hervor kramen. Mehrfaches Überschreiben bietet sich, wenn überhaupt, nur bei Bandlaufwerken und (meiner Erinnerung nach) bei Disketten an, da können u.U. noch verwertbare Reste vorhanden sein. Ich finde leider gerade keinen link, aber wer über das Buch "Overwriting Hard Drive Data: The Great Wiping Controversy" von Wright, Kleiman und Sundhar stolpert (wird vielfach zumindest Auszugsweise im Netz zitiert), findet es dort sehr genau untersucht.
 
Ich habe den passenden Link z.B. zum erwähnte Heise-Artikel auch nicht parat und bin ehrlicherweise auch zu faul zum Suchen, aber eines der Hauptergebnisse war, daß die Wahrscheinlichkeit ein einzelnes _Bit_ (sic!) nach der Prozedur "einmal durchnullen" richtig zu "erraten" bei knapp über 55% lag, was bei einer statischen Wahrscheinlichkeit richtig zu liegen von exakt 50% praktisch nichts ist.

Wohlgemerkt, das gilt dann für _jedes_ einzelne Bit, den Rest kann man sich ja dann selbst ausrechnen.
 
Du koenntest auch mal wipe versuchen, wenn Du sicher gehen moechtest- die man-page wirkt ein bisschen paranoid.
 
Es gibt eine Methode Platten nach irgend welchen NSA Regierungstandards mit einem Mangeten zu löschen. Diese Aparaturen wiegen aber über 70 KG, also kann man sich vorstellen was da am Werke ist, da kannst das Ding lieber aufmachen und im Laufen mit dem Schraubendreher Plattenspielernadel spielen, was so ziemlich zu 1000000% das sicherste ist.

dd if=/dev/zero of=/dev/hdX ist das einfachste, alles andere ist bei nicht dritten Weltkrieg auslösenden Daten sinnlos.
 

Ähnliche Themen

dd schneller platte befüllen

Festplatte-no valid journal superblock found

dev/zeo in ZIP umleiten. wie geht das??

Windows clients können nicht mehr auf lange laufendes System zugreifen

Festplatte stirbt, dd funktioniert nicht

Zurück
Oben