Erreur erratique: échec du montage des dossiers dans l'invité Linux
j'ai quelques problèmes avec les dossiers partagés Vagrant, mon système de base est Ubuntu 13.10 desktop.
je ne comprends pas pourquoi j'ai cette erreur est quelque chose qui n'est pas bien configuré ? Un problème NFS ou Virtualbox Guest Additions ? J'ai essayé plusieurs boîtes, mais 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 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)
21 réponses
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 que vous utilisez la dernière version de VirtualBox
j'ai trouvé cette question abordée ici problèmes de vagabondage. deux façons de le faire:
-
Exécuter ce sur l'invité (c'est à dire après vous ssh dans vbox via
vagrant ssh
)sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
puis lancez
vagrant reload
pour monter correctement les dossiers. -
comme @klang l'a fait remarquer, mettez à jour les VBoxGuestAdditions.fichier 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
mise à JOUR (16may2014)
comme l'iso n'est plus disponible, vous pouvez utiliser le 4.3.12 ( http://dlc.sun.com.edgesuite.net/virtualbox/4.3.12/VBoxGuestAdditions_4.3.12.iso )
remarque : le binaire vbox4.3.12 pour os X n'est pas disponible en ce moment
je suis arrivé à cette page en cherchant le même message d'erreur.
Pour moi, la cause était différente: j'avais lancé un yum update
sur le système qui installait un nouveau noyau. Les ajouts invités étaient périmés pour qu'il ne puisse pas les charger.
je les ai reconstruits avec
sudo /etc/init.d/vboxadd setup
et un vagrant reload
plus tard, mon invité était de retour.
Je l'ajoute juste ici au cas où quelqu'un d'autre arrive ici 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 courant n'ont pas été trouvés""
cela peut être résolu en installant kernel-devel
( yum install kernel-devel
)
fixer étape par étape:
si vous n'avez pas de plugin vbguest, installez-le:
$ vagrant plugin install vagrant-vbguest
Exécuter Erratique
C'est afficher une erreur.
$ vagrant up
Se connecter sur VM
$ vagrant ssh
Fix!
Dans l'invité (VM connecté).
$ sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
retour sur l'hôte, recharger Vagrant
$ vagrant reload
Mise À Jour Février 2016
cela m'a pris des heures à résoudre indépendamment. Oui, ce problème existe toujours avec les dernières installations 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'une panne de montage des disques NFS.
1). Installez le plugin vagrant-vbguest
.
selon la version de Vagrant que vous utilisez, Lancez 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 encore des problèmes.
2). SSH dans votre invité et configurer un lien vers la version correcte des ajouts invités (ici, 5.0.14).
$ vagrant ssh
$ sudo ln -s /opt/VBoxGuestAdditions-5.0.14/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
$ exit
$ vagrant reload
ça devrait aller. Par défaut, le lecteur monté sur guest est à /vagrant
commentaire Final:
si vous avez encore des problèmes liés au montage des disques NFS, alors voici une solution qui a fonctionné pour moi. J'ai eu un vagrantfile
avec config quelque chose comme:
il suffit de supprimer le montage type informations, et d'amincir le mount_options paramètres afin qu'ils fonctionnent universellement. Vagrant va automatiquement choisir le meilleur dossier synchronisé option pour votre environnement.
installez le plugin vagrant-vbguest en exécutant cette commande:
vagrant plugin install vagrant-vbguest
J'ai éprouvé le même problème avec Centos 7, je suppose en raison d'un noyau obsolète en combinaison avec une version mise à jour de VirtualBox. Basé sur la mise à jour de Blizz, c'est ce qui a fonctionné pour moi (plugin vagrant-vbguest 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
pointait vers le mauvais endroit.
sudo ln -sf /opt/VBoxGuestAdditions-5.1.20/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf
comme mentionné dans numéro errant 3341 il s'agit d'un bogue Virtualbox #12879 .
il ne concerne que VirtualBox 4.3.10 et a été complètement fixé au 4.3.12.
je crois que c'est la réponse la plus à jour maintenant et 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
juste pour référence future, ce problème s'est produit avec moi, en utilisant Vagrant 1.7.4 et VirtualBox 5.0.10 r104061, quand j'ai fourni un dossier partagé dans /
et créé un lien symbolique vers mon dossier d'origine. Quelque chose comme ceci:
/folder
~/folder -> /folder
apparemment, cette opération N'est pas autorisée par Vagrant pour des raisons de sécurité et jette l'erreur décrite.
Je l'ai résolu en fournissant le dossier désiré directement à ma maison répertoire, tel que /home/vagrant/folder
.
dans mon cas sur une image Ubuntu 16.04 précédemment active, l'erreur a commencé après l'installation de vagrant-vbguest pour une image vagrant différente, et ensuite le démarrage de la VM Ubuntu. Il a mis à jour les ajouts invités à 5.1.20, et depuis lors les supports ont commencé à échouer. Mise à jour de la boîte, apt update + upgrade et la même chose, 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 également invalidant le: config.vbguest.auto_update = false
pour cette VM (peut ne pas être nécessaire).
(d'après mon commentaire ci-dessus)
suivant le problème à ses racines:, spécifiquement la partie dans les commentaires disant 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 avoir fait cela, j'ai des affaires comme d'habitude avec toutes mes machines virtuelles (et leurs fichiers Vagrant actuels, bien sûr)
quand vous devez faire quelque chose dans une machine virtuelle fraîchement créée, pour le faire fonctionner, quelque chose ne va pas.
en configuration où windows est un hôte, et linux est un invité, j'ai trouvé la solution du même problème ailleurs.
encore une fois, le message d'erreur était " N'a pas réussi à monter des dossiers sous Linux guest. Ceci est généralement dû au fait que le système de fichiers "vboxsf" n'est pas disponible."(...)
cela a été causé parce que j'ai fait une erreur en faisant un lien symbolique à l'intérieur du système invité de /vagrant dans /home/vagrant/vagrant. Le point est, que le répertoire / vagrant est un répertoire linux normal qui a un lien symbolique (donc tout est ok), mais lors du démarrage par "vagrant up", il essaie de monter Windows directory à cet endroit, et windows directory ne peut pas fonctionner comme un lien symbolique. Windows host ne supporte pas les liens symboliques linux.
donc ce que vous pouvez faire alors, c'est de SSH dans guest, supprimer le lien symbolique où que vous l'ayez, et recharger la machine.
dans ma configuration c'était: Vagrant 1.7.2, Vboxguestaditions 4.3.28 et VBox 4.3.28.
nous sommes en 2017. Juste au cas où quelqu'un affronte le même problème.
pour Bento / centos-6.7, j'ai eu la même erreur. Cela a été résolu en ajoutant plugin vagrant-vbguest (0.13.0). c:> vagrant plugin installer vagrant-vbguest
cette version centos-7 était en train de me donner 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à vagrant-vbguest plugin, il essaie de mettre à jour les VBoxGuestAdditions dans centos-7 quand il voit que différentes versions de VBGuestAdditions sont installées dans Host 5.0.10 et guest 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 ne fonctionne pas comme suggéré par user3006381
vagrant ssh
sudo yum -y install kernel-devel
sudo yum -y update
exit
vagrant reload --provision
Solution pour centos-7: comme indiqué par psychok7 travaillé
Désactivation de mise à jour automatique. config.vbguest.auto_update = false
Puis 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>
votre journal se plaint de ne pas trouver exportfs:
sudo: /usr/bin/exportfs: command not found
le exportfs rend les répertoires locaux disponibles pour les clients NFS à monter.
cela semble être dû à une incompatibilité avec le plugin vbguest vagrant et la ou les dernières versions de vagrant. Il essaie de mettre à jour les ajouts d'invités et de ne pas le faire complètement/correctement.
Essayer comme ça:
vagrant plugin install vagrant-vbguest
dans Vagrantfile ajouter:
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}
Run:
vagrant vbguest --do install -f -b
vagrant reload
je courais Vagrant avec VirtualBox 5.1.X, et a dû passer à VirtualBox 5.0.40, et installer le plugin vbguest pour résoudre ce problème.
mes pas étaient:
- Désinstaller VirtualBox 5.1.X
- Install Vagrant 5.0.40
- redémarrer ma machine
- Run
vagrant up
pour mon Vagabond. Il va échouer. - Run
vagrant plugin install vagrant-vbguest
pendant que ma VM tourne, pour installer le plugin vagrant. Cela permet de gérer la synchronisation des versions VirtualBox Guest entre l'hôte et l'invité. - Exécuter
vagrant reload
pour recharger ma machine virtuelle - de la Magie!
à ce jour, le montage fonctionne sur certaines machines (ubuntu) et d'autres pas (centos 7) mais l'installation du plugin résout le problème
vagrant plugin install vagrant-vbguest
sans avoir à faire quoi que ce soit d'autre en plus de cela, juste
vagrant reload
encore une étape que j'ai dû accomplir après avoir suivi la première suggestion que kenzie fait était d'exécuter les commandes mount
énumérés dans le message d'erreur avec sudo
de la ligne de commande Ubuntu [14.04 serveur]. Après cela, tout était bon d'aller!