硬盘是比較easy坏掉的设备,使用一段时间后可能会出现坏道等物理故障。
当硬盘出现坏道后,若不及时更换或者进行技术上的处理,磁盘的坏道就会越来越多,并会造成频繁死机和数据丢失。
最好的处理方法是更换新的磁盘。在暂时的情况下,我们应及时屏蔽坏道部分的扇区,不要触动它们。
badblocks是一个检查磁盘是否有坏道的工具,能够以读的方式检查,也能够以写的方式检查。
这里,我使用
badblocks -v /dev/sda
检查是否有坏道。检查结果未出错
badblocks的參数选项
-b blocksize
指定磁盘的区块大小。单位为字节,默认值为“block 4K ”(4K/block)
-c blocksize
每一个区块检查的次数,默认是16次
-f
强制在一个已经挂载的设备上运行读写或非破坏性的写測试操作
(我们建议先umount设备。然后再进行坏道检測。
仅当/etc/mtab出现误报设备挂载错误的时候能够使用该选项)
-i file
跳过已经显示在file文件里的坏道。而不进行检測(能够避免反复检測)
-o file
把检測结果输出到file文件
-p number
反复搜寻设备。直到在指定通过次数内都没有找到新的坏块位置。默认次数为0
-s
在检查时显示运行进度
-t pattern
通过按指定的模式读写来检測区块。你能够指定一个0到ULONG_MAX-1的十进制正值。或使用random(随机)。
假设你指定多个模式,badblocks将使用第一个模式检測全部的区块,然后再使用下一个模式检測全部的区块。
Read-only方式仅接受一个模式,它不能接受random模式的。
-v
运行时显示具体的信息
-w
对每一个区块都先写入。然后再从它读取信息
[device]
指定要检查的磁盘装置。
[last-block]
指定磁盘装置的区块总数。
[start-block]
指定要从哪个区块開始检查