0%

Linux系统中检测硬盘的健康状态

如没有安装smartmontools包,请先sudo pacman -S smartmontools。然后使用sudo fdisk -l命令列出系统中的分区信息。

使用sudo smartctl -H /dev/sda1命令显示指定设备的SMART整体健康自我评估测试结果。如果结果是...test result: PASSED,那么你的硬盘很健康,近期内不大可能发生硬件失效。

当怀疑设备存在坏块时,使用以下命令对指定分区检测坏块,并将结果写入指定文件(注, 使用参数-s将显示检测进度, 使用参数-v将显示输出检测到的错误)。

1
sudo badblocks -sv /dev/sda1 -o /root/badblocks_on_sda1.txt 

这个检测过程需要很久。。。我这个4T的硬盘估计要10小时吧。。。

1
2
正在检查从 0 到 3906983915的块
检查坏块(只读测试): 进度 7.92%,用时 36:37。(0/0/0 个错误)

作为临时措施,使用以下命令将坏块信息加入到设备的坏块列表(注:ext2/ext3/ext4文件系统使用e2fsck命令, 其它文件系统使用fsck命令)。 为长远考虑,建议尽快更换一块新的硬盘比较安全!

1
sudo e2fsck -l /root/badblocks_on_sda1.txt /dev/sda1 

另,也可以安装使用图形界面的GSmartControl软件来检测你的硬盘健康状态。