沒問題啊~~
SayyaBBS:kendlee@~/tmp> sudo hdparm -i /dev/sda
/dev/sda:
Model=HDS728080PLA380 , FwRev=PF2OA69A, SerialNo= PFDH32S6SD8LZN
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=52
BuffType=DualPortCache, BuffSize=7677kB, MaxMultSect=16, MultSect=?16?
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=160836480
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: ATA/ATAPI-7 T13 1532D revision 1: ATA/ATAPI-2,3,4,5,6,7
* signifies the current active mode
SayyaBBS:kendlee@~/tmp> cat test.c
#include <stdio.h>
#include <sys/ioctl.h>
#include <linux/hdreg.h>
#include <sys/fcntl.h>
int main()
{
struct hd_driveid id;
int fd = open("/dev/sda", O_RDONLY|O_NONBLOCK);
if (fd < 0) {
perror("/dev/sda");
return 1; }
if(!ioctl(fd, HDIO_GET_IDENTITY, &id))
{
printf("Serial Number=%s\n",id.serial_no);
}
return 0;
}
SayyaBBS:kendlee@~/tmp> gcc test.c
SayyaBBS:kendlee@~/tmp> sudo ./a.out
Serial Number= PFDH32S6SD8LZN