を使用して/dev/zero
HDD を消去すると非常に時間がかかるため、ランダムまたはゼロを含む 1 GB の準備済みファイルを使用します。
しかし、このファイルをどうやってループすればいいのでしょうかdd
?
dd if=loopfile of /dev/sdx
答え1
/dev/zero
まったく遅くないので、必要なのは だけかもしれませんdd bs=1M
。1 秒あたり数ギガバイトの処理が必要なので、HDD/SSD がボトルネックになります。
# dd bs=1M status=progress if=/dev/zero of=/dev/null
234309550080 bytes (234 GB, 218 GiB) copied, 11 s, 21.3 GB/s
または、 を選択してくださいshred
。
# shred -v -n 1 /dev/eraseme
これは、(疑似)ランダム データを HDD のフル スピードで処理できるはずです。ゼロにする必要がある場合でも-n 0 -z
、shred
ランダム データより高速になることはありません。
答え2
ここで問題となるのは、デフォルトのブロック サイズがdd
512 バイトであるため、1 KB あたり 2 回のシステム コールと 2 回の IO 要求が発生することです。1 GB あたり 200 万回発生するので、遅くなるのも当然です。