VMware ESXi and vSphere Cluster Management

Configure USB Settings in Oracle VirtualBox

Learn how to enable the USB controller for a VirtualBox virtual machine and pass host-connected USB devices through to the guest operating system.

Oracle VirtualBox can give a virtual machine access to eligible USB devices connected to the physical computer. This is called USB pass-through: VirtualBox assigns a host-connected USB device to the virtual machine so the guest operating system can use it.

What the USB settings control

The USB section in a virtual machine's Settings window controls VirtualBox USB support. These settings determine whether the guest receives a virtual USB controller and can communicate with supported USB devices passed through from the host.

Oracle VirtualBox is desktop virtualization software. A virtual machine (VM) is the guest computer environment running inside VirtualBox. The host is the physical computer and operating system running VirtualBox, while the guest operating system is the operating system installed inside the VM.

How VirtualBox provides USB access

A physical USB device is initially connected to the host computer. VirtualBox presents a software-emulated USB controller to the guest operating system. When you pass a device through, VirtualBox assigns that physical device to the VM, allowing the guest to communicate with it as though it were connected to a USB controller inside the guest computer.

ComponentRole
Host computerPhysical computer and operating system to which the USB device is connected.
VirtualBoxManages the VM and controls USB assignment between the host and guest.
Virtual USB controllerSoftware-emulated controller presented to the guest operating system.
Guest operating systemUses the virtual controller and requires suitable support or drivers for the USB device.
Physical USB deviceDevice connected to the host and optionally passed through to the VM.

Default USB controller behavior

VirtualBox normally adds a USB controller when a virtual machine is created. You can verify that the controller is enabled, or enable it later, from the VM's USB settings. The controller setting is separate from attaching a particular physical USB device: enabling the controller prepares the guest for USB access, while the device must still be made available to the VM.

Prerequisite: fully power off the virtual machine

Power off the target VM before changing its USB controller setting. A VM that is running or suspended is not in the same state as a fully powered-off VM. Shut down the guest operating system normally, or use VirtualBox's power-off operation if a normal shutdown is not possible, and confirm that the VM is no longer running or suspended.

Enable the USB controller

  1. Open Oracle VM VirtualBox Manager.
  2. Select the target virtual machine.
  3. Confirm that the VM is fully powered off.
  4. Open the VM's Settings dialog.
  5. Choose USB.
  6. Enable USB Controller.
  7. Select OK to save the change.

The configuration path is VirtualBox Manager > select virtual machine > Settings > USB. The VM can be started after the setting is saved.

USB configuration workflow

StepLocation in VirtualBoxActionPurpose
Power off the VMVirtual machine window or ManagerShut down the VM completelyAllow hardware settings to be changed safely
Select the VMVirtualBox ManagerChoose the target virtual machineApply the setting to the correct VM
Open SettingsVirtualBox ManagerOpen the VM's Settings dialogAccess virtual hardware configuration
Open the USB sectionSettings > USBSelect USBDisplay USB controller options
Enable USB ControllerUSB settings pageSelect Enable USB ControllerPresent a virtual USB controller to the guest
Save with OKSettings dialogSelect OKApply the configuration
Start the VM and use the USB deviceVirtualBox Manager and guestStart the VM and attach or assign the device through the applicable VirtualBox USB workflowMake the physical USB device available to the guest

Use a USB device after configuration

After saving the setting, start the VM. Connect the required USB device to the host, then make it available to the guest using VirtualBox's USB device handling. The guest operating system must support the device and have any required drivers. Enabling the controller alone does not guarantee that every USB device will work.

Example: prepare a USB flash drive

  1. Power off the VM completely.
  2. Open Settings > USB and enable USB Controller.
  3. Select OK to save the setting.
  4. Start the VM.
  5. Make the host-connected flash drive available to the guest through VirtualBox USB handling.
  6. Check the guest operating system for the newly attached drive.

When attachment succeeds and the guest has compatible storage support, the flash drive is detected by the guest. While attached to the VM, it may be unavailable to the host.

Troubleshooting

The USB controller option cannot be changed

The VM may be running or suspended rather than fully powered off. Shut down the VM completely, reopen its Settings dialog, select USB, enable the controller, and save with OK.

A USB device appears on the host but not in the guest

USB support may be disabled, or the device may not have been passed through to the VM. Verify that Settings > USB has USB Controller enabled, then attach the device through the applicable VirtualBox USB workflow.

The guest does not recognize an attached device

First confirm that the device is attached to the VM rather than remaining available only to the host. Then verify that the guest operating system supports the device and has the required drivers.

Key points

  • The USB settings page controls USB support for one specific VM.
  • VirtualBox presents a virtual USB controller to the guest.
  • The VM should be fully powered off before changing the USB controller setting.
  • Enable the controller at Settings > USB, then select OK.
  • A physical USB device must be passed through to the VM after the controller is enabled.
  • The guest operating system must support the attached device.
  • A captured USB device may be unavailable to the host until it is released by the VM.