当前位置:首页 » 操作系统 » linux查看序列号

linux查看序列号

发布时间: 2022-08-11 05:08:31

linux下怎么用c获取硬盘物理序列号

1、在Linux系统中通过C语言获取硬盘序列号,可以借助于ioctl()函数,该函数原型如下:

intioctl(intfd,unsignedlongrequest,...);
ioctl的第一个参数是文件标识符,用open()函数打开设备时获取。
ioctl第二个参数为用于获得指定文件描述符的标志号,获取硬盘序列号,一般指明为HDIO_GET_IDENTITY。
ioctl的第三个参数为一些辅助参数,要获取硬盘序列号,需要借助于structhd_driveid结构体来保存硬盘信息,该结构体在Linux/hdreg.h中,structhd_driveid的声明如下
structhd_driveid{
unsignedshortconfig;/lotsofobsoletebitflags*/
unsignedshortcyls;/*Obsolete,"physical"cyls*/
unsignedshortreserved2;/*reserved(word2)*/
unsignedshortheads;/*Obsolete,"physical"heads*/
unsignedshorttrack_bytes;/*unformattedbytespertrack*/
unsignedshortsector_bytes;/*unformattedbytespersector*/
unsignedshortsectors;/*Obsolete,"physical"sectorspertrack*/
unsignedshortvendor0;/*vendorunique*/
unsignedshortvendor1;/*vendorunique*/
unsignedshortvendor2;/*Retiredvendorunique*/
unsignedcharserial_no[20];/*0=not_specified*/
unsignedshortbuf_type;/*Retired*/
unsignedshortbuf_size;/*Retired,512byteincrements
*0=not_specified
*/
……
};


2、源代码如下

#include<stdio.h>
//ioctl()的声明头文件
#include<sys/ioctl.h>
//硬盘参数头文件,hd_driveid结构声明头文件
#include<linux/hdreg.h>
//文件控制头文件
#include<sys/fcntl.h>
intmain()
{
//用于保存系统返回的硬盘数据信息
structhd_driveidid;
//这里以第一块硬盘为例,用户可自行修改
//用open函数打开获取文件标识符,类似于windows下的句柄
intfd=open("/dev/sda",O_RDONLY|O_NONBLOCK);
//失败返回
if(fd<0){
perror("/dev/sda");
return1;}
//调用ioctl()
if(!ioctl(fd,HDIO_GET_IDENTITY,&id))
{
printf("SerialNumber=%s ",id.serial_no);
}
return0;
}

编译完成后,执行效果如下:

⑵ 用什么命令查主机的序列号,在linux和suse系统中

貌似你的格式不对吧: 我查一般是这样的,我用的命令是dmidecode -t 2 root@client57 ~]# dmidecode -t 2 # dmidecode 2.7 SMBIOS 2.5 present. Handle 0x0003, DMI type 2, 16 bytes. Base Board Information Manufacturer: Intel Proct Name(表示主板号): S5000VSA() Version: Not Specified Serial Number: QSSA93700477 Asset Tag: Not Specified 主板号是:S5000VSA

⑶ hp linux如何查看设备序列号信息

当我们需要获取机器硬件信息时,可使用linux系统自带的dmidecode工具进行查询。例:下面的Serial Number信息。

[root@az01node021 ~]# dmidecode -t 1
# dmidecode 2.11
SMBIOS 2.7 present.

Handle 0x0100, DMI type 1, 27 bytes
System Information
Manufacturer: Dell Inc.
Proct Name: PowerEdge R720xd
Version: Not Specified
Serial Number: FJ2SHY1
UUID: 4C4C4544-004A-3210-8053-C6C04F485931
Wake-up Type: Power Switch
SKU Number: SKU=NotProvided;ModelName=PowerEdge R720xd
Family: Not Specified

⑷ linux下怎样查看硬盘型号和硬盘序列号的相关推荐

sudo hdparm -i /dev/sda

⑸ 在linux系统中能看到内存条的序列号吗

1. 查看cpu型号
cat /proc/cpuinfo | grep "model name" | uniq
2. 查看cpu物理个数
cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
3.使用PyCPUID模块
import pycpuid
print "has SSE2:", pycpuid.HAS_SSE2
print "all availabe features:", pycpuid.features()
print pycpuid.vendor(1)
print "brand string:", pycpuid.brand_string()

4. 查看内存信息(显示插槽个数和每个插槽里内存条的大小)
dmidecode -t memory | grep Size

5. 查看内存条厂家
dmidecode -t memory | grep Manufacturer

⑹ LINUX如何查询工作站多硬盘的硬盘序列号

#不需要安装额外软件,直接查询

为什么我的行呢?你再用下面的参数试试。

