Skip to content

Instantly share code, notes, and snippets.

  • Save anlexN/5b53ff02bb732934e4f8b38d0f328b7f to your computer and use it in GitHub Desktop.
Save anlexN/5b53ff02bb732934e4f8b38d0f328b7f to your computer and use it in GitHub Desktop.
Mounting VirtualBox shared folders on Ubuntu Server 18.04 LTS (Bionic Beaver)

Mounting VirtualBox shared folders on Ubuntu Server 18.04 LTS (Bionic Beaver)

This guide will walk you through the steps on how to setup a VirtualBox shared folder inside your Ubuntu Server guest.

Prerequisites

This guide assumes that you are using the following setup:

  • Oracle VM VirtualBox version 6.0.10
  • Microsoft Windows 7 SP1 as the host OS
  • A fresh install of Ubuntu Server 18.04.2 LTS as the guest OS

You could still make this guide work with other setups (possibly with some modifications to the commands and whatnot). But if you want to do it the way I did then please feel free to use my setup above.

Initial Steps

  • Open VirtualBox
  • Right-click your VM, then click Settings
  • Go to Shared Folders section
  • Add a new shared folder
  • On Add Share prompt, select the Folder Path in your host that you want to be accessible inside your VM.
  • In the Folder Name field, type shared
  • Uncheck Read-only and Auto-mount, and check Make Permanent
  • Start your VM
  • Once your VM is up and running, go to Devices menu -> Insert Guest Additions CD image menu
  • Use the following command to mount the CD:
    sudo mkdir /media/cdrom
    sudo mount -t iso9660 /dev/cdrom /media/cdrom
    
  • Install dependencies for VirtualBox guest additions:
    sudo apt-get update
    sudo apt-get install -y build-essential linux-headers-`uname -r`
    
  • Run installation script for the guest additions:
    sudo /media/cdrom/./VBoxLinuxAdditions.run
    
  • Reboot VM
    sudo shutdown -r now
    
  • Create "shared" directory in your home
    mkdir ~/shared
    
  • Mount the shared folder from the host to your ~/shared directory
    sudo mount -t vboxsf shared ~/shared
    
  • The host folder should now be accessible inside the VM.
    cd ~/shared
    

Make the mount folder persistent

This directory mount we just made is temporary and it will disappear on next reboot. To make this permanent, we'll set it so that it will mount our ~/shared directory on system startup

  • Edit fstab file in /etc directory
    sudo nano /etc/fstab
    
  • Add the following line to fstab (separated by tabs) and press Ctrl+O to Save.
    shared	/home/<username>/shared	vboxsf	defaults	0	0
    
  • Edit modules
    sudo nano /etc/modules
    
  • Add the following line to /etc/modules and save
    vboxsf
    
  • Reboot the vm and log-in again
    sudo shutdown -r now
    
  • Go to your home directory and check to see if the file is highlighted in green.
    cd ~
    ls
    

If it is then congratulations! You successfully linked the directory within your vm with your host folder.

Bonus

How to point apache's web directory to our folder in the host.

  • Remove apache's old html directory (WARNING! Backup your data if necessary)
    sudo rm -rf /var/www/html	
    
  • Add a symbolic link in its place
    sudo ln -s ~/shared /var/www/html
    

Note: This setup works fine with Windows hosts. But if your using Linux or Mac you may have to set the appropriate file permissions on your directory with chmod in order to make it work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment