While using VirtualBox's Guest Additions to mount shared folders provides a seamless way to mount shared folders, there are also disadvantages.
- Shared folders will always mount in /media/sf_(share name) unless specified using through vbox drivers in the guest OS
- Mounting does not happen at boot-time. Applications that require paths at boot will not be able to access the shared folder even after it is mounted - such as Docker.
Instead of relying on Guest Additions, if you have sudo permissions, shared folders can be mounted at boot-time using fstab. Using this approach allows
- Mounting shared folders to specific paths other than /media/sf_(share name)
- Shared folders are guaranteed to be mounted at boot time.
However, it is important that the shared folder must exist on the Host OS or else the Guest OS will fail to boot.
These steps were adapted from http://jhshi.me/2016/07/12/mounting-virtualbox-shared-folder-on-boot/index.html.
First, find out your numerical uid and gid by performing the following shell commands.
$ echo $UID
1000
$ echo $GID
1000Here, my UID is 1000 and GID is 1000. This is necessary in order to give you read and write permissions when you mount the shared folder.
Let's assume you want to mount a shared folder with a share name you specified in VirtualBox as vb_shared to /home/kent/shared. Make sure that that path exists and create the directories if it isn't.
Now, open fstab and edit. Here I use nano.
$ sudo nano /etc/fstabEdit text marked by () by removing the () and using your own values and append the following at the end of fstab.
(vb_shared) (/home/kent/shared) vboxsf defaults,uid=(1000),gid=(1000),umask=0022 0 0
This line will mount your shared folder named vb_shared to mount to the path (that exists) /home/kent/shared. Once mounted, user with uid 1000 belong to group with gid 1000 will have read and write access through umask=0022.
If you have more than one shared folder, add one line for each shared folder you want to mount.
Now save the edited fstab.
Lastly, edit /etc/module to add vboxsf so that it is present at boot-time.
$ sudo nano /etc/modulesAppend the following line and save.
vboxsf
Restart and the shared folder/s should now be mounted at the specified path/s.


Thanks for the Gist, this was super helpful/quick/concise!