Oracle VM VirtualBox is a powerful cross-platform virtualization product intended for enterprise or personal use. VirtualBox is freely available as Open Source Software under the GNU General Public Licence (GPL) version 2.
VirtualBox extends the capabilities of your existing computer so that it can run multiple operating systems, you can even run VirtualBox inside a virtual machine, to run another Operating system, all on the same PC, the only limits are disk space and memory.
- 64-bit guests (hardware virtualization support is required)
- Snapshots
- Seamless mode – the ability to run virtualized applications side by side with normal desktop applications
- Shared clipboard
- Shared folders
- Special drivers and utilities to facilitate switching between systems
- Command line interaction (in addition to the GUI)
- Public API (Java, Python, SOAP, XPCOM) to control VM configuration and execution[38]
- Nested paging for AMD-V and Intel VT (only for processors supporting SLAT and with SLAT enabled)
- Limited support for 3D graphics acceleration (including OpenGL up to (but not including) 3.0 and Direct3D 9.0c via Wine's Direct3D to OpenGL translation)
- SMP support (up to 32 virtual CPUs per virtual machine), since version 3.0
- Teleportation (aka Live Migration)
- 2D video output acceleration (not to be mistaken with video decoding acceleration), since version 3.1
- Sometimes you may need to enable virtualization from your BIOS settings. Learn how to access BIOS settings [here.](https://www.lifewire.com/how-to-enter-bios-2624481)
- Next, you will hit the "New" button in VirtualBox, and name your VM with any name you like.
- The application will run you through several more configurations. Most importantly, note how much storage you select for
the drive. This is the maximum size the machine file can be, which will take up storage on your device. Also, not how much memory you provide the machine because these resources will be unavailable to your host OS while running the VM.
- With the virtual machine powered off, select the machine in the VM manager.
- Select settings at the top
- Select USB
- Ensure "Enable USB Controller" box is marked.
- Select the proper radio button for the USB device is marked;
- "USB 1.1 (OHCI Controller)", "USB 2.0 (EHCI Controller)", "USB 3.0 (xHCI Controller", most of your devices should work with the USB 2.0 option. Verify USB type before selecting.
- On the right side, click the USB icon with the green + symbol.
- Select your USB device. (If you aren't sure which is which, unplug the device, select a blank area to get rid of the drop-down menu, select the icon again, and repeat with the device plugged in to see the difference. You should consult the device's manual or manufacturers website to see what drivers your device uses)
- Power on your device and you should be able to use whatever applications you need the device for, seamlessly.
- [How to setup a local linux environement with vagrant](https://medium.com/@JohnFoderaro/how-to-set-up-a-local-linux-environment-with-vagrant-163f0ba4da77)