Vagrant error: Failed to mount folders in Linux guest - vagrant

I have a vagrant error. The log as follows:
vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> 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: 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: Warning: Connection timeout. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
default: /vagrant => /Users/diguage/box/centos
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
I Google it. StackOverflow had the same question:
Vagrant error : Failed to mount folders in Linux guest
I did it as the top answer: here. The different is that I downloaded the VBoxGuestAdditions_4.3.18.iso. But it did not work.
I try the second answer: here. It also did not work.
So, I have to ask the question.
My environment is :
Mac OSX 10.10
vagrant 1.6.3
CentOS release 6.5 (Final)
Kernel 2.6.32-431.29.2.el6.x86_64
VirtualBox 4.3.18
PS:
I used the box chef / centos-6.5. I first start the box, it was OK. But I sudo yum update,then sudo yum clean, restart the box, export the error.

Use Following is work fine for me.
vagrant plugin install vagrant-vbguest

I was having the same problem with the same setup, I noticed the problem is only with centos 6.5, so I am using chef/centos-6.6 and it has been working fine. There is very little difference between 6.5 and 6.6, so you shouldn't have any problems migrating your code over. Here's the link to the chef boxes.
EDIT
Ok, I ended up needing a 6.5 box, so I worked through it. The core issue is that the CentOS base repo doesn't include kernel headers(Ubuntu does). You first need to add the appropriate repos to your /etc/yum.repos.d/CentOS-Vault.repo, and you need to enable them. What you append should look something like this:
[C6.5-centosplus]
name=CentOS-6.5 - CentOSPlus
baseurl=http://vault.centos.org/6.5/centosplus/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1
You also need to check the /etc/yum.conf file and make sure there aren't any exclusions such as:
exclude=kernel*
if so comment this out for the time being, but make sure to uncomment it at the end.
Now, you can install the necessary headers for the kernel. The headers depend on kernel-devel, so lets grab that up first.
yum install kernel-devel-$(uname -r)
Then, grab up the headers
yum install kernel-headers-$(uname -r)
Finally, you'll need the dkms package
yum install dkms
Go back and uncomment the exclusions in yum.conf and you should be good to reboot. With only that installed you could then use:
vagrant package --base MyBase
This will give you a reusable CentOS 6.5 box that you can grab on demand. Hope this wasn't too late for you.

I have experienced this using Vagrant 1.8.1, VirtualBox 5.0.18, Chef 12.10.10 host MacOSX El Capitan and guest CentOS7.
I tried installing kernel-devel inside the guest, installing the latest GuestAdittions and running yum update, but none of these worked for me, so I changed the mount type for "nfs" in both my custom synced folders and chef temporary folder, and it worked!
In Vagrantfile, my synced folders:
config.vm.synced_folder ".", "/vagrant", type: "nfs"
and my chef_solo config:
chef.cookbooks_path = ["chef/cookbooks/"]
chef.synced_folder_type = "nfs"

Related

vagrant up hostonly issue --host-only-net9=HostOnly | Windows 10

