Linux
GNU/Linux:如何檢測硬碟映射?
假設您有兩個硬碟:
- 一個內部(引導 GNU/Linux (Debian));
- 一個外部(USB)。
fdisk -l
檢測兩者,但不會告訴你哪個是/dev/sda
,哪個是/dev/sdb
。lsusb
會告訴你連接了一個外部 USB 設備,但不會告訴你它是否已映射到/dev/sda
或/dev/sdb
。您如何從系統中獲取此類資訊?
ls -l /sys/class/block/sd?
這些
sd?
條目是顯示磁碟如何連接到電腦的符號連結。裡面會有/usb
一個U盤。udevadm info -a -n sda
這顯示了核心可以直接獲取的所有辨識資訊
sda
。您將更詳細地了解磁碟是如何連接的,例如直接從SUBSYSTEMS=="scsi"
to連接到SUBSYSTEMS=="pci", DRIVERS=="ahci"
Intel 控制器上的 SATA 磁碟,或者從SUBSYSTEMS=="scsi"
to連接到SUBSYSTEMS=="usb", DRIVERS=="usb-storage"
USB 磁碟。ls -l /dev/disk/by-*
在 下
/dev/disk/by-*
,您可以通過硬體附件 (by-path
)、某些全域唯一標識符 (by-uuid
)、人工選擇的標籤 (by-label
) 或製造商標識 (by-id
) 來定位磁碟。