獲取Linux環境的硬盤序列號


因最近工作要求,需要獲取Linux環境上的硬盤序列號,經過多番嘗試,最終得到滿意的結果,先尋找過程梳理匯總如下。

最開始使用hdparam命令來獲取,它是Linux上獲取或設置硬盤參數的工具,包括測試讀寫性能以及緩存性能等。在本場景中涉及到的指令為:

hdparam -I /dev/sda

提示結果如下圖:
虛擬機上無法獲得hdparam結果.jpg

無法獲得想要的硬盤序列號,經過一番搜索發現,hdparam是適用於SATA/IDE接口類型的硬盤,sdparam適用於SCSI的硬盤,下載sdparam后使用

sdparam --inquiry --page=sn /dev/sda

結果仍然是

虛擬機上無法獲得sdparam結果.jpg

猜測可能是在虛擬機上跑的linux,無法通過這兩個命令獲取,換個思路繼續。

繼續嘗試使用smartctl工具來獲取,

smartctl -a /dev/sda

也無法獲得滿意結果。

最后使用lsblk工具,

lsblk --nodeps -no serial /dev/sda

獲取到的結果為空,但通過如下指令:

lsblk --nodeps -no serial /dev/cdrom

/dev/cdrom是光驅設備,通過上述命令,可以獲得光驅設備的序列號,硬盤和光驅同屬於存儲設備,那么通過上述獲取硬盤序列號的命令,應該是可以獲取的到,但實際獲取為空,這是為什么呢?

在網上找了一番也沒找到原因,希望有知道的讀者指點迷津。

總結

在linux上,可以通過lsblk --nodeps -no serial /dev/sda命令來獲得硬盤序列號,注意,在虛擬機上運行的linux,獲取到的結果為空。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM