我一直在网上寻找源代码,但一直没有find关于Badblocks的官方文档 – 这是标准e2fsprogs的一部分。
我正在使用Badblocks来validation我购买的新驱动器,并且输出总是在:
Badblocks将数据写入扇区,然后返回并检查它是否正确写入,对所涉及的所有内容进行testing。 当写入的数据与读取的数据不匹配时,popup比较错误。
我的问题是 – 究竟是一个“读取错误”,究竟是什么“写入错误”? Badblocks如何确定这些故障? 新驱动器和旧驱动器可接受的阈值是多less?
如果驱动器在操作期间返回错误,则内核块层可以从驱动器返回写入或读取错误。 损坏错误是驱动器没有返回任何错误,但是写入和读取的数据不匹配。
后面的错误只能发生在写入破坏性或非破坏性的badblockstesting中,否则就没有什么可比的。
除非用于testing和暂存数据,或者至less可以轻松恢复的数据,否则不应该保留任何带有坏块的驱动器。 一些制造商也会用0个坏块替代一个驱动器,但是一些由SMART显示的重新分配的部分。 请参阅smartcts -a <dev> 。
我会担心,如果badblocks会输出以外的任何东西:
Pass completed, 0 bad blocks found (0/0/0 errors)
用于全新的驱动器。
对于使用的驱动器,这是另一回事。 您可能能够忍受一些坏块,但是如果驱动器在保修期内,您应该更换它。 请注意,大多数制造商要求您使用他们的工具进行testing,并给他们“失败代码”。
如果你不能让自己的testing失败,你可能不得不与他们争夺取代。 您可以先获取SMART摘要并将其发送给他们