Erro do Vagrant: falha ao montar pastas no convidado do Linux

277

Tenho alguns problemas com as pastas compartilhadas do Vagrant, meu sistema básico é o Ubuntu 13.10 desktop.

Eu não entendo por que tenho esse erro é algo que não está configurado corretamente? Há um problema no NFS ou adições de convidados do Virtualbox? Eu tentei com diferentes caixas, mas o mesmo problema.

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

Aqui está o processo completo depois 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

Minha configuração do Vagrantfile é:

# -*- 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

O arquivo de personalização é:

# 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"

Os seguintes plugins estão ativados no 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)
Ek Kosmos
fonte
esse problema também aconteceu comigo depois de atualizar a caixa virtual 5.1.20. Este tipo make me preocupar cada vez que eu atualizar meu VM como esta não é a primeira vez :(
GusDeCooL
@GusDeCooL que você pode desligar a atualização automática das adições de hóspedes com config.vbguest.auto_update = falseno Vagrantfile
Henrik

Respostas:

356

O plugin vagrant-vbguest resolveu meu problema:GitHub RubyGems

$ vagrant plugin install vagrant-vbguest

Resultado:

$ 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

Apenas verifique se você está executando a versão mais recente do VirtualBox

karlingen
fonte
Estou usando o plug-in vagrant-vbguest, mas isso não resolveu nada até eu atualizar para o VirtualBox-4.3.12-9.
Mckk
5
Esta é a única coisa que consertou para mim. Depois que eu fiz isso, os convidados VboxAdditions foram atualizados e combinaram com meu host. E tudo bem, sem problemas. Eu só tenho que manter versões iguais no convidado e no host. Obrigado pelo ponteiro @karlingen
Rixhers Ajazi
1
Comecei a ter esse problema depois de instalar o plugin. desinstalá-lo não está corrigindo o problema.
Yamiko 28/08
13
jee eu teria economizado cerca de 20 horas de googling, configurando re-etc. emitindo um presente one-liner muito ... Onde está o seu "apenas comprar-me um botão da cerveja" ...
Yordan Georgiev
1
Cuidado, este plug-in pode causar um problema quase idêntico se você deixar config.vbguest.auto_update = true(padrão) github.com/dotless-de/vagrant-vbguest/issues/141
KCD
231

Eu encontrei este problema abordado aqui questões vagantes. Duas maneiras de fazer isso:

  1. Execute isso no guest (ou seja, depois de ssh no vbox via vagrant ssh)

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

    Em seguida, execute vagrant reloadpara montar corretamente as pastas.

  2. Como o @klang apontou, atualize o arquivo VBoxGuestAdditions.iso no seu 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
    

ATUALIZAÇÃO (16 de maio de 2014)

Como o iso não está mais disponível, você pode usar o 4.3.12 ( http://dlc.sun.com.edgesuite.net/virtualbox/4.3.12/VBoxGuestAdditions_4.3.12.iso )

nota: o binário vbox4.3.12 para os X não está disponível no momento

kenzie
fonte
5
Você pode apenas precisa fazer recarga vagabundo depois para re-montar as pastas compartilhadas
d4nt
3
Alguém sabe uma maneira de incluir isso como parte do VagrantFile, para que seja executado antes da montagem das unidades?
Jason Austin
3
@JasonAustin github.com/mitchellh/vagrant/issues/3341 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 .. depois disso, você tem os negócios como sempre.
Klang
5
Usar uma Win 7caixa com Vagrant 1.3.5e VirtualBox 4.3.10, a resposta nº 1 não funcionou para mim. Eu ainda tenho os unable to mount ...erros
Kevin Meredith
3
A correção recomendada é a opção um, como publicado originalmente aqui . O URL para o arquivo ISO em opção dois não é mais válido e lança um 404.
colinhoernig
49

Cheguei a esta página enquanto procurava a mesma mensagem de erro. Para mim, a causa era diferente: eu havia executado um yum updateno sistema que instalava um novo kernel. As adições de convidados estavam desatualizadas, por isso não as carregavam.

Eu os reconstruí com

sudo /etc/init.d/vboxadd setup 

E vagrant reloadmais tarde, meu convidado voltou a funcionar.

Só estou adicionando aqui caso outra pessoa chegue aqui da mesma maneira que eu.

Editar (pelo comentário do KCD):
É possível que você receba um erro dizendo:

Os cabeçalhos do kernel atual em execução não foram encontrados

Isso pode ser resolvido instalando kernel-devel( yum install kernel-devel)

Blizz
fonte
3
Obrigado. Eu esqueci que eu corri yum update. Estou deixando este comentário para que o Future Austin o encontre quando isso acontecer novamente.
Austin
1
E eu corri apt-get update no ubuntu, deixando um comentário para o futuro skift quando isso acontece novamente :-)
skift
Presente e futuro Loïc apenas obrigado :) (esqueci que também corri yum update)
loïc m.
Ele pode falhar dizer The headers for the current running kernel were not founde pedir-lhe para yum install kernel-develque funciona
KCD
1
Eu também tive que instalar o gcc para que isso funcionasse. Resumindo: 1) yum install kernel-devel-$(uname -r) e 2) yum install gcc; e, finalmente, saia da VM e faça vagrant reload. Este foi em uma caixa Centos 7 Vagrant (bento / CentOS-7.1)
JDS
29

Corrija passo a passo:

Se você não possui o plugin vbguest, instale-o:

$ vagrant plugin install vagrant-vbguest

Run Vagrant

É mostrar um erro.

$ vagrant up

Login na VM

$ vagrant ssh

Consertar!

No convidado (VM registrada).

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

De volta ao host, recarregue o Vagrant

$ vagrant reload
Dadaso Zanzane
fonte
Eu acho que é o melhor e mais transparente solução
Mateusz Odelga
Isso funcionou, mas com o Fedora 22 eu tive que vagrant sshentrar na caixa e fazê-lo sudo ln -s /etc/dnf/dnf.conf /etc/yum.conf, pois o Fedora mudou do yum para o dnf. Com isso, as coisas terminaram (eu acho!). Obrigado @dadaso.
JZ
14

Atualização de fevereiro de 2016

Levei horas para resolver de forma independente. Sim, esse problema ainda existe com as instalações mais recentes do Vagrant e da Virtual Box:

△  vagrant -v
Vagrant 1.8.1
△  vboxmanage -v
5.0.14r105127

Os sintomas para mim foram mensagens como:

Checking for guest additions in VM... The guest additions on this VM do not match the installed version of VirtualBox!

seguido por uma falha na montagem das unidades NFS.

1) Instale o vagrant-vbguestplugin.

Dependendo da versão do Vagrant que você estiver usando, execute um dos seguintes comandos:

# For vagrant < 1.1.5
$ vagrant gem install vagrant-vbguest

# For vagrant 1.1.5+
$ vagrant plugin install vagrant-vbguest

Em seguida, faça vagrant halt, seguido por vagrant up- é provável que você ainda tenha problemas.

2) ssh no seu convidado e configure um link para a versão correta do Guest Additions (aqui, 5.0.14).

$ vagrant ssh

$ sudo ln -s /opt/VBoxGuestAdditions-5.0.14/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
$ exit

$ vagrant reload

Você deve ser tudo de bom. Por padrão, a unidade montada no convidado está em/vagrant

Comentário final:

Se você ainda tiver problemas relacionados à montagem de unidades NFS, aqui está uma solução alternativa que funcionou para mim. Eu tive um vagrantfilecom configuração algo como:

Simplesmente remova as informações do tipo de montagem e reduza as configurações mount_options para que funcionem universalmente. O Vagrant agora escolherá automaticamente a melhor opção de pasta sincronizada para o seu ambiente.

