
Das /dev/zero
Löschen einer Festplatte ist sehr langsam, daher verwende ich eine vorbereitete 1-GB-Datei mit zufälligen Zahlen oder Nullen.
Aber wie kann ich diese Datei mit loopen dd
?
dd if=loopfile of /dev/sdx
Antwort1
/dev/zero
ist überhaupt nicht langsam, vielleicht brauchen Sie nur dd bs=1M
. Sollte mehrere Gigabyte pro Sekunde schaffen, also ist die HDD/SSD der Engpass.
# dd bs=1M status=progress if=/dev/zero of=/dev/null
234309550080 bytes (234 GB, 218 GiB) copied, 11 s, 21.3 GB/s
Oder gehen Sie einfach mit shred
.
# shred -v -n 1 /dev/eraseme
Das sollte mit (pseudo)zufälligen Daten bei voller Festplattengeschwindigkeit funktionieren. Wenn es Null sein muss, dann ist es -n 0 -z
aber mit (pseudo)zufälligen shred
Daten nicht schneller als mit zufälligen Daten.
Antwort2
Das Problem für Sie besteht darin, dass die Standardblockgröße dd
512 Byte beträgt, also zwei Systemaufrufe und zwei IO-Anfragen pro KB. Davon haben Sie zwei Millionen pro GB; kein Wunder, dass es langsam ist.
Verwenden Sie nicht
dd
. Verwenden Siecat
(in vielen Situationen ist es viel schneller und selten, wenn überhaupt, langsamer):cat /dev/zero >/dev/sdX
Wenn Sie unbedingt verwenden müssen
dd
, erhöhen Sie die Blockgröße auf einen sinnvollen Wert:dd if=/dev/zero bs=32M of=/dev/sdX
Wenn Sie versuchen, die Festplatte mit pseudozufälligen Daten zu löschen, berücksichtigen SieDBANmit einem einzigen Durchgang. (Keine Sorge mit Multi-Pass; entweder reicht ein Durchgang oder Sie brauchen einenHammer.)