VirtualBox: Не удалось подсоединить USB-устройство.

VirtualBox: Не удалось подсоединить USB-устройство.

28.07.2020 0 Автор GodKnowses

Флешка к виртуальной Windows не подключается: ошибка Не удалось подсоединить USB-устройство.

Всем привет, сегодня очередное короткое эссе на тему исправления очередной ошибки Windows. Суть последней заключается в том, что флешка к виртуальной Windows не подключается. Или отключается сразу за подключением. Или в настройках VirtualBox отображается, но в проводнике и консоли управления дисками виртуальной Windows той нет. При этом однотипность систем не важна. Например, Windows 7 гостевая машина на хосте Windows 10 (не забывайте о проблемах с USB 3.0 в Windows 7). И наоборот – если и хозяйская и гостевая ОС однотипны, ошибки не редки. В моём примере на фоне хозяйской Windows 10 к виртуальной Windows 7 на VirtualBox нельзя подключить ни один из USB дисков. Все они (и конкретно нужная в данный момент флешка) в настройках устройств виртуальной машины отображаются корректно:

попытка подключить флешку к виртуальной windows

Однако при попытке подсоединить какой-либо виртуальная Windows выдаёт ошибку типа:

Не удалось подсоединить USB-устройство * к виртуальной машине XXX.

не удалось подсоединить usb устройство

Часто симптомы проблемы у всех пользователей одни и те же: впервые подключённая флешка “разрешает” с собой поработать нормально. Но, сразу после того, как мы её единожды от VB отстегнём, начинаются проблемы.

установка драйвера через driver booster

в гостевой Windows 7 драйверов к контроллеру USB DriverBooster вообще сначала не обнаружил

Варианты решений следующих вопросов:

Предупреждаю сразу: баг тот ещё. Ошибка существует с незапамятных времён, и VirtualBox гарантированно решить её не способна. Проблема с USB устройствами в VirtualBox появилась – причём официально призналась – с версии 4.2.*, что продолжается до сих пор.

Исправляем ” Не удалось подсоединить USB-устройство “.

Для постоянных читателей блога потенциальное решение ошибки особого труда представить из себя не должно. Очевидно, что её результатом снова оказывается ряд налагаемых системой на USB-флешки фильтров. Причём это ошибка может появляться и со стороны хозяйской (в моём случае Windows 10) системы, так и со стороны гостевой. А иногда в обеих сразу (читайте следующий абзац). Решение по сети популярное, но, зачастую, единственное. В соответствии с информацией из статьи Проблемы с USB драйверами: варианты решений проверим настройки реестра через его редактор

regedit.exe

в ключе {36FC9E60-C465-11CF-8056-444553540000} по адресу в реестре

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\

проверяем наложение дополнительных фильтров:

удаление ключа реестра с USB настройками

Ну точно, видим фильтр UpperFilters в последней строчке среди прочих параметров справа в окне. Смело удаляем, соглашаясь в предупреждением редактора:

удаление параметра реестра upperfilters с USB настройками

удаление некоторых параметров реестра может привести к нестабильности

После перезагрузки хозяйской Windows 10 запускаем гостевую Windows 7 (в моём случае) и проверяем. В момент появления рабочего стола виртуальной Windows 7 та сразу успешно устанавливает драйвера к флешке, что сопровождается характерным звуковым сигналом. Через пару мгновений в проводнике Windows 7 на VirtualBox я вижу свою флешку:

установка драйвера usb флешки в виртуальной машине

флешка в виртуальной машине

попытка подключить флешку к виртуальной windows 7

флешка подключена к виртуальной windows корректно

Всё, ошибка Не удалось подсоединить USB-устройство у многих пользователей больше не появляется.

Флешка подключается и сразу отключается.

usb device is busy with previous request

ошибка usb device is busy with previous request

Вариант первый: непонятный производитель.

  • Включаем виртуальную машину.
  • В Настройках машины в VirtualBox находим параметр, отвечающий за USB, в котором добавляем новый фильтр, указывая нашу флешку:

раздел usb в настройках virtualbox

  • щёлкаем дважды по появившемуся фильтру и удаляем содержимое поля с названием Продукта:

удаляем сведения о продукте из настройек usb в virtualbox

  • Жмём ОК. По сути, если вы добавили специальный фильтр, ничего, кроме Имени и двух ID VirtualBox-у,  вообще не нужно, чтобы правильно идентифицировать флешку. Однако иногда настройки фильтра нуждаются в более тщательном подходе. Например, на некоторых виртуальных машинах мой фильтр для конкретной флешки в настройках выглядит так:
