Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

How to Mount USB Drives on VirtualBox

DZone's Guide to

How to Mount USB Drives on VirtualBox

Sometimes you just need to access a USB drive from a VirtualBox VM! We take a look at how to make this happen in this post.

· Integration Zone ·
Free Resource

The State of API Integration 2018: Get Cloud Elements’ report for the most comprehensive breakdown of the API integration industry’s past, present, and future.

This is part three of a three-part series on VirtualBox. Parts one and two demonstrate how to install VirtualBox on a Debian host, and to build a FreeBSD virtual machine. This post shows you how to access, from your guest OS, a flash drive mounted on the Debian host.

Prerequisites

The VirtualBox extension pack must be installed on the VirtualBox host. See part 2 for instructions.

Configuring USB

Follow the steps below to configure the VirtualBox USB.

  1. Add the user to the vboxusers group. VirtualBox access to the host's USB drives is only granted to users of the vboxusers group. As root on the host, run the following command to add each VirtualBox user (e.g., peter) to the group.

     # usermod -aG vboxusers peter
  2. Power off VM. VirtualBox defaults to using USB Controller 1.1 (OHCI). Modern hardware uses USB Controller 2.0 (EHCI) and USB Controller 3.0 (xHCI). Before you can change the USB controller protocol, the virtual machine must be powered off.

  3. Open VirtualBox Manager, click Settings, and select USB.

  4. Specify USB Controller.

    Select either USB 2.0 (EHCI) Controller or USB 3.0 (xHCI) Controller according to your actual hardware.

    Note that you can add USB Device Filters to define the types of USB drives which will be automatically made visible to the guest OS. Be forewarned that the USB drive, once made visible to the guest OS, will no longer be available to the host. More on the use of device filters in the next section.

Accessing the USB Drive

Below is the step-by-step procedure to mount and access a flash drive.

  1. Insert the flash drive into your host machine's USB port.

  2. Unmount the flash drive (if it is auto-mounted on your host).
    Making it available to the guest will automatically and instantly unmount it from the host. To avoid any data loss due to pending writes to the drive, it is a good practice to explicitly unmount the drive prior to handing control to the guest.

  3. Power on the FreeBSD guest.

  4. Assign the USB drive to the guest OS.


    Open the virtual system console, and right click the USB drive icon.


    Click to select your USB drive.

    Note, this is a one-time assignment only. Please see instructions at the end of the section on how to automatically assign this particular USB drive for all subsequent sessions.
  5. Login to FreeBSD, and mount the drive. You can mount an MS-DOS-based flash drive by running the following commands as root. Replace /dev/da0s1 with the proper device identifier for your USB drive (you can find out the exact device ID by first running dmesg to identify the device name, e.g. da0, and fdisk to reveal the disk partition structure, e.g., s1).

     # mkdir -p  /media/usb
     # mount -t msdosfs  /dev/da0s1  /media/usb

    To unmount the drive,

     # umount /media/usb

To always automatically assign a particular USB drive to the guest OS, open the VirtualBox Manager, click Settings, and then USB.

Finally, click the Add USB device filter (with the + sign) icon, and select the USB drive that is currently inserted into the host.

Your API is not enough. Learn why (and how) leading SaaS providers are turning their products into platforms with API integration in the ebook, Build Platforms, Not Products from Cloud Elements.

Topics:
virtualbox ,vm ,virtual machine ,integration

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}