Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Vagrant error : Failed to mount folders in Linux guest

I have some issues with Vagrant shared folders, my base system is Ubuntu 13.10 desktop.

I do not understand why I have this error is something that is not right configured ? Is a NFS issue or Virtualbox Guest Additions ? I have tried with different many boxes but the same issue.

Failed to mount folders in Linux guest. This is usually because     the "vboxsf" file system is not available. Please verify that     the guest additions are properly installed in the guest and     can work properly. The command attempted was:      mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3` /vagrant /vagrant     mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` /vagrant /vagrant 

Here is the complete process after vagrant up :

$ vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Importing base box 'u131032'... ==> default: Matching MAC address for NAT networking... ==> default: Setting the name of the VM: vagrant_default_1396020504136_46442 ==> default: Clearing any previously set forwarded ports... ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration...     default: Adapter 1: nat     default: Adapter 2: hostonly ==> default: Forwarding ports...     default: 22 => 2222 (adapter 1) ==> default: Running 'pre-boot' VM customizations... ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes...     default: SSH address: 127.0.0.1:2222     default: SSH username: vagrant     default: SSH auth method: private key     default: Error: Connection timeout. Retrying...     default: Error: Remote connection disconnect. Retrying...     default: Error: Remote connection disconnect. Retrying...     default: Error: Remote connection disconnect. Retrying...     default: Error: Remote connection disconnect. Retrying...     default: Error: Remote connection disconnect. Retrying...     default: Error: Remote connection disconnect. Retrying...     default: Error: Remote connection disconnect. Retrying...     default: Error: Remote connection disconnect. Retrying...     default: Error: Remote connection disconnect. Retrying...     default: Error: Remote connection disconnect. Retrying...     default: Error: Remote connection disconnect. Retrying...     default: Error: Remote connection disconnect. Retrying... ==> default: Machine booted and ready! GuestAdditions versions on your host (4.3.10) and guest (4.2.16) do not match.  * Stopping VirtualBox Additions    ...done. Reading package lists... Building dependency tree... Reading state information... The following packages were automatically installed and are no longer required:   dkms libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libfontenc1   libgl1-mesa-dri libglapi-mesa libice6 libllvm3.3 libpciaccess0 libpixman-1-0   libsm6 libtxc-dxtn-s2tc0 libxaw7 libxcomposite1 libxdamage1 libxfixes3   libxfont1 libxkbfile1 libxmu6 libxpm4 libxrandr2 libxrender1 libxt6   x11-common x11-xkb-utils xfonts-base xfonts-encodings xfonts-utils   xserver-common xserver-xorg-core Use 'apt-get autoremove' to remove them. The following packages will be REMOVED:   virtualbox-guest-dkms* virtualbox-guest-utils* virtualbox-guest-x11* 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. After this operation, 11.1 MB disk space will be freed. (Reading database ... 65615 files and directories currently installed.) Removing virtualbox-guest-dkms ...  -------- Uninstall Beginning -------- Module:  virtualbox-guest Version: 4.2.16 Kernel:  3.11.0-18-generic (i686) -------------------------------------  Status: Before uninstall, this module version was ACTIVE on this kernel.  vboxguest.ko:  - Uninstallation    - Deleting from: /lib/modules/3.11.0-18-generic/updates/dkms/  - Original module    - No original module was found for this module on this kernel.    - Use the dkms install command to reinstall any previous module version.   vboxsf.ko:  - Uninstallation    - Deleting from: /lib/modules/3.11.0-18-generic/updates/dkms/  - Original module    - No original module was found for this module on this kernel.    - Use the dkms install command to reinstall any previous module version.   vboxvideo.ko:  - Uninstallation    - Deleting from: /lib/modules/3.11.0-18-generic/updates/dkms/  - Original module    - No original module was found for this module on this kernel.    - Use the dkms install command to reinstall any previous module version.  depmod....  DKMS: uninstall completed.  ------------------------------ Deleting module version: 4.2.16 completely from the DKMS tree. ------------------------------ Done. Removing virtualbox-guest-x11 ... Purging configuration files for virtualbox-guest-x11 ... Removing virtualbox-guest-utils ... Purging configuration files for virtualbox-guest-utils ... Processing triggers for ureadahead ... Processing triggers for man-db ... Reading package lists... Building dependency tree... Reading state information... dkms is already the newest version. dkms set to manually installed. linux-headers-3.11.0-18-generic is already the newest version. linux-headers-3.11.0-18-generic set to manually installed. The following packages were automatically installed and are no longer required:   libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libfontenc1 libgl1-mesa-dri   libglapi-mesa libice6 libllvm3.3 libpciaccess0 libpixman-1-0 libsm6   libtxc-dxtn-s2tc0 libxaw7 libxcomposite1 libxdamage1 libxfixes3 libxfont1   libxkbfile1 libxmu6 libxpm4 libxrandr2 libxrender1 libxt6 x11-common   x11-xkb-utils xfonts-base xfonts-encodings xfonts-utils xserver-common   xserver-xorg-core Use 'apt-get autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Copy iso file /usr/share/virtualbox/VBoxGuestAdditions.iso into the box /tmp/VBoxGuestAdditions.iso mount: block device /tmp/VBoxGuestAdditions.iso is write-protected, mounting read-only Installing Virtualbox Guest Additions 4.3.10 - guest version is 4.2.16 Verifying archive integrity... All good. Uncompressing VirtualBox 4.3.10 Guest Additions for Linux............ VirtualBox Guest Additions installer Copying additional installer modules ... Installing additional modules ... Removing existing VirtualBox DKMS kernel modules ...done. Removing existing VirtualBox non-DKMS kernel modules ...done. Building the VirtualBox Guest Additions kernel modules ...done. Doing non-kernel setup of the Guest Additions ...done. Starting the VirtualBox Guest Additions ...done. Installing the Window System drivers Could not find the X.Org or XFree86 Window System, skipping. An error occurred during installation of VirtualBox Guest Additions 4.3.10. Some functionality may not work as intended. In most cases it is OK that the "Window System drivers" installation failed. ==> default: Checking for guest additions in VM... ==> default: Setting hostname... ==> default: Configuring and enabling network interfaces... ==> default: Exporting NFS shared folders... ==> default: Preparing to edit /etc/exports. Administrator privileges will be required... nfsd running sudo: /usr/bin/exportfs: command not found ==> default: Mounting NFS shared folders... ==> default: Mounting shared folders...     default: /vagrant => /home/me/Documents/Work/project/vagrant Failed to mount folders in Linux guest. This is usually because the "vboxsf" file system is not available. Please verify that the guest additions are properly installed in the guest and can work properly. The command attempted was:  mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3` /vagrant /vagrant mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` /vagrant /vagrant 

