此硬盘错误消息是什么意思:“当前挂起的扇区数……”?

Rev*_*rse 6 hard-disk error-handling

我从 Linux Mint 上的磁盘实用程序中获取了这些信息:

Current Pending Sector Count:

Normalized: 200
Worst:      200
Threshold:  0
Value:      22 sectors
Run Code Online (Sandbox Code Playgroud)

这是什么意思?是否有可能修复该错误?

psu*_*usi 8

这意味着有 22 个扇区无法读取。下次写入这些扇区时,如果无法正确写入,它们将被重新映射到备用扇区。您可以使用该badblocks实用程序来定位坏扇区,并dd写入它们:

sudo badblocks -b 512 /dev/sda
Run Code Online (Sandbox Code Playgroud)

对于列出的每个扇区,首先验证它不能被读取:

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

这应该会因 IO 错误而失败。如果是,请继续编写:

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

使用 badblocks 为 [sector] 给出的扇区号。执行此操作后,再次检查 SMART 统计数据,待处理计数应为零。如果写入失败并且扇区从备用池中重新分配,重新分配的计数可能会增加。如果发生这种情况,您可能需要更换磁盘。如果没有,那么一切都已修复。


Dav*_*rtz 4

当前待处理扇区计数是磁盘当前正在跟踪但无法读取的扇区数。幸运的话,它们将被写入,然后磁盘将重新映射它们。但在成功读取它们或计算机尝试写入它们之前,它无能为力。这可能是更多问题即将出现的迹象。

您可以在维基百科上阅读有关SMART 的更多信息。