Ich sehe hier vier brauchbare Antworten:
Die von garethTheRed bereitgestelltehdparm
Methode ist wahrscheinlich die beste, wenn Sie direkt mit Ihrem Computer verbunden sind. Wenn Sie versuchen, es über USB anzuschließen, können Sie Ihr Laufwerk anscheinend blockieren. Wenn Sie dies für ein Laufwerk tun, über das Sie gleich verfügen, ist dies möglicherweise eine gute Sache. Sie möchten jedoch wahrscheinlich das Löschen sichern, bevor Sie es verwerfen.
Die Technik von imz - Ivan Zakharyaschev beschriebene wird funktionieren, kann aber sehr langsam sein. Ich würde vorschlagen, wenn Sie nicht möchten, dass die Daten wiederhergestellt werden können, verwenden Sie /dev/urandom
statt /dev/zero
; z.B,
dd iflag=fullblock oflag=direct conv=noerror,notrunc if=/dev/urandom of=/dev/sdX
Ich würde gegen folgendes raten. Wenden Sie für etwas Schnelleres, das dasselbe bewirkt, die von maxschlepzig angegebene Technik an (in der Frage):
ddrescue --verbose --force --nosplit /dev/urandom /dev/sdX
Dies ist schneller als der dd
Befehl, aber nicht so schnell wie der hdparm
Befehl. Siehe unten, warum ich das nicht empfehle ...
Der badblocks
Befehl funktioniert auch, aber Sie können die Daten nicht auf diese Weise zufällig auswählen, und es wird wieder sehr langsam.
Schließlich wäre es mir ein Rätsel, wenn ich nicht auf den Hauptgrund hinweisen würde, warum Leute eine Diskette vollständig löschen wollen, wenn sie im Begriff sind, sie zu entsorgen. Wenn Sie dies noch nicht getan haben, können Sie zunächst versuchen, die Festplatte wiederherzustellen. Wenn Sie einen Block lesen und der E / A-Fehler zurückgegeben wird, versucht die Festplatte beim nächsten Schreiben in denselben Block, einen anderen Block aus einer Reserveliste neu zuzuweisen. Sobald die Reserveliste voll ist, erhalten Sie E / A-Fehler beim Schreiben. Dann sollten Sie das Laufwerk wirklich verwerfen.
Sie können also etwas Einfaches tun wie:
dd if=/dev/sdX of=/dev/null conv=noerror
Und dann, um die schlechten Blöcke umzuschreiben, nur so etwas wie:
dd if=/dev/zero of=/dev/sdX bs=128k
Wenn dieser Befehl funktioniert und Sie mutig sind, können Sie Ihre Festplatte neu formatieren und erneut verwenden.
Alternativ können Sie den badblocks
Befehl zweimal auf der Festplatte ausführen . Beim zweiten Mal sollte es keine fehlerhaften Blöcke melden ...
badblocks -v -s -w -t random /dev/sdX
badblocks -v -s -w -t random /dev/sdX
Dies dauert länger, ist aber zuverlässiger.
Es ist auch erwähnenswert, dass keine der Techniken wirklich ein sicheres Löschen bewirkt, mit Ausnahme der hdparm
Befehl. Erinnerst du dich an all die schlechten Blöcke? Bei diesen sind einige Ihrer ursprünglichen Daten größtenteils noch intakt. Ein Datenwiederherstellungsexperte könnte auf diese zugreifen, um einen kleinen Teil der Daten zu sehen, die sich zuvor auf Ihrer Festplatte befanden.
In Bezug auf ddrescue und warum ich davon abrate, habe ich das folgende Gegenmittel:
Das Problem ist, dass ddrescure zu gut darin ist, Fehler zu ignorieren. Ich hatte eine Festplatte, die durchweg mit einer Schreibgeschwindigkeit von etwa 102 GB abfiel, und fing an, bei 238 GB Schreibfehler zu erzeugen. Ich war ziemlich beeindruckt, dass ddrescue weiterhin mit konstanter Geschwindigkeit durch die Festplatte lief und sogar keine Fehler meldete. 17 Stunden später, als es bei den 1300 GB war, als ich zufällig bemerkte, dass die Laufwerksanzeige selbst aufhörte zu blinken. Eine schnelle Überprüfung ergab, dass das gesamte USB-Gehäuse offline gegangen war. Ich zog die Festplatte aus der Ladestation. Ich bemerkte, dass ddrescue nur freudig mitteilte, dass es immer noch fehlerfrei kopiert wurde, selbst mit der Festplatte in meinen Händen. Ich steckte die Festplatte in einen anderen Computer und stellte fest, dass es sich nun um einen Ziegelstein handelte.
Ich beschuldige ddrescue nicht, das Laufwerk zu einem Ziegelstein gemacht zu haben. Die Festplatte war defekt und würde zu einem Ziegel werden. Ich finde nur störend, dass ddrescue nicht einmal die Anzahl der Schreibfehler angibt, die ignoriert werden. Bei dieser Verwendung lässt ddrescue den Eindruck entstehen, dass es unabhängig von allen Schreibfehlern vollständig erfolgreich war. Tatsache ist, dass es nicht möglich gewesen sein sollte, im Abschnitt mit der Verlangsamung mit voller Geschwindigkeit weiterzumachen. Der Grund dafür, dass der Abschnitt langsam war, ist, dass viele Blöcke vom Laufwerk verschoben wurden, was beim Zugriff auf diesen Abschnitt viele Suchanfragen verursachte. Dies ist wahrscheinlich der Zeitpunkt, an dem die Ausgabe von ddrescue fiktiv wurde.
dd conv=noerror
könnte eine GNU-Erweiterung sein, da bin ich mir nicht sicher. In jedem Fall sollte es den Trick tun. Es lohnt sich jedoch, die SATA-Antwort "Das Laufwerk zum Löschen an sich" zu lesen, um ganze Laufwerke zu löschen.