Wenn ich den folgenden Befehl ausgebe, um eine Festplatte vollständig zu löschen, wird der Vorgang dann automatisch beendet, wenn die Festplatte voll ist, oder muss ich die count
Option angeben?:
sudo dd if=/dev/zero of=/dev/disk7 bs=64m
Ich sollte dieses Betriebssystem OS X 10.9 erwähnen.
Antwort1
eine Festplatte vollständig löschen
Wenn Ihr Ziel darin besteht, eine mechanische Festplatte (HDD) herzustellensichergelöscht, so dass es auch prinzipiell unmöglich ist, dass jemand darauf zugreift und die Daten wiederherstellt, Sie sollten es nicht /dev/zero
als Quelle verwenden und Sie sollten es mehr als einmal überschreiben. SieheWikipediaUndÜber uns.
Wenn Ihnen die Sicherheit egal ist, /dev/zero
ist das in Ordnung. Das bloße Einrichten einer neuen Partitionstabelle auf dem Gerät reicht jedoch auch aus.
Ich sehe wirklich keinen sinnvollen Anwendungsfall für das Schreiben /dev/zero
auf physische Medien, weil:
- Es ist zu unsicher, wenn Ihnen Sicherheit wichtig ist;
- Wenn Sie das nicht tun, dauert es zu lange und verschwendet Zeit und Schreibzyklen (denn Sie können alle Datenstrukturen auf der Festplatte einfach durch neue überschreiben, sodass nur ein Datenwiederherstellungsprogramm eine Chance hätte, Fragmente der alten Daten wiederherzustellen. Das ist aber in Ordnung, denn Sie haben gerade gesagt, dass Ihnen Sicherheit egal ist. Falls doch, sollten Sie das hier nicht lesen).
automatisch stoppen
Natürlich. Was glauben Sie, wird es tun? Weiter in die nächste Datei schreiben?
Sie geben die Option ausdrücklich an of
, die „Ausgabedatei“ bedeutet. Dadurch wird das Blockgerät geöffnet und geschrieben, bis das Ende des Blockgeräts erreicht ist. Anschließend wird das Programm beendet. Dies ist ein normales Verhalten für dd
.
muss ich die
count
Option angeben?
Sie würden das nur tun, wenn Sie möchten, dass der Schreibvorgang irgendwann vor dem Erreichen des Endes des Blockgeräts beendet wird, oder wenn Sie in eine normale Datei schreiben (also nicht auf ein Blockgerät) und Sie möchten, dass der Schreibvorgang beendet wird, bevor das Dateisystem, in dem sich die Datei befindet, voll ist.
Einige abschließende Bemerkungen:
- Dieses Verhalten ist nicht spezifisch für (eine bestimmte Version von) OS X oder sogar für OS X. Es funktioniert genauso unter Linux, Android, den BSDs und wahrscheinlich anderen, die POSIX-Standards implementieren.
- Sie hätten Ihre Frage auch selbst beantworten können, indem Sie eine kleine (2 MB) Image-Datei erstellt und
dd
diese nach dem Mounten auf einem Loopback-Gerät verwendet und dann ausgeführt hättendd
. - Es ist zu beachten, dass ohne
count
Angabe,dd
wird gestoppt, wennder ersteeine der folgenden Bedingungen eintritt: Entwederif
gibt (Eingabedatei) einEOF
(Dateiende) aus oder das Betriebssystem gibt ein Signal aus, das anzeigt, dass der letzte Block vonof
(Ausgabedatei) erreicht wurde.
Antwort2
Es wird gestoppt, wenn die Festplatte voll ist