VirtualBox is an amazing virtualization tool, ideal for all kinds of software testing situations -- unless they involve booting from USB, where there’s no direct support at all.
There’s a workaround which will sort-of solve the problem, no additional software required, but it’s awkward and inflexible. Virtual Machine USB Boot is an interesting alternative, an open-source portable tool which makes it much easier to boot USB keys in both VirtualBox and QEMU.
Setup is simple. We clicked "Add", entered a name for our project, chose the VirtualBox VM to be launched (these were automatically detected and presented in a list), and the USB drive to boot from.
There’s no need to do anything else, although the program does offer one or two other tweaks -- alternative load methods, run minimized/ full screen options, CPU priority choices -- for anyone interested.
Every boot item you create is added to a list. Double-click one and it dismounts the USB key from your PC, adjusts the VM’s settings to include it, then launches the VM for you.
This worked perfectly for us, with our test VM correctly booting from the USB drive. This wasn’t then available to our host operating system – you can access it from one system, or the other, not both at the same time -- but once we closed the VM, Virtual Machine USB Boot mounted the key and we were able to use it again.
You might not be so lucky, depending on how your VM is set up. Virtual Machine USB Boot tries to add your key to the first available port in the VirtualBox storage controller, for instance, but if there’s no port available this will fail. It also won’t work if there’s a prior port with an HDD, or your VM isn’t set up to boot from HDD.
Don’t let that put you off, though -- the program won’t harm your existing setup, it should work just fine with most VMs, and if you do run into any problems then they’re likely to be easily resolved.
Virtual Machine USB Boot is an open source tool for Windows XP -- 8.1.