Linux会自动检测SSD。 自内核2.6.29版本起,可以用如下命令检查/dev/sda

1
# cat /sys/block/sda/queue/rotational

返回值为0表示/dev/sda是SSD,1表示是HDD。 注意,如果你的磁盘是由硬件RAID创建的,这个命令可能无效。

另一种方法是使用util-linux包中的lsblk命令:

1
2
3
4
# lsblk -d -o name,rota
NAME ROTA
sda     0
sdb     1

ROTA表示是否为旋转设备,1为HDD,0为SSD。 这个命令显示的信息和/sys/block/.../queue/rotational一致。

参考:How to know if a disk is an SSD or an HDD