从联机帮助页:
badblocks - search a device for bad blocks
但当我尝试隔离软件和硬件时,我可能需要更多背景信息。
是否badblocks
扫描软件(文件系统)或硬件(SSD)故障?
另请参阅 Ubuntu 联机帮助页条目:https://manpages.ubuntu.com/manpages/focal/man8/badblocks.8.html
答案1
答案在于坏块的定义。 A工作定义或许:
坏块是由于完全损坏或损坏而不再可靠地存储数据的存储介质区域。
它不是与程序一起使用的最佳定义badblocks
,但给出了其含义的一般概念。
这是不正确的,因为它将区域(扇区)定义为损坏。而且,从角度来看,badblocks
扇区是否损坏、损坏或烧毁并不重要,它只是尝试读取该块,并且,如果有 ECC(错误检查和纠正),则该扇区被视为坏扇区。
ECC 是一种确保(大多数情况下)读取的内容一致(且有效)的方法。它基于类似于加密的东西。
ECC 错误可能是暂时的,尝试几次可能会发生错误被清除的情况。这在 SSD 中很常见,因为存在物理扇区到逻辑扇区的(动态)映射。一旦某个扇区出现 ECC 错误并随后成功正确读取,磁盘芯片就会用另一个扇区替换该物理扇区。
某个扇区可能会出错,但在下次读取时,就完全没问题了。
更深入的测试是用一些模式写入每个扇区,并确保读回的是模式本身。那会擦除扇区上的数据,但如果正确,该扇区不仅可以读取,还可以写入。
因此,回答您的具体问题:
- 该程序
badblocks
将尝试查找(反复)未通过 ECC 并因此应被视为不良的扇区。那是硬件故障。
在检查磁盘badblocks
并发现“正确”后,仍然可能存在文件系统、操作系统或其他错误。