カーネルログを見ることができます
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の 2 つのディレクトリがあります。
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が私のドライバーです。
ディスクはブロック デバイスです。ディレクトリブロックが表示されます。
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)、これは特定の問題に対する答えではありませんが、問題を解決するために必要な情報を取得する方法です