arcseldon
fonte
2
Obrigado por isso ... sua vagrantfileconfiguração está faltando, pouco antes do parágrafo final - há alguma chance de você adicioná-la novamente?
Phil Gyford
Isso ainda não funciona para mim. Eu baixei um novo Vagrant. O vboxmanage já mostrou a versão acima. O link que o OP recomenda já estava lá.
Tony Ennis
1
Onde está sua configuração do Vagrantfile? Está faltando sua resposta.
Aboelseoud
12

Instale o plugin vagrant-vbguest executando este comando:

vagrant plugin install vagrant-vbguest
ngonidzashe
fonte
6

Tive o mesmo problema com o Centos 7, presumo que devido a um kernel desatualizado em combinação com uma versão atualizada do VirtualBox. Com base na atualização da Blizz, foi o que funcionou para mim (o plugin vagrant-vbguest já instalado):

vagrant ssh
sudo yum -y install kernel-devel
sudo yum -y update
exit
vagrant reload --provision
user3006381
fonte
5

Para mim, com o VBoxGuestAdditions 5.1.20, o problema era que /sbin/mount.vboxsfapontava para o local errado.

sudo ln -sf /opt/VBoxGuestAdditions-5.1.20/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf

consertou para mim

bartv
fonte
Eu não sou um usuário do Vagrant, mas tive esse mesmo problema em um convidado do Fedora Core em execução em um host OSX. Acho que o problema é que a localização de mount.vboxsffoi alterada, mas o instalador está fazendo o link simbólico para a localização antiga.
Teddy
Este é um erro confirmado nas adições de convidados 5.1.20: virtualbox.org/ticket/16670
Max Smolens
4

Conforme mencionado na edição 3341 do Vagrant, esse era um bug do Virtualbox # 12879 .

Afeta apenas o VirtualBox 4.3.10 e foi completamente corrigido no 4.3.12.

tsusanka
fonte
que é o que eu estou fazendo desde que tenha tomado por esse link para download
Pat K
1
Observe que esse bug foi corrigido no VirtualBox 4.3.12.
bbrame
5
Eu tenho exatamente o mesmo erro no VirtualBox 4.3.26
terbooter
4
4.3.28 para mim, e mesmo problema.
Adam Parkin
5.0.14r105127 para mim e o mesmo problema #
Philip Pryde
3

Creio que esta é a resposta mais atualizado agora e ele trabalhou para mim ( Guest Additions Version: 5.0.6, VirtualBox Version: 4.3.16, Ubuntu 14.04 LTS)

https://github.com/mitchellh/vagrant/issues/3341#issuecomment-144271026

Basicamente eu digo:

Simple and 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
psychok7
fonte
3
Pode-se notar que 'vagrant destroy' destrói sua VM, com qualquer coisa que você tenha configurado / instalado dentro dela, a menos que eu esteja enganado.
CargoMeister 13/02/16
Esta foi a única e mais rápida solução para mim. Estava com problemas em uma imagem "Ubuntu preciso de 64 VirtualBox" a partir daqui . VirtualBox 5.1.2 e Vagrant 1.8.5 no Windows.
Jamin
3

Apenas para referência futura, esse problema aconteceu comigo, usando o Vagrant 1.7.4 e o VirtualBox 5.0.10 r104061, quando provisionei uma pasta compartilhada /e criei um link simbólico para a minha pasta pessoal. Algo assim:

/folder
~/folder -> /folder

Aparentemente, essa operação não é permitida pelo Vagrant por motivos de segurança e gera o erro descrito.

Eu o resolvi fornecendo a pasta desejada diretamente para o meu diretório pessoal, como /home/vagrant/folder.

Matheus Portela
fonte
1
Muito obrigado. Este foi o meu problema também.
Sarcastron
1
Correto, uma pasta compartilhada /também não é permitida na minha versão do Vagrant (1.8.1) #
Amedee Van Gasse
2

