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