Install VirtualBox guest additions onto Ubuntu server guests
Have tested these steps successfully with Ubuntu
16.04LTS guests using VirtualBox
5.1 as host.
- Install steps
- Mount with guest/host permissions matched
- Allow symlink creation for shared folders
Create Ubuntu server instance under VirtualBox (obviously).
Start VM, goto Devices - Insert Guest Additions CD image to mount the ISO image.
From the terminal, run the following commands:
$ sudo su $ apt install gcc make $ mkdir --parents /media/cdrom $ mount /dev/cdrom /media/cdrom $ /media/cdrom/VBoxLinuxAdditions.run $ reboot
$ modinfo vboxguest $ sudo usermod --append --groups vboxsf -- "$USER" $ cat /etc/group | grep "$USER"
Host shares should now be mounted in Ubuntu guest under
/mediavia the installed
VBoxServiceservice, set to start on system boot-up.
Note: the above steps can be repeated on an existing VM image for guest addition upgrades,
VBoxLinuxAdditions.run will handle the uninstall and reinstall process automatically.
Mount with guest/host permissions matched
By default with auto mounted shares, VirtualBox will set an interesting set of ownership and file/directory permissions for the guest which (for me at least) is sub-optimal.
To correct this behavior and correctly mirror permissions between host and guest we can do the following:
Shut down the guest (if not already) and ensure "Auto-mount" is disabled.
Restart the guest.
From the shell, determine the
uid/gidof the host user:
$ umask 0022 $ id uid=1000(USERNAME) gid=1000(USERNAME) groups=1000(USERNAME),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),110(lxd),115(lpadmin),116(sambashare)
Now mount the share as follows, inserting
$ mkdir --parents /path/to/share $ sudo mount.vboxsf -o umask=UMASK,uid=UID,gid=GID SHARE_NAME /path/to/share
If this works, we can now add a permanent entry to
/etc/fstab, again inserting
SHARE_NAME /path/to/share vboxsf umask=UMASK,uid=UID,gid=GID 0 0
Remount all file systems
$ sudo mount -a
Allow symlink creation for shared folders
By default symlink creation by a VirtualBox guest against a shared/host filesystem is not allowed. To unlock run the following:
$ vboxmanage setextradata VBOX_GUID VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARED_FOLDER_NAME 1
A list of active/valid
VBOX_GUID's can be returned via:
$ vboxmanage list vms