我正在使用 ubuntu 11.04。磁盘实用程序报告我的硬盘上有坏扇区。这可靠吗?
我怀疑它的报道是否准确,因为
- 当我在 Google 上搜索“ubuntu 磁盘实用程序坏扇区”时,我发现了这个错误: https://bugs.launchpad.net/ubuntu/+source/libatasmart/+bug/438136?comments=all
- 我已经使用制造商的工具(Seagate Seatools)扫描了该驱动器,并且没有报告任何错误
- 我使用其他几个工具扫描了驱动器,它们没有报告任何错误
- 运行 fdisk 和 ntfsfix 没有发现任何东西(除了 ntfsinfo 说我的 Windows 卷“已安排检查”)
磁盘实用程序在其他地方报告了一些疯狂的数字:读取错误率超过 6000 万(但仍然为绿色),寻道错误率超过 1500 亿(但仍然为绿色),硬件 ECC 恢复超过 8400 万(再次为绿色)。请参见以下屏幕截图:编辑:维基百科中有关 SMART 的条目对于每个属性都有这样的说明:“原始值对于不同的供应商具有不同的结构,并且作为十进制数通常没有意义。”
话虽如此,在过去的几年中,我的 Windows 分区已经多次无法启动(ntoskrnl.exe 丢失或损坏等),除了 Windows 相对不可靠之外,坏扇区也可以解释为什么它一直搞砸了。
确定驱动器是否真的有问题的最佳方法是什么?
答案1
是的,它是可靠的。运行sudo badblocks -b 512 /dev/sda
扫描磁盘并找到坏扇区的位置。它将显示坏扇区的编号。然后您可以使用以下命令进行验证:
sudo dd if=/dev/sda of=/dev/null iflag=direct bs=512 skip=sector_number count=1
确保你输入的命令与所述完全一致,并使用 badblocks 中正确的 sector_number。这应该会失败并出现 IO 错误(因为扇区是坏的)。如果没有,那么你出了问题。如果是,那么你可以继续尝试修复坏扇区:
sudo dd if=/dev/zero of=/dev/sda oflag=direct bs=512 seek=sector_number count=1
之后,再次检查 SMART 状态,pending_count 应该已经下降。如果 reallocated_count 仍为零,则磁盘没有问题。
答案2
我发现磁盘实用程序相当准确。当它报告坏扇区时,它包括待处理的扇区。例如,您可能有 2 个待处理的扇区(性能较差的扇区),它会告诉您有几个坏扇区。
“一些”这个说法也不是很明确,与磁盘大小有关。例如,一个 4GB 的磁盘有 53 个“故障扇区”,则处于危急状态。(恕我直言)而一个更大的磁盘,扇区越多,可能出现故障的扇区也就越多。磁盘不会对这些情况进行分析,它只是报告传感器数据。
当磁盘无法及时响应启动时,失败或待处理的 MBR 扇区可能会导致启动问题。