需要存储完整性(写入/读取)测试 - 用于 BASH

需要存储完整性(写入/读取)测试 - 用于 BASH

需要 shell 脚本/bash 命令来验证本地硬盘、USB 驱动器的数据完整性,ETC, ...

就像著名的www.heise.de/download/h2testw;或者至少在存储库中常见的内容。 (h2testw 将特定的数据字符串反复写入介质,然后再次读取以验证写入是否正确,并显示写入/读取时间/速度。)

请不

 dd if=/dev/random of=/dev/sdx bs=1k && dd if=/dev/sdx of=/dev/null bs=1k

因为它不会验证是否所有内容都已正确写入。它仅测试设备是否成功读取/写入。

到目前为止,我不太满意

badblocks -w -v /dev/sdx1

因为它似乎相当慢,而且我不知道它到底写了什么,以及它是否考虑了闪存介质上的磨损均衡。

还有一个名为 F3 的程序http://oss.digirati.com.br/f3/需要编译。设计为 h2testw,这个概念听起来很有趣,我更希望它成为一个随时可用的 bash 脚本。

答案1

这不是 bash,但却badblocks是 *nix 下测试硬盘的相当流行的工具,并且和 一样普遍dd

手册页

-w 使用写入模式测试。使用此选项,badblocks 通过在设备的每个块上写入一些模式(0xaa、0x55、0xff、0x00)、读取每个块并比较内容来扫描坏块。此选项不能与 -n 选项结合使用,因为它们是互斥的。

您还可以运行非破坏性(-n)读写测试。

相关内容