How to share a VirtualBox virtual machine with users of the computer

The idea

To make a VM available from different user accounts on one computer (not having it running at the same time), you need to set up a few things:

  • Locate the virtual hard drive of the shared machine in a directory where different users have appropriate permissions.
  • Create virtual machines on the different accounts, using that same virtual hard drive.

How it can be done

  • Create a shared folder, in your personal home folder, for you and other user(s):

    • Make other users member of the group yourusername (the easiest way is to install gnome-system-tools and use the users and groups -section. Manage groups > choose_yourusername > properties > add_other_users (detailed instructions here to mange users, and here to create a shared folder)

    • Change the permissions of the folder; right-click on in nautilus. In the permissions tab, change the group permissions for group yourusername to read & write.

    • Change the permissions for the files in the folder similarly (the button down in the nautilus properties window).

  • Create a virtual machine in VirtualBox. Do not use the default directory for a disk, but browse to the shared folder and save the disk image there. If you have an existing VM, delete it, delete its folder in ~/VirtualBox VMs as well, but keep its disk image, and move it to the shared folder first, then create a new VM, using the existing image as a harddisk. (if you try to relink the disk image in your existing VM, VirtualBox will complain the UUID already exists).

  • On the other user's account(s), create similar machines, but use the hard disk image in the shared directory: /home/yourusername/shared_folder/machine_name.vdi (depending on the diskimage you created)

it's easier to just set file permissions for particular VM for user group.

I doesn't matter where it is, you don't have to delete and redo anything.

In my case it was in my \home\ folder and I just set file permissions to read/write for user group where the other user was.

Then log in as this other user, enter Virtualbox > Machine > Add and navigate to vmdk (or other format) file of this particular VM.

No issues. No idea why you need to create new VM.