将随机数据写入磁盘时如何计算校验和?

将随机数据写入磁盘时如何计算校验和?

我的磁盘可能已损坏。我想将随机数据写入磁盘,然后验证 md5 校验和。

我这样写入磁盘:

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

如何在写入磁盘的同时创建md5校验和?我想在 dd 完成时查看写入的随机数据的 md5 校验和。我还想查看写入磁盘时的进度。

我读过了帖子和我创建了这个命令:

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

问题是它填满了我的整个内存。我有 32GB 内存。

答案1

您可以使用标准扫描实用程序,而不是编写自己的解决方案。

badblocks -w -s /dev/sda

将扫描整个磁盘,将模式写入每个单独的块,然后读回该块并比较结果。扫描期间会显示进度。如果默认的单遍似乎不够,您还可以指定多次遍。

相关内容