在我出售旧硬盘之前,我会完全读取和写入磁盘以验证它没有坏扇区。
我总是这样写:
dd if=/dev/zero of=/dev/sdb bs=100M status=progress
但我的电脑有 32GB RAM,当 dd 退出时,很多数据可能在缓存中。
有没有办法查看操作系统何时无法将缓存写入磁盘(dd 终止后)?
dd 在退出之前刷新缓存的正确选项是什么?同步、fsync 还是 fdatasync?
请不要推荐磁盘检查工具。 dd 对我来说就足够了。
答案1
尽管您特别要求不推荐磁盘检查工具,但我会这样做,并在此推荐:磁盘本身。您可以要求驱动器执行彻底的内部自检,消除有关缓存的所有可能的问题来源。可以通过以下方式方便地进行自检gsmartcontrol
:
如果你真的不想要这个,你仍然应该考虑使用像F3。它不仅会检查数据是否可以写入,还会检查写入的数据之后是否可以读取(我认为这是存储介质更重要的功能)。
使用 dd 的conv=fdatasync
dd 不会在写入最后一个块之前终止。