dd loop input ファイルを出力デバイスに入力しますか?

dd loop input ファイルを出力デバイスに入力しますか?

を使用して/dev/zeroHDD を消去すると非常に時間がかかるため、ランダムまたはゼロを含む 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 -zshredランダム データより高速になることはありません。

答え2

ここで問題となるのは、デフォルトのブロック サイズがdd512 バイトであるため、1 KB あたり 2 回のシステム コールと 2 回の IO 要求が発生することです。1 GB あたり 200 万回発生するので、遅くなるのも当然です。

  • を使用しないでくださいdd。 を使用してくださいcat(多くの場合、はるかに高速であり、遅くなることはほとんどありません)。

    cat /dev/zero >/dev/sdX
    
  • どうしても を使用する必要がある場合はdd、ブロックサイズを合理的な値に増やします。

    dd if=/dev/zero bs=32M of=/dev/sdX
    
  • 疑似ランダムデータでディスクを消去しようとしている場合は、DBAN1回のパスで完了します。(複数回のパスは必要ありません。1回のパスで十分か、ハンマー

関連情報