可以看到内核日志
dmesg | grep sda
<...>
[ 0.618438] sd 2:0:0:0: [sda] Attached SCSI disk
<...>
日志正在谈论一个 scsi 磁盘,而 sd 2:0:0:0 是生成该消息的设备。您可以检查 sysfs 以了解更多详细信息:
cd /sys/block/
cd /sys/block/sda/
您可以在此处找到有关所有块设备的信息。如果您查看特定设备的目录,您应该会看到其信息。
这里是关于 scsi 总线的信息。有两个目录:drivers 和 devices。
cd /sys/bus/scsi
cd /sys/bus/scsi/devices
cd /sys/bus/scsi/drivers
这里有 scsi 总线上的驱动程序列表。
ls /sys/bus/scsi/drivers
sd sr
日志说sd 2:0:0:0
cd /sys/bus/scsi/drivers/sd/2:0:0:0
这是我的设备,所以 sd 是我的驱动程序。
磁盘是块设备,你应该看到目录block
cd /sys/bus/scsi/drivers/sd/2:0:0:0/block/sda
可能有一个程序会自动执行此操作:)
如果错误的驱动程序正在处理您的设备,您可以从该驱动程序取消绑定该设备,然后将其绑定到另一个设备。
ls /sys/bus/scsi/drivers/sd
2:0:0:0 bind uevent unbind
您可以在解绑文件中写入设备标识符,以将该设备与驱动程序分离。
echo -n "2:0:0:0" > unbind
然后您可以将您的设备连接到另一个驱动程序
cd /sys/bus/scsi/drivers/<a-driver>
echo -n "2:0:0:0" > bind
显然 (1),您不能将 scsi 设备绑定到非 scsi 驱动程序。
显然(2),这不是您特定问题的答案,而是一种检索解决问题所需信息的方法