在这篇文章中:
badblocks - search a device for bad blocks但是,当我试图将软件和硬件隔离开来时,我可能需要更多的上下文。
badblocks是否扫描软件(文件系统)或硬件(ssd)故障?还请参阅Ubuntu条目:https://manpages.ubuntu.com/manpages/focal/man8/badblocks.8.html
发布于 2022-04-26 23:15:29
答案在于对坏块的定义。工作定义可以是:
坏块是存储媒体的一个区域,因为它已经完全损坏或损坏,因此对于数据的存储不再可靠。
它不是与程序badblocks一起使用的最佳定义,而是给出了它的一般含义。
这是不正确的,因为它将区域(扇区)定义为受损区域。而且,从badblocks的角度看,不管该扇区是否损坏、损坏或烧毁,它只是试着读取块,如果存在错误检查和校正( ECC ),则该扇区被认为是坏的。
ECC是一种确保(大多数情况下)读取的内容是一致(且有效)的方法。它基于类似于加密的东西。
ECC错误可能是时间错误,尝试几次可能会发生错误清除。这在SSD中非常常见,因为存在物理扇区到逻辑扇区的(动态)映射。一旦扇区出现ECC错误并在以后被正确读取,磁盘芯片将用另一个扇区代替物理扇区。
一个扇区可能会出现错误,在下一次阅读时,完全没有问题。
一个更深层次的测试是用一些模式写入每个扇区,并确保读取的是模式本身。这将消除该部门的数据,但如果正确,该部门不仅可以读取,也可以写入。
因此,要回答你的具体问题:
badblocks程序将试图找出(反复)失败ECC的扇区,因此应该被认为是坏的。那是硬件故障。在badblocks检查磁盘并发现“正确”之后,仍然可能存在文件系统、操作系统或其他错误。
https://unix.stackexchange.com/questions/700510
复制相似问题