Use VBoxManage to Pass Through USB device to VirtualBox VM
Written on October 5, 2021
To pass through a USB device to a VirtualBox VM on a headless machine, use the VBoxManage command.
- Connect your USB device to the host computer
- Run
vboxmanage list usbhost
to list connected USB devices. Make a note of the device’sVendorId
,ProductId
(in parentheses), andSerialNumber
(in parentheses). We’ll use these later.$ vboxmanage list usbhost Host USB Devices: UUID: 8bc87bce-b9fc-4773-ba3c-6dbbe8d53c9b VendorId: 0x0bc2 (0BC2) ProductId: 0x331a (331A) Revision: 9.21 (0921) Port: 3 USB version/speed: 3/Super Manufacturer: Seagate Product: Expansion Desk SerialNumber: NBBBXX5V Address: sysfs:/sys/devices/pci0000:00/0000:00:14.0/usb4/4-4//device:/dev/vboxusb/004/002 Current State: Available
For the above, we’ll be using:
- Vendor ID:
0BC2
- Product ID:
331A
- Serial Number:
NBBBXX5V
- Vendor ID:
- Run
vboxmanage modifyvm myvmname --usbehci on --usbxhci on
to enable the USB 2.0 and USB 3.0 controllers inside the VM. Replacemyvmname
in the command with the name of your VM - Run
vboxmanage showvminfo myvmname --machinereadable | grep USBFilter
to review any USB filters already created for this VM. If there are any, increment the filter number below to the next available integer. Replacemyvmname
in the command with the name of your VM - Run
vboxmanage usbfilter add 0 --target myvmname --name "MyExternalHardDrive" --vendorid 0BC2 --productid 331A --remote no --serialnumber NBBBXX5V
to create a filter that will make this USB device available to the VM when it appears on the host. Replace variables for VM name, Vendor ID, Product ID, and Serial Number in the command as appropriate - Unplug the USB device and plug it back in to the host. The filter will apply and the device will be detected by the VM:
$ sudo lshw -C disk *-disk description: ATA Disk product: VBOX HARDDISK vendor: VirtualBox <snip> *-disk UNCLAIMED description: SCSI Disk product: Expansion Desk vendor: Seagate physical id: 0.0.0 bus info: scsi@32:0.0.0 version: 0915 serial: NBBBXX5V configuration: ansiversion=6
Comments/questions
There's no commenting functionality here. If you'd like to comment, please either mention me (@[email protected]) on Mastodon or email me. I don't have any logging or analytics running on this website, so if you found something useful or interesting it would mean a lot to hear from you.