sudo hdparm -I /dev/sda | grep Serial
Serial Number: WD-ABC2E30ETS28
Transport: Serial, SATA 1.0a, SATA II Extensions, SATA Rev 2.5

⑺ linux下怎样查看硬盘序列号

smartctl 命令可以查看,例如:
smartctl -i /dev/sdb

⑻ linux系统硬盘序列号指令

一、Linux查看硬盘序列号的命令是:

hdparm -i /dev/sda,若该用户没有执行该命令的权限,可以加sudo 提升权限。-i参数用于显示驱动器的基本信息。/dev/sda为要查看的硬盘。可以使用fdisk -l命令查看硬盘名。
hdparm参数说明:
-a<快取分区> 设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定。
-A<0或1> 启动或关闭读取文件时的快取功能。
-c<I/O模式> 设定IDE32位I/O模式。
-C 检测IDE硬盘的电源管理模式。
-d<0或1> 设定磁盘的DMA模式。
-f 将内存缓冲区的数据写入硬盘,并清楚缓冲区。
-g 显示硬盘的磁轨,磁头,磁区等参数。
-h 显示帮助。
-i 显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。
-I 直接读取硬盘所提供的硬件规格信息。
-k<0或1> 重设硬盘时,保留-dmu参数的设定。
-K<0或1> 重设硬盘时,保留-APSWXZ参数的设定。
-m<磁区数> 设定硬盘多重分区存取的分区数。
-n<0或1> 忽略硬盘写入时所发生的错误。
-p<PIO模式> 设定硬盘的PIO模式。
-P<磁区数> 设定硬盘内部快取的分区数。
-q 在执行后续的参数时,不在屏幕上显示任何信息。
-r<0或1> 设定硬盘的读写模式。
-S<时间> 设定硬盘进入省电模式前的等待时间。
-t 评估硬盘的读取效率(不经过磁盘cache)。
-T 平估硬盘快取的读取效率。
-u<0或1> 在硬盘存取时,允许其他中断要求同时执行。
-v 显示硬盘的相关设定。
-W<0或1> 设定硬盘的写入快取。
-X<传输模式> 设定硬盘的传输模式。
-y 使IDE硬盘进入省电模式。
-Y 使IDE硬盘进入睡眠模式。
-Z 关闭某些Seagate硬盘的自动省电功能。
二、linux下怎样查看硬盘型号和硬盘序列号
hdparm
-i
/dev/hda
这个命令更多的参数

-a 获取/设置硬盘每个簇的大小,默认值是8(即每个簇大小为4kb)。

-a 禁用/开启ide驱动器的 read-lookahead(不懂) 特性(默认是打开的)。

-b 获取/设置 bus state(不懂)。

-b 设置高级电源管理特性(apm),如果驱动器支持。一个较小的值意味着更省电?一个较大的值意味着更好的性能,将它设置为255将在指定驱动器上关闭apm。

-c 查询/开启 (e)ide 32位 i/o 支持。加上一个数值可以开启或关闭它。一般设置为0,即禁用32位数据传输,为1则开启32位数据传输,为3则开启32位数据传输和一个特别传输序列,但会消耗一些系统资源。

-c 检查当前ide电源模式,可以使用-s/-y/-y/-z等参数控制ide电源模式。

-d 禁用/开启dma。这个参加目前只能在并行ide和pci界面上,适当使用-x和-d1参数是个好主意,打开dma可以获得最好的磁盘性能和降低cpu占用率。

-d 禁用/开启坏扇区管理特性。

-e 设置光驱速度,这不是必需的,因为光驱会自动调速,但是你如果想用它,可以设置一个数值,通常设置为2或4。

-f 为设备退出时同步和填满缓冲区,这个参数也会做-t和-t所做的事。

-g 显示驱动器几何值(柱面,磁头,扇区)和开始扇区。

-h 简要显示此命令的帮助信息。

-i 显示驱动器的基本信息。

-i 显示驱动器的详细信息。

-k 获取/设置“在重启后保持设置”,使用这个参数将使驱动器在软重启后保持-dmu选项(后面还有一大堆,不懂)

-k 获取/设置“在重启后保持设置”,使用这个参数将使驱动器在软重启后保持-apswxz选项,不是所有驱动器都支持这样做。

-l 锁住驱动器?(不懂)

-m 获取/设置在驱动器上为多扇区i/o计算扇区,开启这个参数将减少cpu开支30-50%,在大多数系统上它也能增加数据生产量?5-50%,使用这个参数会使某些型号的驱动器(如wd鱼子酱系列)减慢速度,大多数驱动器支持的最小数值可以是2,4,8,或16,更大也可以,视情况而定,大多数系统设置为16或32比较理想,wd的硬盘推荐设置为4到8,用-i参数可以看到当前硬盘的设置,某些驱动器要求支持复合模式,但在某些设置下会丢失数据。

-m 获取/设置自动噪音管理。很多驱动器支持使用磁盘降速的方法降噪,这个数值可以设置为从0至254,设置为128最为静音(速度最低),设置为254速度最快(噪音最大),某些驱动器自己规定两个级别(静音/快速),虽然你使用128至254之间的数值。

-n 获取或设置“忽略写错误”,最好不要使用在...(不懂)

-p 尝试重新调整ide界面芯片指定的pio模式,或自动设置为驱动器支持的最佳pio模式,这个特性在内核中仅支持少数芯片,某些ide芯片在单驱动器时不允许调整pio模式,大多数ide芯片或多或少地支持0到5的pio模式。

-p 为驱动器的内部预读装置设置最大扇区,不是所有的驱动器都支持。

-q (不懂)。在使用-i 或-v或-t或-t时无效。

-q 设置标记队列深度(1或更大),或关闭标记队列深度。这只能在2.5.xx或更新的内核中使用,目前还只有很少的驱动器支持它。

-r 获取/设置设备为只读模式,设置之后设备将不能允许写入。

-r 注册一个ide界面,危险。要获得更多信息,看一下-u选项。

-s 设置驱动器等待超时,这个参数决定硬盘在多久未响应之后关闭主轴电机以省电,这个数值设置为0则关闭这个功能,设置为1至240时,时间将为5秒的倍数,即5秒至20分钟,设置为241至251时,时间将为30分钟的1-11倍,即30分钟到5.5小时,设置为252象征着21分钟,253为?(不懂),255即为21分15秒。

-t 测试读缓存的速度。

-t 也是测速度的。

-u 获取/设置???(不懂,晕)

-u 注销一个ide界面,危险!

-v 显示使用-i未显示出的所有设置。

-w 执行设备重启(危险),一般不要用这个参数。

-w 禁用/开启ide驱动器的写缓冲特性,默认设置为设备制造商指定的值。

-x (看不懂,危险)。

-x 为较新的(e)ide/ata驱动器设置ide传输模式,与-d1参数一起使用,使用-x mdma2将开启多字dma模式2传输,使用-x sdma1将开启单字dma模式1传输,使用-x udma2将开启ultradma模式传输(需要芯片组支持)。现在很多ide设备在启动时就已经自动调整到最佳的pio模式,要使用此参数应该调整好-p参数,严重警告!这个数据是pio模式值+8,即设置为09代表传输模式为pio模式1,10即pio模式2,11即pio模式3,设置为00则恢复默认pio模式,01代表禁用iordy(什么是iordy啊,晕),要开启mdma,这个数值是mdma模式值+32,要开启udma,这个数值是udma模式值+64,即66为udma2(ata33),68为udma4(ata66),69为udma5(ata100,那么70应该是udma6即ata133了?我猜测的)

-y 使ide驱动器立即进入低耗电等待模式,用-c参数可以检查当前的耗电模式。

-y 使ide驱动器立即进入低耗电睡眠模式,用-c参数可以检查当前的耗电模式。

-z 让内核重新读取指定设备上的分区表。

-z 禁用segate驱动器的自动省电功能(st3xxx型号),防止它们在一定时间后闲置。

⑼ 如何读取Linux内核磁盘序列号

这些信息通过读取proc文件是可以获得的,faild to open失败可能两个原因,1就是路径出错,2就是没有打开权限。

⑽ 国产电脑linux系统如何查看硬盘序列号

你可以通过如下方式来进行查看:
hdparm命令
[root@bbs ~]# hdparm -I /dev/sda


通过这个命令可以详细查看。

温馨提示:
hdparm的-i参数是在引导驱动器时获得的识别信息,这个信息有时候不完整也不一定准确,这时候一般使用-I(大写的i)参数。hdparm -I /dev/sda,这样可以直接从驱动器获取识别信息, 并以原始的,未经过修改和更正的形式显示。
希望能帮到你。

热点内容
安卓网络编程怎么用 发布:2025-01-16 03:04:45 浏览:899
湖南it服务器怎么样 发布:2025-01-16 03:01:01 浏览:248
图中两种配置哪个好 发布:2025-01-16 02:59:28 浏览:582
如何解开密保密码 发布:2025-01-16 02:57:44 浏览:23
中国银行查询密码是什么 发布:2025-01-16 02:33:20 浏览:794
坚果pro录音文件夹 发布:2025-01-16 02:31:46 浏览:940
支付宝的登录密码忘记了如何改 发布:2025-01-16 02:30:30 浏览:224
解压作业泥 发布:2025-01-16 02:28:02 浏览:810
我的世界rpg服务器空岛 发布:2025-01-16 02:26:49 浏览:91
ps脚本函数 发布:2025-01-16 02:15:28 浏览:484