获取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,获取到的结果为空。

posted @   浩天之家  阅读(22251)  评论(2编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示