在 Linux 系统中,可以通过以下命令和步骤检查磁盘是 机械硬盘(HDD) 还是 固态硬盘(SSD):
方法 1:使用 lsblk 查看磁盘类型
命令:
lsblk -d -o name,rota
输出示例:
markdown
NAME ROTA
sda 1 # ROTA=1 表示机械硬盘(HDD)
nvme0n1 0 # ROTA=0 表示固态硬盘(SSD)
· ROTA 字段解释:
o 1:磁盘可旋转(机械硬盘,HDD)。
o 0:磁盘不可旋转(固态硬盘,SSD/NVMe)。
方法 2:通过 hdparm 检查
安装 hdparm(如未安装):
sudo apt install hdparm # Debian/Ubuntu
sudo yum install hdparm # CentOS/RHEL
检查磁盘类型:
sudo hdparm -I /dev/sda | grep "Nominal Media Rotation Rate"
输出示例:
markdown
Nominal Media Rotation Rate: 7200 rpm # 机械硬盘(HDD)
Nominal Media Rotation Rate: Solid State Device # 固态硬盘(SSD)
方法 3:查看 /sys/block 信息
命令:
cat /sys/block/sda/queue/rotational
输出解释:
· 1:机械硬盘(HDD)。
· 0:固态硬盘(SSD)。
方法 4:使用 smartctl(需安装 smartmontools)
安装工具:
sudo apt install smartmontools # Debian/Ubuntu
sudo yum install smartmontools # CentOS/RHEL
检查磁盘类型:
sudo smartctl -a /dev/sda | grep "Rotation Rate"
输出示例:
markdown
Rotation Rate: 7200 rpm # 机械硬盘(HDD)
Rotation Rate: Solid State Device # 固态硬盘(SSD)
方法 5:通过 lshw 查看磁盘详情
安装 lshw(如未安装):
sudo apt install lshw # Debian/Ubuntu
sudo yum install lshw # CentOS/RHEL
命令:
sudo lshw -class disk -short
输出示例:
markdown
H/W path Device Class Description
==============================================
/0/1/0.0.0 /dev/sda disk 1TB ST1000DM010 # 机械硬盘(HDD)
/0/1/0.0.1 /dev/nvme0n1 disk Samsung SSD 970 EVO # 固态硬盘(SSD)
总结:推荐命令对比
命令 | 适用场景 | 输出关键字段 |
lsblk -d -o name,rota | 快速区分 HDD/SSD | ROTA=1(HDD)或 0(SSD) |
cat /sys/block/sda/queue/rotational | 直接查看内核标识 | 1(HDD)或 0(SSD) |
hdparm -I /dev/sda | 获取详细转速信息 | Rotation Rate |
smartctl -a /dev/sda | 专业工具(支持健康状态检测) | Solid State Device |
lshw -class disk | 查看厂商和型号信息 | Description |
注意事项
1. NVMe 磁盘:
· NVMe 固态盘通常显示为 /dev/nvme0n1,直接通过名称即可识别(无需查 ROTA)。
2. 虚拟化环境:
· 虚拟机中的磁盘可能显示为 ROTA=1(虚拟化层模拟),需结合厂商信息判断。
3. 权限问题:
· hdparm 和 smartctl 需要 sudo 权限。
通过以上方法,可以快速准确地判断 Linux 系统中的磁盘类型。优先推荐 lsblk 或 /sys/block 方法,简单高效!
目前有0 条留言