ディスクにランダムなデータを書き込むときにチェックサムを計算する方法は?

ディスクにランダムなデータを書き込むときにチェックサムを計算する方法は?

私のディスクが破損している可能性があります。ディスクにランダムなデータを書き込んでから、md5チェックサムを確認したいと思います。

私は次のようにディスクに書き込みます。

dd if=/dev/urandom of=/dev/sda bs=4M status=progress

ディスクへの書き込み中にmd5チェックサムを作成する方法は? ddが完了したときに作成されたランダムデータのmd5チェックサムを見たいです。また、ディスクへの書き込み中に進捗状況を見たいと思います。

私が読んでこれ投稿を作成し、次のコマンドを作成しました。

pv /dev/urandom >(md5sum) > /dev/sdXXX

問題はそれが私の記憶全体をいっぱいにするということです。 32GBのRAMがあります。

答え1

独自のソリューションを作成する代わりに、標準のスキャンユーティリティを使用できます。

badblocks -w -s /dev/sda

ディスク全体をスキャンし、パターンを各個々のブロックに書き込んでから、ブロックを再読み込みして結果を比較します。スキャン中に進行状況が表示されます。デフォルトのシングルパスが十分でない場合は、マルチパスを指定することもできます。

関連情報