![badblocks 找不到任何坏块](https://linux22.com/image/135443/badblocks%20%E6%89%BE%E4%B8%8D%E5%88%B0%E4%BB%BB%E4%BD%95%E5%9D%8F%E5%9D%97.png)
我有一个外部 USB WD 磁盘(物理和逻辑块大小为 512),它在某些 LBA 的智能中报告自检失败。我尝试使用坏块来定位所有失败的扇区/块,但无论使用或不使用 -w 选项,它总是以“通过完成,发现 0 个坏块(0/0/0 错误)”完成测试。
这是否意味着坏块可能会遗漏一些错误?
答案1
除非您有能够在 SCSI 级别访问磁盘的实用程序,否则正常的磁盘读取几乎无法完成。
如果您希望能够找到坏块,则需要能够从磁盘控制器硬件访问内部纠错数据。 SCSIverify
命令可以执行此操作,但普通读取则不能。
请注意,以前,出现位错误的扇区被称为坏块,但自从 1992 年 IBM Stuttgart 制造出第一块具有动态前向纠错功能的磁盘以来,坏块就是具有一定数量的位错误的块,该数量接近于最大可校正。
1992 年之前,正常读取可以找到坏块,许多人似乎认为这仍然有效,那么您的程序到底是做什么的?
答案2
这是否意味着坏块可能会遗漏一些错误?
不必要。badblocks
将看不到磁盘已确定已损坏且已损坏的任何块重新映射。