磁盘工具可靠吗?

bma*_*pin 7 hard-drive disk-management smart

我正在使用 ubuntu 11.04。磁盘实用程序报告我的硬盘驱动器上有一个坏扇区。这可靠吗?

我怀疑它是否准确报告,因为

  1. 当我在 google 上搜索“ubuntu 磁盘实用程序坏扇区”时,它把我带到了这个错误:https : //bugs.launchpad.net/ubuntu/+source/libatasmart/+bug/438136?comments=all
  2. 我已经使用制造商的工具 (Seagate Seatools) 扫描了驱动器,但没有报告任何错误
  3. 我用其他几个工具扫描了驱动器,他们没有报告任何错误
  4. 运行 fdisk 和 ntfsfix 没有找到任何东西(除了 ntfsinfo 说我的 windows 卷被“安排检查”)
  5. 磁盘工具在其他地方报告了一些疯狂的数字:读取错误率超过 6000 万(仍然是绿色),寻道错误率超过 1500 亿(仍然是绿色),恢复的硬件 ECC 超过 8400 万(再次是绿色) )。看这些截图:

    编辑:维基百科的 SMART 条目对这些属性中的每一个都有这样的说法:“原始值对于不同的供应商具有不同的结构,并且通常作为十进制数没有意义。”

    IM1

    IM2

说了这么多,我的 windows 分区在过去几年中多次变得无法启动(ntoskrnl.exe 丢失或损坏等),除了 windows 相对不可靠的事实,坏扇区可以解释为什么它总是搞砸.

确定驱动器是否真的有问题的最佳方法是什么?

psu*_*usi 5

是的,它是可靠的。运行sudo badblocks -b 512 /dev/sda扫描磁盘并找到坏扇区。它将显示坏扇区的数量。然后,您可以使用以下方法进行验证:

sudo dd if=/dev/sda of=/dev/null iflag=direct bs=512 skip=sector_number count=1
Run Code Online (Sandbox Code Playgroud)

确保您完全按照说明键入命令,使用来自坏块的正确扇区编号。这应该会因 IO 错误而失败(因为扇区坏了)。如果没有,那么你就错了。如果是,那么您可以继续尝试修复坏扇区:

sudo dd if=/dev/zero of=/dev/sda oflag=direct bs=512 seek=sector_number count=1
Run Code Online (Sandbox Code Playgroud)

之后,再次检查 SMART 状态,pending_count 应该已经下降了。如果 reallocated_count 仍然为零,则磁盘没问题。