获取Linux环境的硬盘序列号
因最近工作要求,需要获取Linux
环境上的硬盘序列号,经过多番尝试,最终得到满意的结果,先寻找过程梳理汇总如下。
最开始使用hdparam
命令来获取,它是Linux
上获取或设置硬盘参数的工具,包括测试读写性能以及缓存性能等。在本场景中涉及到的指令为:
hdparam -I /dev/sda
提示结果如下图:
无法获得想要的硬盘序列号,经过一番搜索发现,hdparam
是适用于SATA/IDE接口类型的硬盘,sdparam
适用于SCSI的硬盘,下载sdparam
后使用
sdparam --inquiry --page=sn /dev/sda
结果仍然是
猜测可能是在虚拟机上跑的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,获取到的结果为空。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· 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工具