linux下IDE硬盘序列号的获取方法

//虚拟机大都是SCSI硬盘,获取硬盘序列号的方法不知道,但是本人将虚拟机的硬盘类型更改为IDE类型,通过下面的代码获取成功是00000000000000001
<span style="font-family: Arial, Helvetica, sans-serif;">#include <stdio.h></span>
#include <string.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <linux/hdreg.h>
int getHardSerialNo(char *info)
{
        struct hd_driveid id;
        int fd = open("/dev/sda", O_RDONLY|O_NONBLOCK);
        if (fd < 0) {
                fd = open("/dev/sda", O_RDONLY|O_NONBLOCK);
                if (fd < 0) return 1;
        }
        if(!ioctl(fd, HDIO_GET_IDENTITY, &id))
        {
                strcpy(info,id.serial_no);
        }
		printf("%s\n",info);
        return 0;
}
int main()
{
	char info[50];
	getHardSerialNo(info);
	printf("****%s\n",info);
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值