No meu caso, em uma imagem do Ubuntu 16.04 que funcionava anteriormente, o erro foi iniciado após a instalação do vagrant-vbguest para uma imagem diferente do vagrant e depois da inicialização da VM do Ubuntu. Atualizou as adições de convidados para 5.1.20 e, desde então, as montagens começaram a falhar. Atualizada a caixa, apt update + upgrade e o mesmo, o vbguest instalaria a versão 5.1.20 mais recente.

Foi resolvido executando manualmente:

sudo apt-get update
sudo apt-get install virtualbox-guest-dkms 

E também desabilitando o: config.vbguest.auto_update = false para esta VM (pode não ser necessário).

Nico
fonte
Tinha exatamente o mesmo problema. Ignore o aviso de não corresponder às versões de convidado e host e ative a atualização automática.
Henrik
1

(do meu comentário acima)

Seguindo o problema às suas raízes:, especificamente a parte dos comentários dizendo isso:

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

Depois disso, tenho negócios como sempre com todas as minhas máquinas virtuais (e seus arquivos Vagrant atuais, é claro)

Quando você precisa fazer algo em uma máquina virtual criada recentemente, para fazê-la funcionar, algo está errado.

Klang
fonte
1
Caso você esteja no Linux, acho que você deve copiar o arquivo para /usr/share/virtualbox/VBoxGuestAdditions.iso. No entanto, eu não testei!
tsusanka
1

Na configuração em que o windows é um host e o linux é um convidado, encontrei a solução do mesmo problema em outro lugar.

Então, novamente, a mensagem de erro era "Falha ao montar pastas no convidado Linux. Isso geralmente ocorre porque o sistema de arquivos" vboxsf "não está disponível". (...)

Isso foi causado porque eu cometi um erro ao fazer um link simbólico dentro do sistema convidado de / vagrant para / home / vagrant / vagrant. O ponto é que o diretório / vagrant é um diretório linux normal que possui um link simbólico (tudo bem), mas ao inicializar com "vagrant up", ele tenta montar o diretório windows nesse local e o diretório windows não pode funcionar como um link simbólico. O host do Windows não suporta links simbólicos linux.

Então, o que você pode fazer é transferir para o convidado, remover o link simbólico onde quer que você o tenha e recarregar a máquina.

Na minha configuração, era: Vagrant 1.7.2, VBoxGuestAdditions 4.3.28 e VBox 4.3.28.

BartoszK
fonte
1

Estamos em 2017. Caso alguém enfrente o mesmo problema.

Para bento / centos-6.7, eu estava recebendo o mesmo erro. Isso foi resolvido adicionando o plugin vagrant-vbguest (0.13.0). c:> vagrant plugin instala vagrant-vbguest

URL da caixa: http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-7.0_chef-provisionerless.box

Esta versão do centos-7 estava me dando o mesmo erro

Erro:

==> 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.
Please verify that these guest additions are properly installed in the
guest. 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

Minha configuração:

C:\projects>vagrant -v
Vagrant 1.9.1

C:\projects> vboxmanage -v
5.0.10r104061

C:\projects>vagrant plugin list
vagrant-cachier (1.2.1)
vagrant-hostmanager (1.8.5)
vagrant-hosts (2.8.0)
vagrant-omnibus (1.5.0)
vagrant-share (1.1.6, system)
vagrant-vbguest (0.13.0)
vagrant-vbox-snapshot (0.0.10)

Como eu já tenho o plugin vagrant-vbguest, ele tenta atualizar o VBoxGuestAdditions no centos-7 quando vê que versões diferentes do VBGuestAdditions estão instaladas no Host 5.0.10 e no convidado 4.3.20.

Eu até chequei se existe um link simbólico.

