CentOSでUSBデバイスを見ることができません

CentOSでUSBデバイスを見ることができません

VirtualBoxでCentOS 6.3を実行していますが、USB 2.0サムドライブが表示されません。 VirtualBoxからデバイス、USBドライブに移動すると、接続されたサムドライブをキャプチャできます。 CentOSにマウントポイントを作成しましたが、fdiskにドライブが表示されません(SDCを見たい)。私は何を見逃していますか?

ベストアンサー1

USBサムドライブsysfsが下に表示され、/sys/block/名前を指定する必要がありますsd*。以下は、/sys/block各デバイスがUSBドライブであることを確認する短いスクリプトです。

#!/bin/bash

function is_usb_disk()
{
        device=$1
        is_usb_attached=$(udevadm info --query=property --path="/sys/block/$device" | grep -i "^ID_BUS=usb$")
        is_disk=$(udevadm info --query=property --path="/sys/block/$device" | grep -i "^ID_TYPE=disk$")
        if [[ -n $is_usb_attached && -n $is_disk ]]; then
                return 0
        else
                return 1
        fi
}

for block_device in $(ls /sys/block); do
        is_usb_disk $block_device
        if [[ $? -eq 0 ]]; then
                serial=$(udevadm info --query=property --path="/sys/block/$block_device" | grep "^ID_SERIAL=" | cut -d "=" -f 2)
                echo "/dev/$block_device ($serial) is an USB disk."
        fi
done

スクリプトは、各ブロックデバイスがUSBバスに接続されているか(ID_BUS属性を介して)、ディスクであるか(ID_TYPE属性を介して)を確認します。デバイスが見つかり、両方が真の場合は、そのデバイスのシリアル番号とともにデバイスノードを印刷します。

find_usb_disks.shたとえば、実行権限を付与してファイルにコピーできますchmod u+x find_usb_disks.sh。出力は次のとおりです。

/dev/sdb (0204_Flash_Disk_19250701EF6B1E05-0:0) is an USB disk.

何も返さない場合は、サムドライブが正しく「接続」されていない可能性があります。lsmod同様のモジュールがロードされていることを確認してください。usb_storageusb_storageがロードされていない場合は、デバイスを取り外して実行してください。

modprobe usb_storage

再接続して、サムドライブが表示されることを確認してください。カーネルがデバイスを認識しているかどうかを監視する良い方法は次のとおりです。

udevadm monitor

USB デバイスを取り外し、コマンドを実行した後、デバイスを再接続します。 USBデバイスを接続すると、カーネル(およびudev)の「追加」アクションが表示されます。

ディスクにパーティションがある場合、パーティション番号はデバイスノード名に追加されます(例/dev/sdb1:)。私のスクリプトはパーティションを見つけることができず、デバイスが正しく追加されたことを確認するだけです。

おすすめ記事