我的主板有三个独立的 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
找到它