[root@build VBoxGuestAdditions]# ls -lrt /usr/lib
lrwxrwxrwx.  1 root root   53 Jan 14 12:06 VBoxGuestAdditions -> /opt/VBoxGuestAdditions-5.0.10/lib/VBoxGuestAdditions
[root@build VBoxGuestAdditions]# mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant
/sbin/mount.vboxsf: mounting failed with the error: No such device

Isso não funcionou como sugerido pelo usuário3006381

vagrant ssh
sudo yum -y install kernel-devel
sudo yum -y update
exit
vagrant reload --provision

Solução para centos-7: dada por psychok7 trabalhou

Atualização automática com diamantes. config.vbguest.auto_update = false Então vagrant destroy --forceevagrant up

Resultado:

javareport: Guest Additions Version: 4.3.20
javareport: VirtualBox Version: 5.0
==> javareport: Setting hostname...
==> javareport: Configuring and enabling network interfaces...
==> javareport: Mounting shared folders...
javareport: /vagrant => C:/projects

C:\project>
samarjit samanta
fonte
É 2017 para mim e ainda estou tendo esse erro. Sua correção parece promissora. Vou tentar relatar de volta.
Eric Hepperle - CodeSlayer2010
1

agora a montagem funciona em algumas máquinas (ubuntu) e outras não (centos 7), mas a instalação do plug-in resolve

vagrant plugin install vagrant-vbguest

sem ter que fazer mais nada, apenas

vagrant reload
George Mogilevsky
fonte
0

Seu log reclama de não encontrar o exportfs: sudo: /usr/bin/exportfs: command not found

O exportfs disponibiliza diretórios locais para a montagem dos clientes NFS.

kenzie
fonte
1
Corrigi o problema relacionado sudo: /usr/bin/exportfs: command not foundao definir um link simbólico para o caminho real usando o comando sudo ln -s /usr/sbin/exportfs /usr/bin/exportfs, no entanto, o erro Failed to mount folders in Linux guestpersiste mesmo depois disso.
Ek Kosmos
0

Isso parece dever-se a uma incompatibilidade com o plugin vbguest vagrant e as versões mais recentes do vagrant. Ele está tentando atualizar as adições de convidados e não consegue fazê-lo completamente / corretamente.

Hickeroar
fonte
2
Pelo que vi, o vagrant-vbguest está atualizando corretamente a VM para a última versão do GuestAdditions (4.3.10) - infelizmente, a última versão do GuestAdditions possui um bug para os visitantes do Linux.
precisa saber é o seguinte
0

Tente assim:

vagrant plugin install vagrant-vbguest

No Vagrantfile, adicione:

config.vbguest.iso_path = "http://download.virtualbox.org/virtualbox/VERSION/VBoxGuestAdditions_VERSION.iso"
config.vbguest.auto_update = false
config.vbguest.installer_arguments = %w{--nox11 -- --force}

Corre:

vagrant vbguest --do install -f -b

vagrant reload
user8034098
fonte
0

Eu estava executando o Vagrant com o VirtualBox 5.1.X e tive que fazer o downgrade para o VirtualBox 5.0.40 e instalar o plug-in vbguest para resolver esse problema.

Meus passos foram:

  • Desinstalar o VirtualBox 5.1.X
  • Instale o Vagrant 5.0.40
  • Reinicie minha máquina
  • Corra vagrant uppara o meu vagabundo. Vai falhar.
  • Execute vagrant plugin install vagrant-vbguestenquanto minha VM está em execução, para instalar o plugin vagrant. Isso gerencia a sincronização de versões do VirtualBox Guest entre host e convidado.
  • Executar vagrant reloadpara recarregar minha máquina virtual
  • Magia!
Brad Parks
fonte
-1

Mais uma etapa que tive que concluir após seguir a primeira sugestão que o kenzie fez foi executar os mountcomandos listados na mensagem de erro com a sudopartir da linha de comando do Ubuntu [14.04 Server]. Depois disso, estava tudo bem para ir!

Yossarian
fonte
Em vez disso, deve-se executar vagrant reload.
21415 Jerrod