我如何知道硬盘上坏道的数量?


10

我知道如何检查/维修硬盘,但是我不知道如何查看硬盘上坏扇区的数量。

PS看来我的硬盘驱动器很快就会死:-(

Answers:


12

在Linux中,有两种检测坏道的方法:可以使用磁盘实用程序(gui),或者可以使用badblocks命令检查硬盘中的坏道:

sudo badblocks -v /dev/{device}

那应该可以回答这个问题,但是对于其他对如何标记它们感兴趣的人,可以使用2个简单的命令来完成...

您将坏块添加到文件中...

sudo badblocks /dev/sdb > {/dir/to/filename}

然后告诉fsck将它们标记为无法使用...

sudo fsck -l {/dir/to/filename} /dev/{device}

2
似乎e2fsck有一个-c可以badblocks自我调用并照顾块大小的选项。如果您按照自己的方式做,显然必须非常小心以确保它们匹配。
Martin Ueding 2014年

3
badblocks+ fsck标记坏块可能很危险。来自badblocks手册页:“重要说明:如果将坏块的输出馈送到e2fsck或mke2fs程序,则正确指定块大小非常重要,因为生成的块号非常取决于块大小因此,强烈建议用户不要直接运行badblocks,而应使用e2fsck和mke2fs程序的-c选项。” 参见@ john-mehorter答案。
sierrasdetandil

谢谢,我只是在昨天才对此感到疑惑。+1
WinEunuuchs2Unix

8

例如,使用fsck.ext3(e2fsck)并使用-cc选项

-c     This option causes e2fsck to use badblocks(8) program to do a read-only scan of the device in  order  to  find  any  bad
          blocks.   If  any  bad blocks are found, they are added to the bad block inode to prevent them from being allocated to a
          file or directory.  If this option is specified twice, then the bad block scan will  be  done  using  a  non-destructive
          read-write test.`

fsck -cc / dev / sda1


1
过去几年,我已经读过好几次了,但我不知道什么是无损检测。它不会更改磁盘中的任何内容吗?仅提供信息吗?
罗伯特·维拉

我假设它将尝试在每个块中写入,但是会再次写回原始数据。
Martin Ueding 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.