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)
这是什么意思?是否有可能修复该错误?
这意味着有 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 统计数据,待处理计数应为零。如果写入失败并且扇区从备用池中重新分配,重新分配的计数可能会增加。如果发生这种情况,您可能需要更换磁盘。如果没有,那么一切都已修复。