使用smartctl检测硬盘坏道需先确认smart是否启用,通过smartctl -i /dev/sda查看,若未启用则运行smartctl -s on /dev/sda开启;2. 执行smartctl -h /dev/sda检查健康状态,passed表示正常,failed表示硬盘可能已损坏;3. 运行smartctl -a /dev/sda获取详细s.m.a.r.t.信息,重点监控reallocated_sector_ct、current_pending_sector、uncorrectable_error_count和offline_uncorrectable的raw_value值,若持续增长则存在潜在故障;4. 执行自检命令smartctl -t short/long/conveyance /dev/sda进行短检、长检或传输检,随后用smartctl -l selftest /dev/sda查看结果,失败则表明硬盘存在问题;5. 检测时避免硬盘高负载,建议多次测试比对关键参数变化,同时结合badblocks或厂商工具进一步排查坏道,nvme硬盘可使用相同命令但需注意参数差异并辅以厂商工具分析,该方法主要用于故障预警而非修复,完整检测流程可有效发现硬盘隐患,结论以综合判断为准。
用 smartctl 检测硬盘坏道是 Linux 下比较可靠的方法,它通过读取硬盘的 S.M.A.R.T. 信息来判断健康状态,虽然不能百分百直接定位所有物理坏道,但能发现潜在问题和早期预警。
先确认 SMART 是否启用
不是所有硬盘默认开启 SMART,所以第一步是检查并启用:
smartctl -i /dev/sda
查看输出中是否有
SMART support is: Enabled
smartctl -s on /dev/sda
查看硬盘健康状态
这是最直接的判断方式:
smartctl -H /dev/sda
输出
PASSED
FAILED
获取完整的 S.M.A.R.T. 信息
运行下面命令查看详细数据:
smartctl -a /dev/sda
重点看这几项:
Reallocated_Sector_Ct
Current_Pending_Sector
Uncorrectable_Error_Count
Offline_Uncorrectable
这些属性的“RAW_VALUE”列是关键,哪怕“WORST”或“THRESH”看起来还行,只要 RAW 值持续增长,就是危险信号。
执行硬盘自检
smartctl 支持几种自检方式,帮助发现潜在问题:
短自检(几分钟):
smartctl -t short /dev/sda
长自检(几小时,更彻底):
smartctl -t long /dev/sda
传输自检(只检查电子元件,不扫盘面):
smartctl -t conveyance /dev/sda
运行后可以用这个命令查看进度和结果:
smartctl -l selftest /dev/sda
测试结束后,结果会标明是否通过。失败的测试基本可以确定硬盘有问题。
补充建议
badblocks
基本上就这些,不复杂但容易忽略细节。
以上就是如何检测坏道 smartctl磁盘检查的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号