My Vagrantfile configuration is :

# -*- mode: ruby -*- # vi: set ft=ruby :  # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! VAGRANTFILE_API_VERSION = "2"  personalization = File.expand_path("../Personalization", __FILE__) load personalization  Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|   config.vm.box = $base_box   config.vm.box_url = $base_box_url    config.vm.hostname = $vhost + ".dev"    config.hostsupdater.aliases = ["api." + $vhost + ".dev", "mysql." + $vhost + ".dev"]   config.hostsupdater.remove_on_suspend = true    # set auto_update to ture to check the correct    # additions version when booting the machine   config.vbguest.auto_update = true   config.vbguest.auto_reboot = true    config.vm.network :private_network, ip: $ip    config.vm.synced_folder "../", "/srv/www/vhosts/" + $vhost + ".dev", type: "nfs"    config.vm.provider :virtualbox do |v|     v.customize ["modifyvm", :id, "--memory", 2048]     v.customize ["modifyvm", :id, "--cpus", "1"]     v.customize ["modifyvm", :id, "--cpuexecutioncap", "100"]     v.customize ["modifyvm", :id, "--ioapic", "off"]     v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]   end    config.vm.provision "shell" do |s|     s.path = "vagrant-bootstrap.sh"     s.args = $vhost + " " + $mysql_password + " " + $application_database   end end 

The Personalization file is :

# Name of the vhost to create $vhost = "project"  # Use the Ubunut 32bit or 64bit $base_box_url = "http://cloud-images.ubuntu.com/vagrant/saucy/current/saucy-server-cloudimg-i386-vagrant-disk1.box"  # VM IP $ip = "192.168.7.7"  # Base box name $base_box = "u131032"  # MySQL $mysql_password = "admin" $application_database = "project" 

The following plugins are enabled in Vagrant:

$ vagrant plugin list vagrant-hostsupdater (0.0.11) vagrant-login (1.0.1, system) vagrant-share (1.0.1, system) vagrant-vbguest (0.10.0) 
like image 219
radu c Avatar asked Mar 28 '14 15:03

radu c


People also ask

Why can't I mount folders in the guest system?

So again, the error message was "Failed to mount folders in Linux guest. This is usually because the "vboxsf" file system is not available." (...) This was caused because I have made mistake by doing symlink inside the guest system from /vagrant into /home/vagrant/vagrant.

What is wrong with my vagrant mount command?

This is not a bug in Vagrant and is usually caused by a faulty Vagrant box. For context, the command attempted was: mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant The error output from the command was: /sbin/mount.vboxsf: mounting failed with the error: No such device

Why can't I Mount VirtualBox shared folders in Vagrant?

==> build: Mounting shared folders... build: /vagrant => C:/projects/ Vagrant was unable to mount VirtualBox shared folders. This is usually because the filesystem "vboxsf" is not available. This filesystem is made available via the VirtualBox Guest Additions and kernel module.

Where is the mounted NFS drive on Vagrant guest?

By default, the mounted drive on guest is at /vagrant IF you still have problems related to mounting NFS drives, then here is a workaround that worked for me. I had a vagrantfile with config something like:


2 Answers

The plugin vagrant-vbguest GitHub RubyGems solved my problem:

$ vagrant plugin install vagrant-vbguest 

Output:

$ vagrant reload ==> default: Attempting graceful shutdown of VM... ... ==> default: Machine booted and ready! GuestAdditions 4.3.12 running --- OK. ==> default: Checking for guest additions in VM... ==> default: Configuring and enabling network interfaces... ==> default: Exporting NFS shared folders... ==> default: Preparing to edit /etc/exports. Administrator privileges will be required... ==> default: Mounting NFS shared folders... ==> default: VM already provisioned. Run `vagrant provision` or use `--provision` to force it 

Just make sure you are running the latest version of VirtualBox

like image 69
karlingen Avatar answered Sep 28 '22 12:09

karlingen


I found this issue addressed here vagrant issues. Two ways to do it:

  1. Run this on guest (i.e. after you ssh into vbox via vagrant ssh )

    sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions 

    Then run vagrant reload to correctly mount the folders.

  2. As @klang pointed out, update the VBoxGuestAdditions.iso file on your mac:

    wget https://www.virtualbox.org/download/testcase/VBoxGuestAdditions_4.3.11-93070.iso‌​ sudo cp VBoxGuestAdditions_4.3.11-93070.iso /Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso 

UPDATE (16may2014)

Since the iso is no longer available, you can use the 4.3.12 one (http://dlc.sun.com.edgesuite.net/virtualbox/4.3.12/VBoxGuestAdditions_4.3.12.iso)

note : the binary vbox4.3.12 for os X is not available at this time

like image 34
kenzie Avatar answered Sep 28 '22 12:09

kenzie