Ubuntu

為什麼 udevadm 不提供磁碟序列號而 hdparm 可以?

  • April 13, 2017

比較:

root@home:~# hdparm -I /dev/sdb | grep Serial
   Serial Number:      WCJ025C8
   Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
root@home:~#

到:

root@home:~# udevadm info -a -p $(udevadm info -q path -n /dev/sdb) | grep -i serial
   ATTRS{serial}=="0123456789ABCDEF"
   ATTRS{serial}=="0000:00:14.0"
root@home:~#

我在 udev 上看到0123456789ABCDEF了很多,但它是偽造的,而hdparm’ 的輸出與驅動器上的物理編號完全匹配。

因此,我無法創建與我的 4 個 USB 驅動器按序列號匹配的 udev 規則。

我正在執行 ubuntu 16.04 LTE。

建議非常感謝。

最後我選擇了這個,這有點像黑客:

KERNEL=="sd?", SUBSYSTEM=="block", PROGRAM="/root/get_disk_serial.sh %k", SYMLINK+="disk/by-serial/%c"

然後是這樣的快速腳本:

#!/bin/bash

/sbin/hdparm -I /dev/$1 | grep 'Serial Number' | awk '{print $3}'

它不漂亮,但它的工作…

引用自:https://serverfault.com/questions/844109