SMART 硬盘检测
使用 smartmontools 软件包提供的 smartctl
程序检测硬盘健康状况。
说明:
- 本文内容仅在 Ubuntu 20.04 系统上进行了验证
/dev/sda
是硬盘设备名的例子
安装 smartmontools¶
sudo apt install smartmontools
查看硬盘健康状况¶
要查看硬盘最近一次健康状况检测的结果,可执行命令:
sudo smartctl --health /dev/sda
如果检测结果是“通过”(PASSED),在输出里可以看到:
SMART overall-health self-assessment test result: PASSED
查看 SMART 信息的完整报告¶
执行:
sudo smartctl --all /dev/sda
执行自检¶
执行长检测(long),不限制检测时长:
sudo smartctl -t long /dev/sda
查看是否正在运行自检¶
方法一,使用 -c
选项可查看硬盘支持哪些 SMART 功能,如果正在运行自检,输出包含自检进度:
sudo smartctl -c /dev/sda
信息格式如下:
Self-test execution status: ( 249) Self-test routine in progress...
90% of test remaining.
方法二,smartctl
启动自检时会查重,如果已经在运行自检,会输出报错信息和当前的自检进度:
# smartctl -t long /dev/sda
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.4.0-88-generic] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Can't start self-test without aborting current test (90% remaining),
add '-t force' option to override, or run 'smartctl -X' to abort test.
提示¶
通过 smartctl
查询到的自检进度可能不准确,以长检测为例,在完成自检前查看进度始终是 90%,没有参考价值。
中止自检¶
执行:
sudo smartctl -X /dev/sda