直接用smartctl -t short命令启动短自检,耗时约2分钟、不破坏数据、适合日常筛查;需先确认磁盘已识别且smart启用,执行后检查selftest日志状态及reallocated_sector_ct等三项关键属性值是否为0以综合判断坏道风险。

直接用 smartctl -t short 命令就能启动短自检,它不破坏数据、耗时短(通常2分钟内),适合日常快速筛查潜在坏道。
确认磁盘设备并启用SMART
先确保目标磁盘已识别且SMART功能开启:
- 运行
sudo lsblk -d -o NAME,MODEL,ROTA,TRAN找出待测磁盘,如/dev/sda(HDD)或/dev/nvme0n1(NVMe) - 对SATA/SAS盘执行
sudo smartctl -i /dev/sda,检查输出中是否含SMART support is: Enabled - 若显示
Disabled,需手动开启:sudo smartctl -s on /dev/sda - NVMe盘需加
-d nvme参数,例如:sudo smartctl -i -d nvme /dev/nvme0n1
执行短自检并查看结果
短自检只扫描关键区域(如文件系统元数据区),不会影响正常读写,但需避免磁盘正被dd、rsync或挂载为根分区占用:
- 发起测试:
sudo smartctl -t short /dev/sda - 等待约2分钟,再执行
sudo smartctl -l selftest /dev/sda查看日志 - 关注最后一行状态:若显示
Completed without error表示未发现可检测坏道;若为Aborted by host或Failed,说明存在异常扇区 - 也可用
sudo smartctl -a /dev/sda | grep "Self-test execution status"快速确认当前执行状态
结合SMART属性交叉判断坏道风险
短自检通过不代表磁盘绝对健康,需同步检查关键SMART值:
- 运行
sudo smartctl -a /dev/sda(SATA)或sudo smartctl -a -d nvme /dev/nvme0n1(NVMe) - 重点看三项:
• Reallocated_Sector_Ct(ID 5):>0 表示已有物理坏道被重映射
• Current_Pending_Sector(ID 197):>0 是高危信号,说明有扇区读写不稳定
• Offline_Uncorrect(ID 198):>0 意味着后台校验也失败,基本不可恢复 - 若这三项均为0且短自检通过,可初步认为当前无活跃坏道
注意事项与常见问题
短自检虽轻量,但仍有几个关键点容易踩坑:
- 部分老旧USB-SATA转接器或某些RAID卡不支持自检命令,执行前可用
sudo smartctl -c /dev/sda查看设备支持的测试类型 - 测试中若提示
Device or resource busy,说明磁盘正被占用,需先卸载分区或停止相关服务 - SSD上短自检意义有限,更应关注
Media_Wearout_Indicator(ID 233)和Available_Reserve_Space(ID 234) - 不要在数据库高负载时段频繁执行,虽为后台模式,仍可能轻微影响I/O响应











