linux怎么判断是ssd还是hdd
linux怎么判断是ssd还是hdd详细介绍
在 Linux 系统中,可以通过以下几种方法判断存储设备是 SSD(固态硬盘)还是 HDD(机械硬盘):
方法一:查看设备是否为 “非旋转设备”(最直接方法)
Linux 内核通过 rotational 文件标记存储设备是否为旋转磁盘(HDD 是旋转磁盘,SSD 是非旋转磁盘):
- 执行命令:
bash/sys/block/设备名/queue/rotational其中
<设备名>是磁盘设备名称(如sda、nvme0n1等,可通过lsblk命令查看)。 - 结果判断:
- 输出
0:表示非旋转设备(SSD)。 - 输出
1:表示旋转设备(HDD)。
示例(假设设备为
sda):
bash/sys/block/sda/queue/rotational - 输出
方法二:通过
smartctl 查看设备信息(需安装工具)
- 安装工具:
- Debian/Ubuntu:bash
smartmontools - RedHat/CentOS/Fedora:bash
dnf smartmontoolsyum smartmontools
- Debian/Ubuntu:bash
- 查看设备信息:
bashsmartctl /dev/设备名- 在输出中查找
Rotation Rate或Rotational Speed:- HDD:会显示具体转速(如
7200 RPM、5400 RPM)。 - SSD:通常显示
Not Available或0 RPM。
- HDD:会显示具体转速(如
示例:
bashsmartctl /dev/sda - 在输出中查找
方法三:通过
lsblk 查看设备型号(辅助判断)
- 列出磁盘设备:
bashlsblk NAME,MODEL,SIZE,ROTAROTA列:0表示非旋转(SSD),1表示旋转(HDD)。MODEL列:部分设备型号会包含关键词(如SSD、NVMe、HDD等),但仅供参考(非标准)。
示例:
plaintextNAME MODEL SIZE ROTAsda Samsung SSD 870 QVO 1TB 931.5G 0 # SSD(ROTA=0)
sdb WDC WD20EZRZ-00Z5HB0 1.8T 1 # HDD(ROTA=1)
方法四:通过
dmesg 查看启动日志(适用于新插入设备)
- 过滤磁盘相关日志:bash
912dmesg |
- 搜索关键词(如
SSD、Solid State、HDD、Hard Disk)判断类型。
- 搜索关键词(如
总结推荐步骤:
- 首选方法一:直接检查
rotational文件,无需额外工具,准确可靠。 - 辅助方法二:若方法一不生效(如老旧内核),用
smartctl查看转速。 - 注意:混合硬盘(SSHD)可能标记为
rotational=1,需结合型号或其他信息综合判断。
通过以上方法,可快速区分 Linux 系统中的 SSD 和 HDD。