
У меня система Ubuntu 16.04 и Win 7 vdi с моего предыдущего компьютера. Когда я впервые установил Virtual Box, он установил 5.0.4.24. Я установил расширения и гостевые дополнения для той же версии. У меня все заработало в виртуальной машине, кроме USB. Я пробовал 2.0 и 3.0, ни одно изменение не помогло. Я немного погуглил и обнаружил, что мне нужно добавить своего пользователя в группу vboxusers. Я это сделал. Теперь я вижу USB-устройства в списке устройств, но они не устанавливаются на мою виртуальную машину. Что еще мне может потребоваться сделать?
Обновление 1:Я добавлю, что это не все USB-устройства, так как моя мышь и клавиатура все еще работают, но любое устройство хранения (4 флэш-накопителя разных марок и 1 внешний жесткий диск) все не распознаются. Еще более странно, что по крайней мере 2 из этих флэш-накопителей и внешний диск работали, когда виртуальная машина была на моей старой машине.
Обновление 2:Я забыл упомянуть, что после того, как я попробовал добавить группу vboxusers, я обновил все до Virtualbox 5.1, но это все равно не работало.
Обновление 3:Я попробовал решение Клода, но оно не сработало.
Я подозреваю, что моя виртуальная машина каким-то образом повреждена, поэтому я развернул другую виртуальную машину (на этот раз Windows 10) и все USB-устройства на ней работают. Я медленно переношу все свои файлы и переустанавливаю приложения на новую виртуальную машину.
решение1
На случай, если вы еще не нашли решение. У меня была та же проблема с Ubuntu 16.04 в качестве хоста и XP в качестве гостя. Ни одно из известных решений проблемы не сработало. Я нашел правильный путь в самом конце этой страницы: https://bugs.launchpad.net/ubuntu/+source/virtualbox/+bug/1576768 что привело меня к этой статье: https://phobosk.wordpress.com/2012/11/11/howto-fix-a-virtualbox-failed-to-access-the-usb-subsystem-error/
Подводя итог, можно сказать, что причина в том, что ограничение для inotify на max_user_watches слишком низкое.
Решено: Во-первых, добавление следующих строк в /etc/sysctl.conf
fs.inotify.max_user_instances = 256<br />
fs.inotify.max_user_watches = 16384<br />
fs.inotify.max_queued_events = 32768<br />
Затемперезапуск procpsдля вступления изменений в силу выполните команду:
sudo service procps restart
Это сработало!
решение2
Включить USB-устройства можно в двух местах.
В гостевой ОС перейдите в меню «Устройства», затем «USB». В списке имеющихся USB-устройств выберите то, к которому хотите подключиться, и это поставит галочку напротив имени этого устройства. Затем Windows установит драйверы для этого устройства, если это необходимо.
В основных настройках гостевой ОС (если гостевая ОС выключена) вы можете выбрать USB, и в представленном там списке USB-устройств все отмеченные вами флажком устройства будут автоматически подключены при запуске гостевой ОС.
Помните, что любые USB-устройства, подключенные к гостевой ОС, не будут доступны хостовой ОС, пока работает виртуальная машина.
Если у вас есть еще вопросы, пожалуйста, задавайте. Спасибо, Эл.
решение3
У меня была эта проблема на Fedora 26/27 на хосте Windows 7 с Virtualbox 5.1/5.2. Проблема была в драйверах USB Windows "UpperFilter" и Virtualbox (независим от гостевой ОС; применимо к любому дистрибутиву Linux), что, по-видимому, было известноеще 7 лет назад. Если ни одно из других решений USB не помогло, надеюсь, это вам поможет. Смотрите решение ниже
Пример:
- выберите устройство из Устройства -> USB -> USB-накопитель
- Ничего не произошло
- снова проверяем меню Устройства -> USB, USB-накопитель не отмечен, но написано «захвачен»
- Однако при наведении курсора на значок USB в правом нижнем углу появляется сообщение «нет устройств».
- проверка
VBoxManage.exe list usbhost
на хосте показывает USB-устройство + "захвачено" - но виртуальная машина ничего не видит
- попытка добавить устройство еще раз (через меню Устройства -> USB) выдает ошибку «занято предыдущим запросом»
Решения из других тем, которые не сработали:
- успешно установлены гостевые дополнения (например, общие папки работают (есть я в
vboxsf
группе)) - группы нет
vboxusers
, создание группы самостоятельно (как рекомендовали в некоторых темах) и добавление себя ничего не дало - пробовал использовать USB-фильтры (пустой фильтр и фильтр устройств)
- установил пакет расширений, попробовал USB по умолчанию (1.0), 2.0 и 3.0 в настройках машины
- попробовал все 4 комбинации устройств USB 3.0 и 2.0 с портами 3.0 и 2.0 (Virtualbox поддерживает USB 3.0, начиная с версии 5 IIRC)
Решение
Решение найдено в комментариях 21 и 26 этого отчета об ошибке VirtualBox:https://www.virtualbox.org/ticket/3033#comment:21
В сообществе есть несколько комментариев о том, что поддержка USB в VirtualBox не работает с драйверами верхнего фильтра, установленными на хостах Windows.
- kepler2 7 лет назад
Перефразируя решение от nayasis изhttps://forums.virtualbox.org/viewtopic.php?f=6&t=39104:
- Отредактируйте реестр: откройте
regedit.exe
(найдите его в меню «Пуск») и найдитеHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}
(кликните по нему) - Удалить запись
UpperFilters
справа - Возможно, вручную перезапустите драйверы Virtualbox: перейдите в
C:\Program Files\Oracle\VirtualBox\drivers\USB\filter
, щелкните правой кнопкой мышиVboxUSBMon.inf
и выберите «Установить» (я сделал это для безопасности, но не уверен, нужно ли это; похоже, некоторым людям достаточно было удалить запись в реестре)- Эта тема Windowsпредлагает также удалить
LowerFilters
запись, если она тоже существует. У меня не былоLowerFilters
- Эта тема Windowsпредлагает также удалить
- Выключите виртуальную машину, удалите все фильтры.
- Перезагрузить
- Подключите USB, запустите виртуальную машину и, надеюсь, теперь вы сможете добавить USB. Фильтры, насколько мне известно, нужны только для автоматического добавления USB-устройств. Они не должны влиять на то, сможете ли вы успешно добавить устройство или нет
Было невероятно неприятно находить все другие решения, которые не были проблемой здесь. Надеюсь, это поможет людям в будущем!