Answers:
我假设您是在谈论磁盘上的物理坏块,而不是关于损坏的文件系统。
要检查磁盘的物理状况,最好安装 smartmontools
sudo apt-get install smartmontools
之所以可行,是因为所有现代磁盘都使用称为SMART的系统记录其运行状况
使用smartctrl
命令读取此状态。例如,从第一个磁盘调用中读取所有属性
sudo smartctl --all /dev/sda
当心有关整体健康状况的话题。一旦这表明有错误,磁盘很可能很快就会发生故障。
SMART overall-health self-assessment test result: PASSED
您要检查的其他行是“待处理的扇区数”和“重新分配的扇区”。
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 48
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 2
重新分配的列表通常在原始字段中列出磁盘为工作备用扇区交换的坏扇区的数量。待处理的扇区可能会在下一次写入失败的情况下重新分配。
当模型支持时,您甚至可以触发磁盘的自检
sudo smartctl -t long /dev/sda
要强制检查所有扇区,请badblocks
在写入数据的模式下使用。请注意,即使通常可以安全地运行,它也会在磁盘上增加额外的负载,这可能会导致它们出现故障。始终备份您的数据。
sudo badblocks -svvn -c 262144 /dev/sda
如果您已通过这种方式完全处理了磁盘,则磁盘控制器应已将所有坏块替换为工作中的坏块,并且SMART日志中的重新分配计数将增加。
-c
一次测试的块的影响或数量是多少?换句话说,为什么与默认值64相比,您有这么大的值?