Home >System Tutorial >LINUX >How to determine whether a Linux disk is a solid state drive or a mechanical hard drive

How to determine whether a Linux disk is a solid state drive or a mechanical hard drive

WBOY
WBOYOriginal
2024-08-23 19:33:511222browse

Three ways to determine whether a Linux disk is a solid state drive or a mechanical hard drive:

How to determine whether a Linux disk is a solid state drive or a mechanical hard drive

Method 1

Determine the return value of cat /sys/block/*/queue/rotational (where * is the name of your hard disk device, such as sda, etc.). If it returns 1, it means that the disk can be rotated, then it is an HDD;

If it returns 0, it means the disk cannot be rotated, then it is an SSD.

[pythontab@pythontab.com ~]$ cat /sys/block/sda/queue/rotational
0
[pythontab@pythontab.com ~]$ grep ^ /sys/block/*/queue/rotational
/sys/block/ram0/queue/rotational:1
/sys/block/sda/queue/rotational:0
/sys/block/sdb/queue/rotational:0
/sys/block/sdc/queue/rotational:0
/sys/block/sdd/queue/rotational:0

There is a problem with this method, that is, there are not only hard disks under /sys/block/, but also other block devices, which are all interfering with your judgment.

Method 2

Use the lsblk command to judge. The parameter -d means to display the device name, and the parameter -o means to display only specific columns.

[pythontab@pyhontab.com ~]$ lsblk -d -o name,rota
NAME ROTA
sda 0
sdb 0
sdc 0
sdd 0

The advantage of this method is that it only lists the content you want to see, and the result is relatively concise and clear. Still the same rule, if ROTA is 1, it means it can be rotated, otherwise it cannot be rotated.

Method 3

You can view it through the fdisk command. The parameter -l means to list the disk details. In the output results, the line starting with Disk represents the disk introduction. Below are some detailed parameters. We can try to find some HDD-specific keywords in these parameters, such as: "heads" (head), "track" (track) ) and "cylinders".

The following are the output results of HDD and SSD respectively

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
[pythontab@pyhontab.com ~]$ sudo fdisk -l
Disk /dev/nvme0n1: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xad91c214
......
Other methods

You can use third-party tools to judge, such as smartctl. The results of these tools are more intuitive, but they need to be installed separately.

The above is the detailed content of How to determine whether a Linux disk is a solid state drive or a mechanical hard drive. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn