跳转至

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