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_storage如果 usb_storage 未加载,请拔下设备,运行

modprobe usb_storage

再次插入并查看是否出现您的拇指驱动器。监视内核是否识别您的设备的一个好方法是

udevadm monitor

拔下 USB 设备,运行该命令,然后再次插入设备。一旦插入 USB 设备,您应该会看到内核(和 udev)“添加”操作。

请记住,如果磁盘有分区,则分区号将附加到设备节点名称(例如/dev/sdb1)。我的脚本找不到分区,它只是检查设备是否已正确添加。

答案2

你必须为此安装扩展包。读这个 https://www.virtualbox.org/manual/ch01.html#intro-installing

相关内容