How to Boot From a USB Flash Drive in VirtualBox

How to boot from a USB Flash Drive in VirtualBox. This process will allow you to run your Portable Linux from the USB Flash Drive or external hard drive while still running from a Windows, Linux, or Mac OS X Host. By default VirtualBox does not support USB Boot. However, this is easily attainable by mapping a virtual machine (.vmdk file) to the USB Drive.

VirtualBox Website: https://www.virtualbox.org

Updated: 11/14/2020 – Simplified steps, corrected paths, added sudo.

Boot a USB Flash Drive from VirtualBox (Windows Host)

  1. Download and run VirtualBox (Installing to the default path).
  2. You'll need to use the command line to perform steps 3-6,
    To open a command prompt;
    1.) From the Windows '⌕ Type here to search' box, type cmd.exe
    2.) Then click Run as administrator
    open command prompt as admin
  3. At the command prompt, type diskmgmt.msc and press Enter to open the Windows Disk Management Tool.

    diskmgmt.msc

    Then, Identify your USB Disk #
    Diskmgmt.msc

  4. Now, back at the command line, type

    cd %programfiles%\oracle\virtualbox

  5. Replacing # with your USB Disk number from step 3, type

    VBoxManage internalcommands createrawvmdk -filename "%USERPROFILE%"\.VirtualBox\usb.vmdk -rawdisk \\.\PhysicalDrive#

  6. To start VirtualBox as Admin, type

    start virtualbox

  7. Click New, and then proceed to Create a New Virtual Machine.
    Create a New Virtual Machine
  8. When prompted for a Virtual Hard Disk, tick use existing hard disk. Then, browse to your %USERPROFILE%\.VirtualBox folder, and select the usb.vmdk file.
    Select Existing Virtual Disk usb.vmdk
  9. Once done creating your New Virtual Machine, click Start.
    Start VirtualBox

If all goes well, VirtualBox should now be emulating, booting, and running your USB device from within Windows.

Boot from a USB Flash Drive in VirtualBox (Linux Host)

The following was performed from a running Ubuntu Operating environment. The same should work for most Debian/Ubuntu Linux based environments.

  1. Open a Terminal and type sudo apt install virtualbox

    sudo apt install virtualbox

  2. Next, Type sudo fdisk -l

    sudo fdisk -l

    (note which device is your USB drive I.E. /dev/sdx)
    Use fdisk -l to locate usb device

  3. Replacing x with your actual device letter found from step 2, type

    sudo vboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdx

  4. Type sudo virtualbox to start the program, and proceed create a New Virtual Machine.
    Create a New Virtual Machine
  5. When prompted for a Virtual Hard Disk, tick use existing hard disk, then browse to your Home directory and select usb.vmdk.Select Existing Virtual Disk usb.vmdk
  6. Once you've finished creating your New Virtual Machine, click Start.
    Start VirtualBox - To Boot from USB in Virtualbox

If all went smoothly, you should now be running your USB flash drive from VirtualBox on the Linux Host.

Boot from a USB Flash Drive in VirtualBox (Mac OS X)

  1. Download and install VirtualBox for OS X Hosts via the .dmg file.
  2. Open a Terminal and type diskutil list

    diskutil list

    (make note of which disk is your USB drive I.E. /dev/disk#)

  3. Replacing # with the disk number of your USB drive, type

    diskutil unmountDisk /dev/disk#

  4. Again, replacing # with your actual disk number, type

    vboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/disk#

  5. Once more, replacing # with the disk number, type

    diskutil unmountDisk /dev/disk#

  6. Finally, to start the program with root access, type

    sudo virtualbox

  7. Next, Proceed to create a New Virtual Machine.
    Create a New Virtual Machine
    When prompted for a Virtual Hard Disk, tick use existing hard disk.
    Then, browse to your Home directory and select usb.vmdk.
    Select Existing Virtual Disk usb.vmdk
  8. Once finished creating your New Virtual Machine, click Start.
    Start VirtualBox - To Boot from USB in Virtualbox

You should now be booting from your USB flash drive on the Mac OS X host using VirtualBox, while retaining the ability to boot from the drive natively as well.

How to Boot From a USB Flash Drive in VirtualBox published under USB Virtual Machine Emulation 

Disclaimer