VirtualBox can do it.
It doesnt allow you to directly boot from USB, but it does allow you to attach a physical device to a virtual drive.
So the trick is to create a virtual drive pointing to your USB stick, and then adding that drive to the vistual machine.
Step 1 - Find your USB key ID
- Right Click on My Computer > Manage > Disk Management
- Find your USB.
Disk 1 means the ID is
- Numbering starts from 0 (your first HDD), so USB stick will be 1, 2 or even 3.
Step 2 - Create the Virtual Drive
In terminal ( menu > cmd ), issue the following command:
VBoxManage internalcommands createrawvmdk -filename "%USERPROFILE%\usb.vmdk" -rawdisk \\.\PhysicalDrive1
Im assuming your USB is PhysicalDrive1
- The drive will be created in C:\Users\youruser\usb.vmdk
Step 3 - Add the drive to the virtual machine
- Just use Virtualbox's GUI
- Select the Virtual Machine > Settings > Storage > Add Attachment > Choose existing Disk
- Browse for the newly created
More details can be found in this amazing article