I followed the steps for sharing folders between Windows 7 and Ubuntu in VirtualBox.
Despite that the folder appears with a X sign and gives me the following message when a try to open it:
The folder content could not be displayed
When I choose Shared Folder from the VirtualBox Device menu, the following warning is displayed:
On the system page, you have assigned more than 50% of your computer's memory (2.93 GB) to the virtual machine...
How can I successfully share folders between Windows and Ubuntu using VirtualBox?
110 Answers
Access to shared folders in Virtual Box
Command line
By default, VirtualBox shared folders are created with read/write permission for the guest. This can be done from the command line on the host with:
VBoxManage sharedfolder add "VM name" --name sharename --hostpath "C:\test"By adding the option --readonly we can restrict these for read-only access. Use the --transient option if you only want the shares to appear in the present session but not persistent for following sessions. There are some limitations for shared folders (see this question for details). If prerequisites are met we may mount these shared folders manually by running the following commands in the guest:
mkdir /home/<user>/vboxshare
sudo mount -t vboxsf -o uid=1000,gid=1000 sharename /home/<user>/vboxshare Of course, we can also use different mount options to mount as read/only or mount with read access only to root.
Auto-Mount through Virtual Box Manager
In case we enabled auto-mounting on creating a shared folder from the Virtual Box Manager those shared folders will automatically be mounted in the guest with mount point /media/sf_<name_of_folder>. To have access to these folders users in the guest need to be a member of the group vboxsf.
sudo usermod -aG vboxsf userNameThe guest will need to restart to have the new group added.
Source and further reading: Virtual Box User Manual
12Actually there is an easy way to do that:
- Install the extension pack for VirtualBox.
- Restart your virtual machine
- Install Guest Additions in your guest Ubuntu
- You can mount the ISO which is on
/mediaor press Left Control+D
Reboot
Try to access
/media/sf_your_shared_folder_name. If you still don't have access, that means you don't belong to thevboxsfgroup. Run this command in the virtual machine:sudo adduser your_vm_username vboxsfLog out and log in again to apply changes of
adduser. If you still can not access the folder, try rebooting.If you still can not see the shared folder, you have to mount it. You can activate automount for the shared folder in the options of VirtualBox Manager.
Restart again.
First, please make sure you have installed the Guest Additions
Start your VM
Mount the CD:
sudo mount /dev/cdrom /media/cdromInstall the necessary packages:
sudo apt-get install make gcc linux-headers-$(uname -r)Install:
sudo /media/cdrom/VBoxLinuxAdditions.run
Second, add your user to the group 'vboxsf':
~$ echo $USER;
ahmed
~$ sudo usermod -a -G vboxsf ahmedReboot
Know that the label of your shared folder is lpi (for example):
Prepend sf_ to the label. Then, you will find your shared folder under /media/sf_lpi
Finally, you can also create a link to your home. For example:
ln -s /media/sf_lpi /home/ahmed/lpi:)
3Add the shared folder to the virtual machine using vBox graphical interfaceMake sure to select automount and make permanent
Login to the virtual machine using a root account
Check vboxsf group exists
~$ grep vboxsf /etc/group
vboxsf:x:125:Check user is not already in vboxsf group
~$ id nilo
uid=1000(nilo) gid=1000(nilo) groups=1000(nilo),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),124(sambashare)Add user nilo to vboxsf group
~$ sudo usermod -a -G vboxsf niloCheck again user groups
~$ id nilo
uid=1000(nilo) gid=1000(nilo) groups=1000(nilo),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),124(sambashare),125(vboxsf)Reboot and login as nilo
Shared folder is now accesible in /media/sf_dropbox (dropbox is the name I gave to the share)
Share a folder between Host OS-> Windows and Guest OS ->Ubuntu(Virtual box)
Step 1Install install Guest Additions from VirtualBox’s menu go to Devices->Install Guest Additions This will mount a virtual CD on your /media/cdrom. As root user Open this /media/cdrom added folder using Open with terminal option(Right click with mouse).
Step 2Run the program VBoxLinuxAdditions.run. When the program completes reboot your VirtualBox.
$ sudo ./VBoxLinuxAdditions.runStep 3Create a shared folder. From Virtual menu go to Devices->Shared Folders then add a new folder in the list, this folder should be the one in windows which you want to share with Ubuntu(Guest OS). Make this created folder auto-mount. Example -> Make a folder on Desktop with name Ubuntushare and add this folder.
Step 4When done with you shared folder(s) specification, we mount folder from Ubuntu(Guest OS). Create a mountpoint, this a directory in Ubuntu that will share files with the shared folder from Windows. Run this to create a directory in Ubuntu
$ sudo mkdir ~/Desktop/windowsshareStep 5With your mountpoint created you can now mount the shared folder. Run this command to share the folder:
$ sudo mount -t vboxsf Ubuntushare ~/Desktop/windowsshareUbuntushare is the name of folder we add in VirtualBox Devices section this folder is in Windows(Host OS). ~/Desktop/windowsshare is the directory in Ubuntu(Guest OS)
CONGRATULATIONS-> Now you can share the files between Windows and Ubuntu. Try adding any file in windows(Host OS) Ubuntu share folder now check Ubuntu(Guest OS) windowsshare directory the file will be reflected.
My Article
Shared folder b/w windows and ubuntu
As of now (version 6.0.10 of VirtualBox) there are make permanent and auto-mount options for shared folder, also mount point (At) in GUI of virtualbox. For me the following worked:
- On guest Ubuntu:
sudo apt-get install virtualbox-guest-utils - Add shared folder in GUI of VirtualBox.
- Restart guest OS
Folder on mount point specified in GUI was created automatically and ls showed files located on host Windows PC.
Late to the party, but here is the solution that worked well for me:
Make sure that you have Guest Additions installed
- And all the necessary packages:
linux-headers,build-essential,gcc,make...
- And all the necessary packages:
Add Shared folder
- In VirtualBox Manager select your Virtual Machine (VM)
- Settings >> Shared Folders >> Add new shared folder
- Folder path: path to the folder to be shared with your VM
- Folder name: name of the shared folder to be displayed in your VM
- Tick the Auto-mount option, so that it automatically mounts the folder on VM startup
After adding a shared folder, your folder appears in your VM as
sf_<folder_name>- Problem is that you cannot access it unless you are logged in as
rootuser
- Problem is that you cannot access it unless you are logged in as
Give permissions to the shared folder. Open terminal (Ctrl+Alt+T) and enter these commands:
sudo usermod -a -G vboxsf <username> sudo chown -R <username>:users /media/sf_<folder_name>- where
<username>- your user name,<folder_name>- shared folder name - What these commands do is:
- adds a user to
vboxsfgroup - changes the ownership of the shared folder (it's all files and subdirectories) to the user
- adds a user to
- where
Restart your VM
- Install the program called 'Programs and Group' from the Software Center
- Choose the current user and click on Manage Groups
- Choose vboxsf and click 'Add'
- Reboot
Create a dir where you're going to mount this, like
mkdir docsInstall Guest Additions into the guest Ubuntu machine.
Shutdown the Ubuntu guest, then configure it.
In Storage, setup your shared folder and make a note of what you set as the name in the second field. For example "crazy". Check the box for Auto-Mount.
Boot the Ubuntu guest.
Like you said, it won't actually be accessible. (This is the key part of your question.) You'll find instead it is present at
/media/sf_crazy, where 'crazy' is the name you gave it. And, it will also be present in your home dir at~/crazy.You now need to take one more step to actually mount it:
sudo mount -o uid=1000,gid=1000 -t vboxsf ~/crazy ~/docs
Perform these steps after installing Guest Additions. For Windows 10 host environment, on the Windows machine I had to share folders.
- Right click folder to share
- Select "Share with"
- Select "Specific People"
- Chose Everyone, read/write options
- On client Ubuntu machine run command: sudo adduser xxxxxxx vboxsf
where xxxxxx is your user account name. Log out and log back in to Ubuntu.