настройки фильтра для флешки в virtualbox

я оставляю только верхние три строчки

Вариант второй: ставим драйвер вручную

Давайте попробуем установить драйверы для USB вручную. Для этого в хозяйской Windows закроем гостевую VirtualBox и через проводник переходим по пути:

C:\Program Files\Oracle\VirtualBox\drivers\USB\filter

  • правой мышкой щёлкаем по файлу  с именем VboxUSBMon.inf и выбираем Установить:

установка usb драйвера для virtualbox вручную

операция успешно завершена windows 10

  • Перезагружаем Windows. Флешку вытаскиваем и запускаем виртуальную Windows уже без неё. Проверьте – в списке Устройств виртуальной машины никаких USB флешек быть не должно.
  • Подключаем флешку и снова проверяем, подключилась ли та к виртуальной Windows. Если потребуется, проверьте флешку в самой виртуальной Windows на ошибки.

ВАЖНО

Совет дня: фильтр настраиваем до запуска самой виртуальной ОС. После этого вынимаем флешку, запускаем виртуальную Windows, ждём появления рабочего её стола и только потом подключаем флешку к виртуалке. Не забудьте указать на неё чек-боксом в Устройствах в панели инструментов.

подключить флешку к virtualbox

Вариант три: барагозит служба grpconv.exe.

Она же конвертер групп диспетчера программ Windows. Сидит тот в автозагрузке благодаря сниферу Usbpcap. А он чаще всего поставляется с анализатором трафика Wireshark. Установлен такой? Ну и вот… Удаляйте. Не саму Wireshark, конечно, а снифер:

как удалить usbpcap

как удалить usbpcap из wireshark

всё выделять не нужно: только этот эддон

После удаления перезагружайте Windows и проверяйте.

Не удалось подсоединить USB-устройство: usb device is busy with previous request.

Если в верхней части экрана VirtualBox при попытке пристегнуть флешку постоянно появляется сообщение на английском с окончанием usb device is busy with previous request, решение ошибки может лежать в части валидности самой программы. И здесь вариантов немного, хотя симптомов фоне ошибки море. Если usb device is busy with previous request появляется при подключении любой из флешек, проверьте Диспетчер устройств хозяйской машины.

  • Запускаем гостевую ОС
  • Откроем Диспетчер устройств хозяйской Windows
  • Ищите устройство с именем VirtualBox USB. Если рядом с ним наблюдается характерное жёлтое восклицание об ошибке установки, проблема именно в драйвере. На моём опыте традиционный в этом случае для Windows подход с поиском прямо из Диспетчера не прокатит. Равно как и принудительная установка драйвера VirtualBox USB. Вот нормальное развитие событий:

устройство virtualbox usb работает нормально

А при таком раскладе проблемы налицо:

драйвер на хосте не установлен

поиск драйверов virtualbox usb

Для решения я могу предложить несколько вариантов.

  • Для начала откатите плагин VirtualBox Extension Pack в Настройках машины:

переустановить плагин virtaulbox extension pack

Проверьте страницу загрузок и поставьте версию поближе к той версии самой VirtualBox, что установлена у вас. Возможно, что придётся поискать среди предыдущих версий (об этом ниже). Ставится плагин в той части настроек программы, откуда и удаляется. После установки плагина перезагрузите хозяйскую Windows и повторите манипуляции с фильтрами.

  • Из нескольких виртуальных машин на большинстве помог только этот вариант – откат к предыдущей версии. Удаляем свежую и на той же странице загрузок в разделе Download VirtualBox (Old Builds)
    ищем версию поколением ниже. Так, если у вас сейчас установлен VirtualBox 6.*.*, следует поискать версию 5.*.*. Соответственно, Extension Pack этой версии должен соответствовать.

версии virtualbox

При удалении, напомню, VirtualBox сами виртуальные системы никуда не деваются и изменений не претерпевают. Если машины после переустановки окажутся недоступными, просто удалите их из списка и создайте новые, указав на соответствующую папку и файл .vdi. Не забудьте вернуть настройки “перетянул-сбросил”, общий буфер обмена и пристегните плагин Extension Pack в Настройках. Должно заработать.

Всем успехов.