![如何知道磁盘是 SSD 还是 HDD](https://linux22.com/image/29546/%E5%A6%82%E4%BD%95%E7%9F%A5%E9%81%93%E7%A3%81%E7%9B%98%E6%98%AF%20SSD%20%E8%BF%98%E6%98%AF%20HDD.png)
我想知道磁盘是固态驱动器还是硬盘。
lshw
未安装。我这样做了yum install lshw
,它说没有名为 lshw 的包。不知道哪个版本http://pkgs.repoforge.org/lshw/适合我的 CentOS。
我在网上搜索,没有任何内容解释如何知道驱动器是SSD还是HDD。我应该先格式化它们吗?
的结果fdisk -l
:
Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00074f7d
Device Boot Start End Blocks Id System
/dev/sda1 * 1 14 103424 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 14 536 4194304 82 Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3 536 14594 112921600 83 Linux
Disk /dev/sdc: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sdb: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sdd: 480.1 GB, 480103981056 bytes
255 heads, 63 sectors/track, 58369 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
答案1
答案2
与lsblk
(包的一部分util-linux
):
lsblk -d -o 名称,轮换
NAME ROTA
sda 0
sdb 0
sdc 1
其中ROTA
表示rotational device
(1
如果为真,0
如果为假)。
请注意,正如评论中提到的,某些 USB 控制器无法正确报告此rotational
属性,可能的修复方法是使用显式 UDEV 规则。
此外,更新版本lsblk
支持-I,--include
和-e,--exclude
选项,允许通过以下方式过滤设备主号码 并且还支持 JSON 输出,例如,仅显示非旋转的非循环设备的名称和序列号,您可以运行:
lsblk -e 7 -do name,serial,rota --json | \
jq -r '.blockdevices[] | select(.rota==false) | [.name,.serial] | @tsv'
答案3
使用smartctl
(通过安装来安装smartmontools
)检索供应商信息,
sudo smartctl -a /dev/sdb
如果你看到这样的一行,
Rotation Rate: Solid State Device
那将是一个 SSD 驱动器。
答案4
其他答案已经告诉您如何通过多种方式获取此信息,包括/proc
。但是,如果存在任何虚拟化,例如具有多层的混合 SAN 阵列,或者 Linux 计算机是虚拟机(其中 Linux 可能会将磁盘报告为基本 SCSI 旋转磁盘),则您必须预料到所有这些机制都会撒谎。 ,无论硬件到底是什么)