Skip to content

[Linux] 判斷硬碟是否為 SSD 的方法

Last Updated on 2021-06-21 by Clay

今天想要紀錄的是在 Linux 中要如何判斷我們裝置內的硬碟究竟是 SSD (固態硬碟)呢?還是 HDD (傳統硬碟) 呢?其實在我們將硬碟掛載在裝置上的時候,都會有留下相關資訊的文件,我們可以直接翻看。

以下,就來簡單紀錄如何查看吧!


查看方法

其實只需要使用 "cat" 指令印出相關裝置的 "rotational" 資訊即可。原因很簡單,那就是 SSD 並不需要像 HDD 那般需要機械構造 (讀寫頭) 的旋轉,而是直接採用晶片定址。所以,如果 "rotational" 的資訊為 "0",則代表這個硬碟為 SSD;反之,印出 "1" 則代表示 HDD。

印出資訊也相當簡單:

cat /sys/block/"your_device"/queue/rotational

不過要小心的是,我們電腦上掛載著的裝置有時候可能有不只一兩個,需要小心確認。比如說我自己的裝置:

關於存在著很多 loop* 裝置的情況,可以參考我之前寫過的: [Linux] 如何隱藏 df 指令顯示的 /dev/loop* 裝置。我在這篇文章中有紀錄這些 loop 裝置是什麼。

不過目前我們不需要理他們;以我的電腦為例,我們真正要查看的,是 "nvme0n1" 以及 "sda" 這兩顆硬碟。

cat /sys/block/nvme0n1/queue/rotational

Output:

0

這顆是 SSD。


cat /sys/block/sda/queue/rotational

Output:

1

這顆就是 HDD。


References

Tags:

1 thought on “[Linux] 判斷硬碟是否為 SSD 的方法”

Leave a Reply