Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Laravel Homestead Vagrant - 'vboxsf' not available issue

So I have been trying to install Laravel Homestead through Vagrant/VirtualBox. It used to work but now it is not working at all. I have included what is returned from running vagrant up in addition to the log file /var/log/vboxadd-install.log mentioned in the error from the guest machine. Below are all the version numbers to my current setup as well.

OS: Windows 8.1 (64-bit), VirtualBox: 4.3.26, Vagrant: 1.7.2

Here is the result of running the command vagrant up

PS C:\Users\brand_000\Homestead> vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'laravel/homestead' is up to date...
==> 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: 80 => 8000 (adapter 1)
    default: 443 => 44300 (adapter 1)
    default: 3306 => 33060 (adapter 1)
    default: 5432 => 54320 (adapter 1)
    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: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
==> default: Machine booted and ready!
Got different reports about installed GuestAdditions version:
Virtualbox on your host claims:   4.3.18
VBoxService inside the vm claims: 4.3.8
Going on, assuming VBoxService is correct...
GuestAdditions versions on your host (4.3.26) and guest (4.3.8) do not match.
Got different reports about installed GuestAdditions version:
Virtualbox on your host claims:   4.3.18
VBoxService inside the vm claims: 4.3.8
Going on, assuming VBoxService is correct...
Reading package lists...
Building dependency tree...
Reading state information...
linux-headers-3.16.0-23-generic is already the newest version.
dkms is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
Copy iso file C:\Program Files/Oracle/VirtualBox/VBoxGuestAdditions.iso into the box /tmp/VBoxGuestAdditions.iso
mount: /dev/loop0 is write-protected, mounting read-only
Installing Virtualbox Guest Additions 4.3.8 - guest version is 4.3.8
Verifying archive integrity... All good.
Uncompressing VirtualBox 4.3.8 Guest Additions for Linux............
VirtualBox Guest Additions installer
Removing installed version 4.3.8 of VirtualBox Guest Additions...
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
The headers for the current running kernel were not found. If the following
module compilation fails then this could be the reason.

Building the main Guest Additions module ...done.
Building the shared folder support module ...fail!
(Look at /var/log/vboxadd-install.log to find out what went wrong)
Doing non-kernel setup of the 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.8. 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: Mounting shared folders...
    default: /vagrant => C:/Users/brand_000/Homestead
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

The error output from the last command was:

/sbin/mount.vboxsf: mounting failed with the error: No such device
PS C:\Users\brand_000\Homestead>

Here is the contents of the error file. PasteBin Upload of error file @ /var/log/vboxadd-install.log

I did install the vbguest vagrant plugin per a few guides and answers here at StackOverflow but nothing has worked so far. Even tried downgrading VirtualBox to 4.3.8 and other version with no luck. I followed the instructions on installing Laravel Homestead correctly. As I mentioned, it worked in the past. Any suggestions?

like image 668
Brandon Enriquez Avatar asked May 11 '15 18:05

Brandon Enriquez


4 Answers

Edit scripts\homestead.rb, change:

mount_opts = folder["type"] == "nfs" ? ['actimeo=1'] : []

to

mount_opts = folder["type"] == "nfs" ? [''] : []

Then install VBoxGuestAdditions:

C:\Homestead> vagrant plugin install vagrant-vbguest
C:\Homestead> vagrant up
C:\Homestead> vagrant ssh
$ sudo ln -s /opt/VBoxGuestAdditions-4.3.18/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
$ sudo apt-get install --yes dkms linux-headers-3.16.0-23-generic
$ sudo /etc/init.d/vboxadd setup
$ exit
C:\Homestead> vagrant halt 
C:\Homestead> vagrant up
like image 86
Limon Monte Avatar answered Dec 20 '22 06:12

Limon Monte


This works for me in linux, I think this will solve the problem in windows as well.

Quick Solution for Failed to mount folders in Linux guest issue.

Add the following line to your Homestead/Vagrantfile:

config.vbguest.auto_update = false

Your Homestead/Vagrantfile should looks like this:

/...

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

    # To avoid install and uninstall VBoxGuessAdditions during vagrant provisioning.
    config.vbguest.auto_update = false

.../

Save it and execute

$ vagrant destroy --force
$ vagrant up
like image 43
Isaac Peraza Leon Avatar answered Dec 20 '22 06:12

Isaac Peraza Leon


I solved the a similar problem as of the output from vagrant up was the following:

Installing Virtualbox Guest Additions 5.0.4 - guest version is 4.3.
Verifying archive integrity... All good.
Uncompressing VirtualBox 5.0.4 Guest Additions for Linux...........
VirtualBox Guest Additions installer
Removing installed version 4.3.14 of VirtualBox Guest Additions...
Copying additional installer modules ...
Installing additional modules ...
Removing existing VirtualBox non-DKMS kernel modules[  OK  ]
Building the VirtualBox Guest Additions kernel modules
Building the main Guest Additions module[FAILED]
(Look at /var/log/vboxadd-install.log to find out what went wrong)

and then later

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

Symptoms

My vagrant script had been running smoothly for a long while, but yesterday I changed physical hardware for my disks, by moving my disks from a lenovo T520 to a T530. Fine with this, I had to update several drivers.

So I wasn't able to run my vagrant script on new hardware on the same disk.

Reason

The reason was the new graphic card, a NVIDIA graphic card. This card has a GPU processor, which hooks up with every process on the computer and try to detect whether using the GPU or not. As a default the GPU on my machine was setup to hook the GPU to every running process.

This CPU hooking that NVIDIA does, effect VirtualBox in a way, that the VBGuestAdditions aren't able to install the drivers correctly, or at least saying that something is missing.

Solution

Open the NVIDIA Control => 3D Settings -> Manage 3D settings. Then select the "Program Settings" tab.

Now the trick is to the add VirtualBox.exe to the dropdown box "1. Select a program to customize" and then set "2. Select the preferred graphics processer for this program" to "Integrated graphics"

This does the whole trick. Vagrant up spins up the machine and doesn't throw the message of "Failed to mount folders in linux guest"

I'm up and running again after investigating this program for a whole day.

like image 33
Jakob Ojvind Nielsen Avatar answered Dec 20 '22 06:12

Jakob Ojvind Nielsen


Just remove type: "nfs" line from Homestead.yaml file.

From:

folders:
    - map: ~/Code
      to: /home/vagrant/Code
      type: "nfs"

To:

folders:
    - map: ~/Code
      to: /home/vagrant/Code
like image 29
horse Avatar answered Dec 20 '22 06:12

horse