J'ai quelques problèmes avec les dossiers partagés Vagrant, mon système de base est le bureau Ubuntu 13.10.
Je ne comprends pas pourquoi j'ai cette erreur est quelque chose qui n'est pas correctement configuré? Est-ce un problème NFS ou des ajouts d'invité Virtualbox? J'ai essayé avec différentes boîtes mais avec le même problème.
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
Voici le processus complet après 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
Ma configuration de Vagrantfile est:
# -*- 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
Le fichier de personnalisation est:
# 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"
Les plugins suivants sont activés dans 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)
Le plugin vagrant-vbguest résolu mon problème:
$ vagrant plugin install vagrant-vbguest
Sortie:
$ 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
Assurez-vous simplement que vous utilisez la dernière version de VirtualBox
J'ai trouvé cette question traitée ici questions vagabondes. Deux façons de le faire:
Exécutez ceci sur l'invité (c'est-à-dire après que vous avez ssh dans vbox via vagrant ssh
)
Sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
Ensuite, exécutez vagrant reload
pour monter correctement les dossiers.
Comme @klang l'a souligné, mettez à jour le fichier VBoxGuestAdditions.iso sur votre 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
Puisque l'iso n'est plus disponible, vous pouvez utiliser celui 4.3.12 ( http://dlc.Sun.com.edgesuite.net/virtualbox/4.3.12/VBoxGuestAdditions_4.3.12.iso )
remarque: la binaire vbox4.3.12 pour os X n'est pas disponible pour le moment.
Je suis arrivé à cette page en cherchant le même message d'erreur. Pour moi, la cause était différente: j'avais exécuté un yum update
sur le système qui avait installé un nouveau noyau. Les ajouts d'invités étaient obsolètes, il ne pouvait donc pas les charger.
Je les ai reconstruit avec
Sudo /etc/init.d/vboxadd setup
Et un vagrant reload
plus tard, mon invité était de nouveau opérationnel.
Je ne fais que l'ajouter ici au cas où quelqu'un d'autre arriverait de la même façon que moi.
Edit (Selon le commentaire de KCD):
Il est possible que vous obteniez une erreur en disant:
Les en-têtes du noyau en cours d'exécution sont introuvables.
Ceci peut être résolu en installant kernel-devel
(yum install kernel-devel
)
Fixer étape par étape:
Si vous n'avez pas le plugin vbguest, installez-le:
$ vagrant plugin install vagrant-vbguest
Run vagabond
C'est montrer une erreur.
$ vagrant up
Connexion sur la VM
$ vagrant ssh
Fix!
Dans l'invité (VM connecté).
$ Sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
De retour sur l'hôte, rechargez Vagrant
$ vagrant reload
Mise à jour en février 2016
Cela m'a pris des heures pour résoudre indépendamment. Oui, ce problème persiste avec les dernières installations de Vagrant et Virtual Box:
△ vagrant -v
Vagrant 1.8.1
△ vboxmanage -v
5.0.14r105127
Les symptômes pour moi étaient des messages quelque chose comme:
Checking for guest additions in VM... The guest additions on this VM do not match the installed version of VirtualBox!
suivi d'un échec de montage des lecteurs NFS.
1). Installez le plugin vagrant-vbguest
.
Selon la version de Vagrant que vous utilisez, exécutez l'une des commandes suivantes:
# For vagrant < 1.1.5
$ vagrant gem install vagrant-vbguest
# For vagrant 1.1.5+
$ vagrant plugin install vagrant-vbguest
Ensuite, faites vagrant halt
, suivi de vagrant up
- il y a des chances que vous ayez toujours des problèmes.
2) ssh dans votre invité et configurez un lien symbolique vers la version correcte de Guest Additions (ici, 5.0.14).
$ vagrant ssh
$ Sudo ln -s /opt/VBoxGuestAdditions-5.0.14/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
$ exit
$ vagrant reload
Vous devriez être tout bon. Par défaut, le lecteur monté sur l'invité est à /vagrant
Commentaire final:
SI vous avez toujours des problèmes liés au montage de disques NFS, voici une solution de contournement qui a fonctionné pour moi. J'ai eu un vagrantfile
avec config quelque chose comme:
Supprimez simplement les informations de montage type et réduisez les paramètres de mount_options pour qu'ils fonctionnent de manière universelle. Vagrant choisira désormais automatiquement la meilleure option de dossier synchronisé pour votre environnement.
Installez le plugin vagrant-vbguest en lançant cette commande:
vagrant plugin install vagrant-vbguest
J'ai rencontré le même problème avec Centos 7, je suppose en raison d'un noyau obsolète associé à une version mise à jour de VirtualBox. D'après la mise à jour de Blizz, voici ce qui a fonctionné pour moi (le plug-in vagrant-vbguest est déjà installé):
vagrant ssh
Sudo yum -y install kernel-devel
Sudo yum -y update
exit
vagrant reload --provision
Pour moi, avec VBoxGuestAdditions 5.1.20, le problème était que /sbin/mount.vboxsf
indiquait le mauvais emplacement.
Sudo ln -sf /opt/VBoxGuestAdditions-5.1.20/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf
corrigé pour moi
Comme mentionné dans numéro Vagrant # 3341 , il s’agit d’un bogue Virtualbox n ° 12879 .
Il n'affecte que VirtualBox 4.3.10 et a été complètement corrigé dans 4.3.12.
Juste pour référence future, ce problème s'est produit avec moi, avec Vagrant 1.7.4 et VirtualBox 5.0.10 r104061, lorsque j'ai provisionné un dossier partagé dans /
et créé un lien symbolique vers mon dossier personnel. Quelque chose comme ça:
/folder
~/folder -> /folder
Apparemment, cette opération n’est pas autorisée par Vagrant pour des raisons de sécurité et renvoie l’erreur décrite.
Je l'ai résolu en fournissant le dossier souhaité directement dans mon répertoire personnel, tel que /home/vagrant/folder
.
Je crois que c’est la réponse la plus à jour à présent et que cela a fonctionné pour moi (Guest Additions Version: 5.0.6
, VirtualBox Version: 4.3.16
, Ubuntu 14.04 LTS
)
https://github.com/mitchellh/vagrant/issues/3341#issuecomment-144271026
En gros, je dis:
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
Dans mon cas, sur une image Ubuntu 16.04 précédemment opérationnelle, l'erreur s'est produite après l'installation de vagrant-vbguest pour une image vagant différente, puis le démarrage de la machine virtuelle Ubuntu. Il a mis à niveau les ajouts d'invités à la version 5.1.20 et, depuis lors, les montages ont commencé à échouer. Mise à jour de la boîte, apt update + upgrade et idem, vbguest installerait la nouvelle version 5.1.20.
Il a été résolu en exécutant manuellement:
Sudo apt-get update
Sudo apt-get install virtualbox-guest-dkms
Et aussi désactiver le: config.vbguest.auto_update = false
pour ce VM (peut ne pas être nécessaire).
Dans la configuration où Windows est un hôte, et Linux est un invité, j'ai trouvé une solution au même problème ailleurs.
Encore une fois, le message d'erreur était "Échec du montage des dossiers dans l'invité Linux. En général, le système de fichiers" vboxsf "n'est pas disponible." (...)
Cela est dû au fait que j'ai commis une erreur en faisant un lien symbolique dans le système invité de/vagrant à/home/vagrant/vagrant. Le fait est que le répertoire/vagrant est un répertoire linux normal qui a un lien symbolique (donc tout va bien), mais lors du démarrage par "vagrant up", il essaie de monter le répertoire windows à cet endroit, et le répertoire windows ne peut pas fonctionner comme un lien symbolique. Windows Host ne prend pas en charge les liens symboliques Linux.
Donc, ce que vous pouvez faire alors, est de ssh en invité, de supprimer le lien symbolique où que vous soyez et de recharger la machine.
Dans ma configuration c'était: Vagrant 1.7.2, VBoxGuestAdditions 4.3.28 et VBox 4.3.28.
Nous sommes en 2017. Juste au cas où quelqu'un serait confronté au même problème.
Pour bento/centos-6.7, j'ai eu la même erreur. Cela a été résolu en ajoutant le plugin vagrant-vbguest (0.13.0). c:> vagrant plugin installe vagrant-vbguest
Cette version centos-7 me donnait la même erreur
Erreur:
==> 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
Ma configuration:
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)
Comme j'ai déjà le plugin vagrant-vbguest, il tente de mettre à jour VBoxGuestAdditions dans centos-7 lorsqu'il voit que différentes versions de VBGuestAdditions sont installées dans l'hôte 5.0.10 et l'invité 4.3.20.
J'ai même vérifié que le lien symbolique existe.
[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
Cela n'a pas fonctionné comme suggéré par l'utilisateur3006381
vagrant ssh
Sudo yum -y install kernel-devel
Sudo yum -y update
exit
vagrant reload --provision
Solution pour centos-7: telle que donnée par psychok7 travaillée
Mise à jour automatique désactivée. config.vbguest.auto_update = false
Alors vagrant destroy --force
et vagrant up
Résultat:
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>
à présent, le montage fonctionne sur certaines machines (ubuntu) et d'autres pas (centos 7), mais l'installation du plugin le résout
vagrant plugin install vagrant-vbguest
sans rien faire de plus, juste
vagrant reload
(de mon commentaire ci-dessus)
Suivre le problème jusqu’à ses racines:, en particulier la partie dans les commentaires qui dit ceci:
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
Après cela, je fais comme d’habitude avec toutes mes machines virtuelles (et leurs fichiers Vagrant actuels, bien sûr)
Quelque chose ne va pas quand vous devez faire quelque chose dans une machine virtuelle fraîchement créée.
Cela semble être dû à une incompatibilité avec le plugin vbguest vagrant et les dernières versions de vagrant. Il essaie de mettre à jour les ajouts d'invité et ne parvient pas à le faire complètement/correctement.
J'utilisais Vagrant avec VirtualBox 5.1.X et devais passer à VirtualBox 5.0.40 et installer le plugin vbguest pour résoudre ce problème.
vagrant up
pour mon vagabond. Ça va échouer.vagrant plugin install vagrant-vbguest
pendant que ma VM est en cours d'exécution, pour installer le plug-in vagrant. Ceci gère la synchronisation des versions de VirtualBox Guest entre l'hôte et l'invité.vagrant reload
pour recharger ma machine virtuelleVotre journal se plaint de ne pas trouver exportfs: Sudo: /usr/bin/exportfs: command not found
Exportfs rend les répertoires locaux disponibles pour le montage des clients NFS.
Essayez comme ça:
vagrant plugin install vagrant-vbguest
Dans Vagrantfile, ajoutez:
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}
Courir:
vagrant vbguest --do install -f -b
vagrant reload