smartctl 是 Linux 下最可靠轻量的硬盘健康检测工具,通过 -H 参数判断整体状态,PASSED 表示无已知严重问题,FAILED 需立即备份更换;结合 -A 查看重映射扇区、待映射扇区、不可纠正错误等关键指标,并可用 -t short/long 触发自检及 -l selftest/error 查阅日志。

直接用 smartctl 查看硬盘是否“还在稳住”,是 Linux 下最可靠、最轻量的硬件健康判断方式。它不依赖文件系统,也不需要拆机,只要磁盘支持 SMART(绝大多数 SATA、SAS、NVMe 都支持),就能读出底层硬件状态。
确认磁盘设备名和类型
先别急着跑 smartctl,得知道你要查的是哪块盘、是什么接口:
- 运行
lsblk -d -o name,rota,tran,model,快速区分:-
tran: ata→ 普通 SATA 硬盘/SSD(如/dev/sda) -
tran: nvme→ NVMe SSD(如/dev/nvme0n1),需加-d nvme参数 -
tran: usb→ USB 移动盘,多数不支持 SMART,smartctl很可能报 “unavailable”
-
- 避免误操作:确认设备名后,建议加
sudo smartctl -i /dev/sdx先看基本信息,验证是否识别成功、SMART 是否已启用。
快速判断健康状态
这是日常巡检最该看的一行结果:
-
sudo smartctl -H /dev/sdx(SATA/SAS)或sudo smartctl -H -d nvme /dev/nvme0n1(NVMe) - 只关注输出中这一句:
SMART overall-health self-assessment test result: PASSED → 当前无已知严重问题
FAILED → 硬件已确认异常,立即备份,准备更换 - 注意:“PASSED” 不等于“永远安全”。很多早期故障(如少量重映射扇区、温度反复超标)不会触发 FAILED,必须结合详细属性进一步分析。
查看关键健康指标
执行 sudo smartctl -A /dev/sdx(NVMe 加 -d nvme),重点关注这几项原始值(Raw Value):
- Reallocated_Sector_Ct:重映射扇区数。非零即风险,数值上升说明物理介质开始损坏。
- Current_Pending_Sector:待映射扇区。大于 0 表示有扇区读写出错但尚未重映射,是坏道前兆,需高度警惕。
- Uncorrect(或 Uncorrectable_Error_Count):不可纠正错误数。持续增长意味着 ECC 失效,数据完整性已受威胁。
- Temperature_Celsius:当前温度。长期高于 60°C(SSD)或 50°C(HDD)会加速老化;突然飙升可能预示散热或固件异常。
- Power_On_Hours:通电时间。结合厂商标称寿命(如 SSD 标称 3000 小时写入寿命),可辅助评估剩余寿命。
主动触发自检与查错日志
SMART 自检不是“体检报告”,而是让磁盘自己跑一遍内部诊断流程:
- 短自检(1–2 分钟):
sudo smartctl -t short /dev/sdx - 长自检(几十分钟到数小时):
sudo smartctl -t long /dev/sdx,适合空闲时段执行 - 查看进度与结果:
sudo smartctl -l selftest /dev/sdx - 查看历史错误记录:
sudo smartctl -l error /dev/sdx,尤其留意 “Media Error” 和 “Hardware Error” 条目











