linux下IDE硬盘序列号的获取方法
//虚拟机大都是SCSI硬盘,获取硬盘序列号的方法不知道,但是本人将虚拟机的硬盘类型更改为IDE类型,通过下面的代码获取成功是00000000000000001#include #include#include#include#includeint getHardSerialNo(char *info){struct hd_driveid id;
·
//虚拟机大都是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;
}
更多推荐
已为社区贡献3条内容
所有评论(0)