When I want to excecute vagrant up command, the following issue is shown:
Bringing machine 'homestead' up with 'virtualbox' provider...
==> homestead: Checking if box 'laravel/homestead' version '12.2.0' is up to date...
==> homestead: Clearing any previously set forwarded ports...
==> homestead: Clearing any previously set network interfaces...
==> homestead: Preparing network interfaces based on configuration...
homestead: Adapter 1: nat
homestead: Adapter 2: intnet
==> homestead: Forwarding ports...
homestead: 80 (guest) => 8000 (host) (adapter 1)
homestead: 443 (guest) => 44300 (host) (adapter 1)
homestead: 22 (guest) => 2222 (host) (adapter 1)
==> homestead: Running 'pre-boot' VM customizations...
A customization command failed:
["modifyvm", :id, "--nic9", "hostonlynet", "--host-only-net9=HostOnly"]
The following error was experienced:
#<Vagrant::Errors::VBoxManageError: There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["modifyvm", "4474afc8-04d0-4ca3-b39f-748e3ab46b5f", "--nic9", "hostonlynet", "--host-only-net9=HostOnly"]
Stderr: VBoxManage.exe: error: Invalid NIC number 9
Oracle VM VirtualBox Command Line Management Interface Version 6.1.40
(C) 2005-2022 Oracle Corporation
All rights reserved.
Usage:
VBoxManage modifyvm <uuid|vmname>
[--name <name>]
[--groups <group>, ...]
[--description <desc>]
(.....A LOT OF COMMANDS OF MODIFYVM....)
[--defaultfrontend default|<name>]
VBoxManage.exe: error: Unknown option: --host-only-net9=HostOnly
>
Please fix this customization and try again.
Hello, I have this issue and I couldn't solve it neither find a solution on the web.
I don't know what else to try, that's why I'm here.
I've tried these same following steps in 3 different pc's with intel and amd with Windows 10 and It didn't work.
I think there's a setting that I still don't know I have to set about Hosts, ports and VirtualBox, because It doesn't matter what Adapter Ports do I configure to homestead, when I excecute Vagrant Up they are reseted and then the issue is shown on bash.
This is what I've done:
I've installed virtual Box 6.1.4 version.
I've installed Vagrant 2.3.2
Added C:\Program Files\Oracle\VirtualBox to enviroment variables
I excecuted the following commands on bash:
vagrant box add laravel/homestead
Option 2) VirtualBox
git clone https://github.com/laravel/homestead.git Homestead
cd Homestead
bash init.sh
ssh-keygen -t rsa -b 4096 -C "email"
Created code folder on the user folder
vagrant up
Please help!
You miss one step:
cd ~/Homestead
after you need to:
git checkout release
after you can run:
bash init.sh
... or
vagrant up --provision
I had the same issue today, this solved the problem.
Solved an issue by reverting changes of this commit.
Idk why this was added. Laravel homestead installation instructions says it has support of VirtualBox 6.1.x but commit message says "Updating HostOnly adapter for VirtualBox 7"

Vagrant error when running vagrant up on Git Bash on Window 10

