
У меня есть удаленный компьютер с Windows 10, который служит хостом для Linux (Debian 9), работающего в качестве гостя внутри VirtualBox. Виртуальная машина работает в режиме сетевого моста, поэтому обе ОС имеют локальные IP-адреса и могут «видеть» друг друга. У меня есть доступ к гостевому Linux (который является частью VPN) через SSH с моей локальной машины. Из гостевой машины я также могу получить доступ к командной строке/bash/powershell хоста через сервер SSH (встроенный в Windows 10). Иногда мне нужно иметь доступ к подключенному USB-устройству из обеих ОС. Это не обязательно должно быть одновременно — достаточно одного за другим.
Переключить подключенное USB-устройство между хостом и гостем через VirtualBox GUI (Устройства -> USB-устройства) — тривиальная задача. Но есть ли способ сделать это из командной строки — либо из хоста, либо из гостя, или, что еще лучше, из обоих?
решение1
Для управления виртуальной машиной VirtualBox с помощью командной строки вам следует использовать VBoxManage
команду/инструмент. Помните, что в Windows это не добавляется в путь, поэтому вам придется вручную перейти в каталог (например, cd /D C:\Program Files\Oracle\VirtualBox
).
После этого вы можете использовать VBoxManage
команду для подключения USB-устройства, но это немного сложнее, чем сделать это с помощью графического интерфейса.
Следующийэтот пост в блогеЭнтони Джепсон:
- Найдите идентификатор/имя виртуальной машины:
VBoxManage list vms
- Найдите идентификатор USB-устройства:
VBoxManage list usbhost
- Подключите устройства к виртуальной машине:
VBoxManage controlvm <VM> usbattach <ID>
Theофициальная помощь Глава 8также есть информация о том, какие еще команды доступны. В частности, вас, вероятно, интересует usbdetach
для controlvm
того, чтобы извлечь USB-устройство.
В указанной записи блога также показано, как создать USB-фильтр для постоянного подключения USB-устройства к виртуальной машине.