hddtemp可直接读取SATA/IDE机械硬盘温度,需硬盘支持SMART且接口通信正常;安装后执行sudo hddtemp /dev/sda即可显示如“/dev/sda: WDC WD10EZEX-00BN5A0: 38°C”的结果。

直接用 hddtemp 查机械硬盘温度,前提是硬盘支持 S.M.A.R.T. 且接口能正常通信(SATA/IDE 基本都支持,NVMe 不支持,SCSI 需确认)。
安装 hddtemp 工具
大多数发行版仓库中都有该软件:
- Ubuntu/Debian:
sudo apt install hddtemp - Fedora/RHEL/CentOS 8+:
sudo dnf install hddtemp - Arch Linux:
sudo pacman -S hddtemp - openSUSE:
sudo zypper install hddtemp
安装后一般无需额外配置,但部分系统(如 Ubuntu)默认限制非 root 用户访问 SMART 数据,所以后续命令常需加 sudo。
查看硬盘设备名
先确认你要测的机械硬盘设备路径,常见为 /dev/sda、/dev/sdb 等。可用以下任一命令快速列出:
-
lsblk—— 显示块设备树,含型号和挂载点 -
sudo fdisk -l | grep "Disk /dev/sd"—— 筛选物理磁盘行 -
cat /proc/partitions | grep sd—— 查看内核识别的 sd 类设备
注意:不要选分区(如 /dev/sda1),必须选整块盘(/dev/sda)。
读取并显示温度
执行命令即可获取当前温度:
- 基础用法:
sudo hddtemp /dev/sda - 只输出数字(适合脚本):
sudo hddtemp -n /dev/sda - 批量查多块盘:
sudo hddtemp /dev/sda /dev/sdb /dev/sdc
成功时输出类似:/dev/sda: WDC WD10EZEX-00BN5A0: 38°C
其中 “38°C” 是当前盘体温度,“WDC WD10EZEX…” 是硬盘型号识别结果。
常见问题与提示
如果返回 Can't get temperature 或 No such device,可能原因包括:
- 硬盘不支持 S.M.A.R.T.(老旧或某些工控盘)
- 主板 SATA 模式设为 RAID 或 IDE 模式(需改为 AHCI)
- 硬盘被 USB 转接器连接(多数转接芯片不透传 SMART)
- 权限不足,尝试加
sudo或检查/dev/sdX是否存在
若需持续观察,可配合 watch 实时刷新:watch -n 3 'sudo hddtemp -n /dev/sda'(每 3 秒更新一次)


















