ubuntu 硬盘坏道的检测和修复

检测坏道 检查前确定你已经卸载要检查的磁盘,如果没用请umount 之。 对整个磁盘进行read-only检测:

sudo badblocks -s  -v -c 32 /dev/sdb

因为需要对磁盘进行检测,所以速度非常缓慢,在检测过程中注意不要断电,不要对硬盘进行任何操作,不要移除硬盘,不要物理损伤,不要震动等。

检测过程是可以中途终止,也可以指定区块重新开始。

sudo badblock -s -v -c 32  /dev/sd*   976762583 125637824 
#(注意此处结束区块在前,起始区块在后)
**badblocks 用法详细说明** 语 法:   badblocks [-svw][-b < 区块大小>][-o < 输出文件>][磁盘装置][磁盘区块数][启始区块] 参 数:   -b< 区块大小> 指定磁盘的区块大小,单位为字节。   -o< 输出文件> 将检查的结果写入指定的输出文件。   -c< 检查区块数目> 每一次检测区块的数目。默认值是16。增加这个数目可以增加检测 块的效率可同时也会增加内存的耗费。   -s 在检查时显示进度。   -v 执行时显示详细的信息。   -w 在检查时,执行写入测试。   [磁盘装置] 指定要检查的磁盘装置。   [磁盘区块数] 指定磁盘装置的区块总数。   [启始区块] 指定要从哪个区块开始检查。

修复坏道 如果只是逻辑坏道,你可以 直接fsck

fsck -a /dev/sdb

或者格式化

如果是物理坏道,那么兄弟你真的悲剧了。你需要 a.备份硬盘数据 b.删除所有硬盘分区 c.根据坏块位置以及大小,估算出所占空间。然后重新分区隔离损坏部分。btw:坏道是会扩散的,所以尽可能隔离掉多些空间。

参考:1.