插件窝 干货文章 Linux下如何查看一块硬盘是不是固态硬盘(SSD)

Linux下如何查看一块硬盘是不是固态硬盘(SSD)

方法 硬盘 固态 命令 503    来源:    2025-05-11

在 Linux 系统中,可以通过以下几种方法判断硬盘是否为固态硬盘(SSD):


方法 1:使用 lsblk 命令

lsblk -d -o name,rota
  • rota 列的含义
    • 0SSD(非旋转设备,即固态硬盘)
    • 1HDD(传统机械硬盘)
  • 示例输出NAME ROTA sda 0 # SSD nvme0n1 0 # NVMe SSD(也是固态硬盘) sdb 1 # HDD

方法 2:通过 smartctl 工具

  1. 安装 smartmontools(如未安装): bash sudo apt install smartmontools # Debian/Ubuntu sudo yum install smartmontools # RHEL/CentOS
  2. 查询硬盘类型: bash sudo smartctl -i /dev/sdX | grep "Rotation Rate"
    • 输出结果
      • Rotation Rate: Solid State Device → SSD
      • Rotation Rate: 5400 rpm → HDD

方法 3:检查 /sys/block 信息

cat /sys/block/sdX/queue/rotational
  • 返回值
    • 0 → SSD
    • 1 → HDD
  • 示例bash cat /sys/block/sda/queue/rotational

方法 4:使用 hdparm 命令

sudo hdparm -I /dev/sdX | grep "Nominal Media Rotation Rate"
  • 输出结果
    • Nominal Media Rotation Rate: Solid State Device → SSD
    • 其他转速值(如 7200 rpm)→ HDD

方法 5:NVMe 专用命令(针对 NVMe SSD)

sudo nvme list
  • 此命令会列出所有 NVMe 设备(均为固态硬盘)。

总结

  • 最快速方法lsblk -d -o name,rota 或检查 /sys/block/sdX/queue/rotational
  • 最详细方法smartctlhdparm
  • NVMe 设备:直接通过 nvme list 确认。

注意事项

  • 替换命令中的 /dev/sdX 为实际设备名(如 /dev/sda)。
  • 需要 root 权限的命令需加 sudo