如何判断驱动器正在使用哪个 SATA 控制器?

如何判断驱动器正在使用哪个 SATA 控制器?

我的主板有三个独立的 SATA 控制器,每个都在自己的 IOMMU 组中。两个 ASMedia 控制器和一个在 Intel PCH 中的控制器。

我想确保我的主驱动器使用英特尔控制器。

如何查看哪些 SATA 控制器正在被使用以及用于哪些驱动器?

寻找显示文本信息的 GNU/Linux 命令。

编辑:这是我的lshw -class storage -class disk输出:

*-storage                 
    description: SATA controller
    product: ASM1062 Serial ATA Controller
    vendor: ASMedia Technology Inc.
*-storage
    description: SATA controller
    product: ASM1062 Serial ATA Controller
    vendor: ASMedia Technology Inc.
*-storage
    description: SATA controller
    product: 9 Series Chipset Family SATA Controller [AHCI Mode]
    vendor: Intel Corporation
*-scsi:0
    physical id: 1
    logical name: scsi2
    capabilities: emulated
  *-disk
       description: ATA Disk
       bus info: scsi@2:0.0.0
*-scsi:1
    physical id: 2
    logical name: scsi3
    capabilities: emulated
  *-disk
       description: ATA Disk
       bus info: scsi@3:0.0.0
*-scsi:2
    physical id: 3
    logical name: scsi4
    capabilities: emulated
  *-disk
       description: ATA Disk
       bus info: scsi@4:0.0.0

答案1

设备层次结构可在 中找到/sys,如果您不想手动执行此操作,可以使用udevadm

$ udevadm info -q path -n /dev/sda
/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block/sda

因此在我的系统上,/dev/sda是 SCSI 单元0:0:0:0,并且 SATA 控制器具有 PCI id 0000:00:1f.2,即英特尔 PCH 控制器:

$ lspci
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05)

答案2

$ ls -l /sys/class/block |grep -I "sd*"

然后lspci | grep SATA找到它

相关内容