Linux 磁盘健康检查:用终端验证你的硬盘
一步步的终端检查清单:先排除空间和 inode 问题,再读取 SMART 自检结果,并查看每个进程的实时磁盘 I/O。
快速开始
I/O 变慢、系统卡顿或读取报错,可能来自正在损坏的硬盘——也可能只是更简单的原因。这份清单从代价最低的软件原因(空间占满、inode 耗尽、失控进程)查起,最后读取硬盘自身的 SMART 自评,让你清楚该继续排查软件还是准备换盘。
症状
先确认文件系统还有剩余空间
在深入检查硬盘硬件之前,先排除磁盘空间占满的情况——它的症状(卡顿、I/O 变慢)和硬盘故障很相似。运行检查后,确认所有挂载的文件系统使用率都没有达到 100%。如果某个分区满了,问题可能出在容量而不是健康状态。
排除 inode 耗尽的可能
文件系统可能还剩很多 GB 空间,却因为 inode 耗尽而无法创建新文件。查看 IUse% 列,如果接近 100%,说明问题在元数据而不是硬件。这一步可选,但能避免误判。
查询硬盘的 SMART 自检结果
这是健康检查的核心。硬盘固件会给出一句自评:PASSED 表示暂未检测到 SMART 故障,FAILED 表示硬盘已预测到故障,应立即备份并更换。如果拿不到 SMART 数据,请确认硬盘支持 SMART 且已安装 smartmontools。
smartctl -H 查询硬盘的 SMART 自检结果,一行输出 PASSED 或 FAILED。
$ sudo smartctl -H /dev/sda检查是否有进程在持续占用磁盘
即使硬盘本身健康,某个进程持续读写也会让系统显得很卡。观察几分钟实时 I/O:如果某个进程占主导,说明是负载问题而非硬件问题。如果 I/O 空闲但磁盘依然很慢,上面 SMART 的结果就更有参考价值。
记录 BIOS 版本以备后续排查
有些磁盘问题(硬盘无法识别、SATA 链路不稳定)会在固件更新中修复。记下当前的 BIOS 版本和主板型号,如果各项健康检查都正常但问题仍存在,可以对照厂商的更新页面排查。
dmidecode 读取 DMI 表,可查到准确的 BIOS 版本和主板型号,方便对照厂商更新页面。
$ sudo dmidecode -s bios-version && sudo dmidecode -t baseboard▾ 撤销
$ null如何确认已解决
正常的结果是:没有任何文件系统使用率达到 100%,inode 使用远低于上限,SMART 结论为 PASSED,且没有单个进程独占磁盘 I/O。
一键全部撤销
上面每一条命令都可以撤销。按此顺序执行即可全部还原。
$ null执行前请先确认——部分步骤之间可能并非相互独立。
来源
- df(1) — report file system disk space usage依据: The df man page documents '-h' / '--human-readable' as printing sizes in powers of 1024 with human-readable units like G.
- df(1) — Arch Manual Pages依据: Same coreutils page: --inodes reports inode usage per filesystem instead of block usage.
- df(1) — Debian bookworm依据: Documents -i, --inodes: list inode information instead of block usage, with IUsed/IFree/IUse% columns.
- smartctl(8) - Control and Monitor Utility for SMART Disks依据: -H, --health: prints the SMART health status of the device; smartctl monitors SMART data and reports device health.
- iotop(8) — Debian manpage依据: Debian manpage for iotop documents -o (only show processes actually doing I/O) and -a (accumulated I/O) options
- iotop(8) — Arch Linux manual依据: Arch manual describes iotop's --only (-o) option to show only processes or threads actually doing I/O
- dmidecode(8) — DMI table dumper依据: -s bios-version and -t baseboard extract DMI fields
- Kernel admin guide依据: background for firmware-related troubleshooting
最后验证: 2026-09-21