如何將 /dev/sd 裝置與其代表的硬體關聯起來?

如何將 /dev/sd 裝置與其代表的硬體關聯起來?

驅動器開始出現故障,我只能透過/dev/sdb裝置檔案名稱來識別該裝置。我可以使用哪些方法將該設備文件與實際硬體設備關聯起來,以了解要物理替換哪個驅動器?

獎金:如果我在此安裝中沒有/dev/disk/及其子目錄怎麼辦? (遺憾的是,我沒有)

答案1

您可以查看/sys/block

-bash-3.2$ ls -ld /sys/block/sd*/device
lrwxrwxrwx 1 root root 0 Jun  8 21:09 /sys/block/sda/device -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0
lrwxrwxrwx 1 root root 0 Jun  8 21:10 /sys/block/sdb/device -> ../../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0
lrwxrwxrwx 1 root root 0 Jun  8 21:10 /sys/block/sdc/device -> ../../devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0
lrwxrwxrwx 1 root root 0 Jun  8 21:10 /sys/block/sdd/device -> ../../devices/pci0000:00/0000:00:1f.2/host3/target3:0:0/3:0:0:0

或者如果你沒有/sys,你可以看看/proc/scsi/scsi

-bash-3.2$ cat /proc/scsi/scsi 
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST31000340AS     Rev: SD1A
  Type:   Direct-Access                    ANSI SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST31000340AS     Rev: SD1A
  Type:   Direct-Access                    ANSI SCSI revision: 05
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST31000340AS     Rev: SD1A
  Type:   Direct-Access                    ANSI SCSI revision: 05
Host: scsi3 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST31000340AS     Rev: SD1A
  Type:   Direct-Access                    ANSI SCSI revision: 05
Host: scsi4 Channel: 00 Id: 00 Lun: 00
  Vendor: PepperC  Model: Virtual Disc 1   Rev: 0.01
  Type:   CD-ROM                           ANSI SCSI revision: 03

答案2

hdparm -i /dev/sdb

這應該會為您提供驅動器的型號和序號。

答案3

正如無與倫比的吉爾斯所提到的在他的這個回答中,如果您的核心使用udev您可以使用以下udevadm命令來詢問設備:

udevadm info -n /dev/sda -a

(可悲的是,在某些情況下[更可悲的是,在這種情況下對我來說這是真的] udev 不被使用和/或 udevadm 不可用。)

答案4

我有4個方法。第一個是最簡單的:

dmesg | egrep "sd[a-z]"

對於其他人,我不確定他們是否需要 /dev/disk 除了這個:

ls -lF /dev/disk/by-uuid

其他:

blkid -o list -c /dev/null

顯而易見的是:

fdisk -l

相關內容