centos怎么查看磁盘是机械还是固态

在 CentOS 系统中,判断磁盘是机械硬盘(HDD)还是固态硬盘(SSD)可以通过以下多种方法实现,以下是具体操作步骤及原理说明:


一、通过 /sys文件系统(推荐)

1. 查看 rotational文件

每个磁盘设备在 /sys/block/目录下对应一个子目录(如 sdanvme0n1),其 queue/rotational文件的值直接表明磁盘类型:

复制代码
bash 复制代码
cat /sys/block/sda/queue/rotational
  • ​**输出 0**​:表示 SSD(固态硬盘)

  • ​**输出 1**​:表示 HDD(机械硬盘)

批量查看所有磁盘​:

bash 复制代码
grep -r ^0 /sys/block/*/queue/rotational  # 列出所有 SSD
grep -r ^1 /sys/block/*/queue/rotational  # 列出所有 HDD

二、使用 lsblk命令

lsblk命令可显示磁盘属性,结合 -d -o rota参数直接查看旋转状态:

bash 复制代码
lsblk -d -o NAME,ROTA
  • ​**ROTA=0**​:SSD

  • ​**ROTA=1**​:HDD

示例输出​:

复制代码
bash 复制代码
NAME   ROTA
sda     0
nvme0n1 0
sdb     1

三、通过 smartctl工具(需安装)

smartctl是 SMART(自我监测与分析技术)工具,可读取硬盘详细信息:

  1. 安装工具​:

    bash 复制代码
    sudo yum install smartmontools  # CentOS 7/8
  2. 查看旋转速率​:

    复制代码
    bash 复制代码
    sudo smartctl -i /dev/sda | grep "Rotation Rate"
    • SSD ​ 输出:Solid State Device

    • HDD ​ 输出:XXX RPM(如 7200 RPM


四、使用 hdparm命令

hdparm可查询硬盘参数,通过 Nominal Media Rotation Rate判断:

复制代码
bash 复制代码
sudo hdparm -I /dev/sda | grep "Nominal Media Rotation Rate"
  • SSD ​ 输出:Solid State Device

  • HDD ​ 输出:XXX RPM(如 5400 RPM


五、通过 lshw命令(需安装)

lshw可列出硬件信息,包含磁盘类型描述:

  1. 安装工具​:

    bash 复制代码
    sudo yum install lshw
  2. 查看磁盘信息​:

    复制代码
    bash 复制代码
    sudo lshw -class disk | grep -A 5 "description"
    • SSD ​ 描述通常包含 SSDSolid State

    • HDD ​ 描述通常包含 HDDMechanical


六、其他方法

1. 查看 /proc/partitions

通过分区表间接判断(需结合其他命令):

复制代码
bash 复制代码
cat /proc/partitions
2. 使用 fdisk查看型号
复制代码
bash 复制代码
sudo fdisk -l /dev/sda | grep "Disk model"
  • SSD ​ 型号可能包含 SSDNVMe等关键词

  • HDD ​ 型号通常包含 ST(希捷)、WD(西数)等厂商标识


总结与建议

方法 优点 缺点 适用场景
/sys/block/rotational 无需安装工具,直接读取 需已知设备名称(如 sda 快速检查单个磁盘
lsblk -d -o ROTA 一行命令显示所有磁盘信息 依赖 util-linux 批量查看多磁盘
smartctl 信息全面(含健康状态) 需安装工具 详细诊断硬盘状态
hdparm 支持更多参数查询 需安装工具 高级用户调试

推荐优先使用 lsblk/sys方法 ,简单高效。若需进一步确认硬盘健康状态,可结合 smartctl进行分析。

相关推荐
bjzhang751 小时前
CentOS下安装MySQL详解
linux·mysql·centos
Jason_chen2 小时前
Linux 6.2 音频机制深度解析:AI驱动的低延迟音频与零信任音频安全架构
linux
下午写HelloWorld2 小时前
Linux系统及Ubuntu常用指令
linux·ubuntu·操作系统
云计算磊哥@4 小时前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发
weixin_523185324 小时前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
天天进步20154 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
My is 李豆4 小时前
CentOS 7 安装 Docker 完整教程(含 docker-compose 插件)
docker·eureka·centos
凡人叶枫5 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
云栖梦泽5 小时前
玩转RK3506SDK
linux·嵌入式硬件
极客先躯5 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