I am having trouble with vagrant up on Git Bash.
I'm currently using Vagrant 2.2.19 and VirtualBox 6.1 version.
Whenever I put vagrant up on Bash to be able to open VirtualBox server on Git bash using vagrant ssh, it shows the following error.
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/bionic64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'ubuntu/bionic64' version '20200304.0.0' is up to date...
==> default: Setting the name of the VM: profiles-rest-api_default_1644116739589_78823
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 8000 (guest) => 8000 (host) (adapter 1)
default: 22 (guest) => 2222 (host) (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
The guest machine entered an invalid state while waiting for it
to boot. Valid states are 'starting, running'. The machine is in the
'unknown' state. Please verify everything is configured
properly and try again.
If the provider you're using has a GUI that comes with it,
it is often helpful to open that and watch the machine, since the
GUI often has more helpful error messages than Vagrant can retrieve.
For example, if you're using VirtualBox, run `vagrant up` while the
VirtualBox GUI is open.
The primary issue for this error is that the provider you're using
is not properly configured. This is very rarely a Vagrant issue.
What I have done so far
Visualization is enabled from BIOS
Install VirtualBox extension pack
Uninstall and reinstall VirtualBox and Vagrant several times
Also, when I put vagrant ssh after that error, it shows nothing, but the VirtualBox is running as this image. Can you guys help me figure out how to open the VirtualBox server on Bash, please? Thank you!
enter image description here
Welcome to stackoverflow! Please visit this useful link.
-Try to downgrade the vagrant version that you are using and try again.
-Also, try to use the command debug vagrant up in order to have debug logs available for a more precise description of the error message.
Finally, take a look at stackoverflow question too.
You need to downgrade the virtualbox version and the vagrant version (they need to be both on convenient versions)

Linux Vagrant Box compatible with VirtualBox version 6

I have been trying to install various Vagrant Boxes from Hashicorp's Vagrant Box Catalog but none seem to be compatible with:
Vagrant version: 2.2.9
VirtualBox versions: 6.0.x or 6.1.x
Host: Mac Catalina
I have tried multiple workarounds shared online and either the Guest Additions don't match or there are none available.
Both the plugin and the manual addition of guest additions also doesn't work.
Everything seems to work fine except for the shared folders syncing. Looking to get a workaround to fix the shared folder sync or a standard Linux Vagrant Box that is compatible with the VirtualBox guest additions.
The issue was fixed by manually mounting the Guest Additions VBoxGuestAdditions.iso file as CD-ROM in the VirtualBox.
Despite this, the Vagrant boxes may fail to sync shared folders via VirtualBox provider and instead use rsync for the same.
This can be fixed by updating the Vagrantfile by explicitly setting the provider type to VirtualBox in the config.
config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
After this vagrant reload and the shared folder sync should work as expected.
$ vagrant reload
==> default: Attempting graceful shutdown of VM...
==> default: Clearing any previously set forwarded ports...
Vagrant is currently configured to create VirtualBox synced folders with
the `SharedFoldersEnableSymlinksCreate` option enabled. If the Vagrant
guest is not trusted, you may want to disable this option. For more
information on this option, please refer to the VirtualBox manual:
https://www.virtualbox.org/manual/ch04.html#sharedfolders
This option can be disabled globally with an environment variable:
VAGRANT_DISABLE_VBOXSYMLINKCREATE=1
or on a per folder basis within the Vagrantfile:
config.vm.synced_folder '/host/path', '/guest/path', SharedFoldersEnableSymlinksCreate: false
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> 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: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
default: /vagrant => /Users/hemanik/vm/
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.
Not sure if it was able to find the guest additions default: Checking for guest additions in VM... or if the previous tweaking with the guest additions took effect but the shared folder sync works as expected.
Just for an update, reinstalled Vagrant and the current working versions are as follows:
Vagrant version: 2.2.10
VirtualBox Version: 6.0.24 r139119

Issues using vagrant up with multiple providers

I'm having an issue here trying to bring up a vagrant provider(s) specific box and am not certain what to do to proceed,
if this is in the documentation then I am not seeing it?
I am using the below to add the boxes
## Add the list of used Vagrant boxes
declare -A boxes
inc=1
boxes=(
['spherical64']='http://puppet-vagrant-boxes.puppetlabs.com/fedora-18-x64-vbox4210-nocm.box' ## Fedora 18 x64 nocm
['centos6464']='http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210-nocm.box' ## CentOS 6.4 x64 nocm
['centos5964']='http://puppet-vagrant-boxes.puppetlabs.com/centos-59-x64-vbox4210-nocm.box' ## CentOS 5.9 x64 nocm
['squeeze64']='http://puppet-vagrant-boxes.puppetlabs.com/debian-607-x64-vbox4210-nocm.box' ## Debian 6.0.7 x64 nocm
['wheezy64']='http://puppet-vagrant-boxes.puppetlabs.com/debian-70rc1-x64-vbox4210-nocm.box' ## Debian 7.0rc1 x64 nocm
['sles11164']='http://puppet-vagrant-boxes.puppetlabs.com/sles-11sp1-x64-vbox4210-nocm.box' ## SUSE Enterprise 11sp1 x64 nocm
['lucid64']='http://puppet-vagrant-boxes.puppetlabs.com/ubuntu-server-10044-x64-vbox4210-nocm.box' ## Ubuntu Server 10.04.4 x64 nocm
['precise64']='http://puppet-vagrant-boxes.puppetlabs.com/ubuntu-server-12042-x64-vbox4210-nocm.box' ## Ubuntu Server 12.04.2 x64 nocm
)
set -e
for box in "${!boxes[#]}"; do
echo "-- Installing: ${inc}/${#boxes[#]} ${box}"
vagrant box add "${box}" "${boxes[$box]}"
((inc+=1))
done
set +e
Then trying to vagrant up from there (after init)
bash-4.3$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'base' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: >= 0
==> default: Adding box 'base' (v0) for provider: virtualbox
default: Downloading: base
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.
Couldn't open file /private/tmp/base
bash-4.3$ vagrant box list
centos5964 (virtualbox, 0)
centos6464 (virtualbox, 0)
lucid64 (virtualbox, 0)
precise64 (virtualbox, 0)
sles11164 (virtualbox, 0)
spherical64 (virtualbox, 0)
squeeze64 (virtualbox, 0)
wheezy64 (virtualbox, 0)
bash-4.3$ vagrant up --provider=centos6464
The provider 'centos6464' could not be found, but was requested to
back the machine 'default'. Please use a provider that exists.
bash-4.3$ vagrant up --provider=virtualbox
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'base' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: >= 0
==> default: Adding box 'base' (v0) for provider: virtualbox
default: Downloading: base
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.
Couldn't open file /private/tmp/base
It was trying to use a base box (which did not exist) on vagrant up. So the answer is really to add the box name on vagrant init.
bash-4.3$ vagrant init precise64
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
bash-4.3$ cat Vagrantfile |grep 'config.vm.box'
config.vm.box = "precise64"
bash-4.3$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'precise64'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: tmp_default_1416506255173_95689
==> 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: Forwarding ports...
default: 22 => 2222 (adapter 1)
==> 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: Machine booted and ready!
==> default: Checking for guest additions in VM...
default: The guest additions on this VM do not match the installed version of
default: VirtualBox! In most cases this is fine, but in rare cases it can
default: prevent things such as shared folders from working properly. If you see
default: shared folder errors, please make sure the guest additions within the
default: virtual machine match the version of VirtualBox you have installed on
default: your host and reload your VM.
default:
default: Guest Additions Version: 4.2.10
default: VirtualBox Version: 4.3
==> default: Mounting shared folders...
default: /vagrant => /private/tmp

Vagrant, error when running vagrant up --provider=docker

I'm trying to test the new docker support in vagrant 1.6. I'm on windows and I've setup my vagrant file but when I run "vagrant up --provider=docker" I get the following:
Bringing machine 'default' up with 'docker' provider...
==> default: Docker host is required. One will be created if necessary...
default: Vagrant will now create or start a local VM to act as the Docker
default: host. You'll see the output of the `vagrant up` for this VM below.
default:
default: Box 'mitchellh/boot2docker' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: >= 0
default: Loading metadata for box 'mitchellh/boot2docker'
default: URL: https://vagrantcloud.com/mitchellh/boot2docker
default: Adding box 'mitchellh/boot2docker' (v0.8.0) for provider: virtualbox
default: Downloading: https://vagrantcloud.com/mitchellh/boot2docker/version/1/provider/virtualbox.box
default: Progress: 100% (Rate: 2999k/s, Estimated time remaining: --:--:--)
The executable 'bsdtar' Vagrant is trying to run was not
found in the %PATH% variable. This is an error. Please verify
this software is installed and on the path.
Uninstall Vagrant completely, remove C:\HashiCorp.
Reinstall Vagrant.
This will fix everything.
Go to Programs and Features
Find Vagrant and Repair
No need to reinstall :)
a fast solution is to attach the path of the mingw binary location to the system's Path variable, e.g.:
C:\HashiCorp\Vagrant\embedded\mingw\bin
Remember to separate path entries with a ;.
Download & Install package follow instruction here http://gnuwin32.sourceforge.net/packages/libarchive.htm
then update your Path environment variable to include the installed path of bsd executable, usually C:\Program Files (x86)\GnuWin32\bin

Resources