106 votes

Vagrant n'a pas pu monter les dossiers partagés de VirtualBox

Configuration actuelle : Virtualbox 5.1.20 avec Vagrant 1.9.3

Configuration précédente fonctionnelle : Virtualbox 5.1.18 avec Vagrant 1.9.3

J'ai installé la dernière version de Virtualbox et j'ai essayé de démarrer ma machine virtuelle. Le montage du dossier ne fonctionne plus. Le même montage de dossier fonctionne bien dans Virtualbox 5.1.18. Voici le message d'erreur obtenu :

Vagrant n'a pas pu monter les dossiers partagés de VirtualBox. Cela est généralement dû au fait que le système de fichiers "vboxsf" n'est pas disponible. Ce système de fichiers est rendu disponible via les Additions Invité de VirtualBox et le module noyau. Veuillez vérifier que ces additions invité sont correctement installées sur l'invité. Ceci n'est pas un bug de Vagrant et est généralement causé par une box Vagrant défectueuse. Pour information, la commande tentée était :

 mount -t vboxsf -o uid=1000,gid=1000 keys /keys 

La sortie d'erreur de la commande était :

mount: mauvais type de système de fichiers, mauvaise option, mauvais superbloc sur keys,
page de code manquante ou programme d'aide, ou autre erreur
Dans certains cas, des informations utiles se trouvent dans syslog - essayez dmesg | tail ou similaire.

J'ai essayé d'installer manuellement le plugin vagrant-vbguest (via vagrant plugin install vagrant-vbguest), mais cela n'a rien résolu. Revenir à la version 5.1.18 résout le problème, mais ce n'est pas idéal pour l'avenir.

Comment puis-je faire fonctionner le montage des dossiers avec Virtualbox 5.1.20 et Vagrant 1.9.3 ?

0 votes

Cela peut également arriver si vous avez une ancienne boîte mise en cache sur votre hôte qui ne prend pas en charge la version du plugin vbguest que vous avez installée sur votre ordinateur. Plus de détails ici

151voto

Daviz Points 1314

Mise à jour

Corrigé dans VirtualBox 5.1.22.

(https://www.virtualbox.org/ticket/16670)

Réponse originale

Dans mon cas, un lien symbolique à l'intérieur de la VM était incorrect. Connectez-vous à la VM :

$ vagrant ssh

Ensuite :

$ ls -lh /sbin/mount.vboxsf 
lrwxrwxrwx 1 root root 49 Apr 19 14:05 /sbin/mount.vboxsf -> /opt/VBoxGuestAdditions-5.1.20/other/mount.vboxsf

Ce lien est cassé. Lorsque vous regardez à l'intérieur de /opt/VBoxGuestAdditions-5.1.20/, vous voyez que le sous-dossier « other » n'existe pas. Cette ligne corrige cela :

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

Maintenant, déconnectez-vous de la VM :

$ exit

Et vérifiez si cela fonctionne pour vous :

$ vagrant reload

Mais je ne peux pas corriger le lien car /sbin/mount.vboxsf n'existe pas dans ma boîte !

Si le lien /sbin/mount.vboxsf n'existe pas à la base, alors les VBoxGuestAdditions n'ont pas pu être installées. Cela peut arriver si vous n'avez pas téléchargé le Pack d'Extension VirtualBox correspondant après avoir mis à jour VirtualBox (à partir de la version 5.2.18, le téléchargement devrait se faire automatiquement lors des mises à jour de VirtualBox). Vous pouvez le faire maintenant :

  • Arrêtez toutes vos VM en cours d'exécution.
  • Ouvrez le programme VirtualBox.
  • Commencez le téléchargement du Pack d'Extension VirtualBox et installez-le.
  • Si on ne vous demande pas si vous voulez télécharger le Pack d'Extension VirtualBox, ouvrez ->Fichier ->Vérifier les mises à jour, pour déclencher la boîte de dialogue de téléchargement.

S'il n'y a pas eu de mise à jour pour le Pack d'Extension VirtualBox, il est possible que les VBoxGuestAdditions ne puissent pas être installées car l'installateur affiche un message et le plugin Vagrant vbguest ne peut pas demander de réponse (ce est "corrigé" dans vbguest v0.15.0). Vous pouvez voir cela dans la sortie de "vagrant up". Il devrait y avoir une ligne similaire à celle-ci :

Voulez-vous continuer ? [oui ou non]

Si c'est le cas, vous pouvez exécuter l'installateur manuellement. Pour ce faire, démarrez la boîte :

$ vagrant up

Ensuite, déclenchez vbguest pour essayer l'installation à nouveau mais laissez l'ISO VBoxGuestAdditions montée après :

$ vagrant vbguest --do install --no-cleanup

Connectez-vous à la boîte :

$ vagrant ssh

Exécutez l'installateur manuellement :

$ sudo /mnt/VBoxLinuxAdditions.run

Un dernier espoir : BRICOLAGE !

Si rien de ce qui précède n'a fonctionné, essayez d'installer manuellement les additions invité :

cd /opt
sudo wget -c http://download.virtualbox.org/virtualbox/5.1.28/VBoxGuestAdditions_5.1.28.iso -O VBoxGuestAdditions_5.1.28.iso
sudo mount VBoxGuestAdditions_5.1.28.iso -o loop /mnt
sudo sh /mnt/VBoxLinuxAdditions.run

0 votes

Résolu le problème identique (y compris les versions) pour moi aussi, merci d'avoir limité au minimum mon temps d'arrêt ce matin!

8 votes

Pour votre information, voici le ticket suivant la résolution de ce bug virtualbox.org/ticket/16670

1 votes

Il semble s'agir d'une solution temporaire. J'ai de nouveau obtenu l'erreur après vagrant reload

78voto

L'installation du plugin vbguest a fonctionné dans mon cas avec VirtualBox 5.2.6 et Vagrant 2.0.1 :

vagrant plugin install vagrant-vbguest

2 votes

Merci, cela a fonctionné! VirtualBox 5.2.6 & Vagrant 2.0.2 donne GuestAdditions 5.2.6 en cours d'exécution --- OK. maintenant

0 votes

Cette question était pour une version spécifique de virtualbox et vagrant et avait déjà déclaré que pour ces versions particulières le plugin vagrant-vbguest ne fonctionnait pas.

5 votes

Devrait être la meilleure réponse.

7voto

arifktk Points 73

Pour moi, le problème a été résolu dans les conditions suivantes :

Environnement :

  • VirtualBox version 6.0.4r128413
  • Vagrant version 2.2.3

Étapes :

Allez dans le répertoire de votre projet depuis le terminal ou la ligne de commande (cd) et exécutez les commandes suivantes :

  1. vagrant plugin install vagrant-vbguest pour installer le plugin Vagrant VB Guest

  2. vagrant up

Si vous rencontrez une erreur concernant vboxsf qui n'est pas disponible. Alors peut-être que vos Additions Invités VirtualBox ne sont pas correctement installées. Espérons que les commandes ci-dessous résoudront votre problème.

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

4voto

raffi Points 99

Cela a fonctionné pour moi... exécutez ce qui suit :

vagrant plugin repair

Ensuite

vagrant plugin expunge --reinstall

Ensuite

vagrant reload

1 votes

Faites attention à celui-ci. Il peut casser votre boîte et votre installation de Vagrant.

0 votes

C'est parfait. Je n'ai aucune idée pourquoi cela fonctionne mais ça marche et je t'aime beaucoup pour ta réponse!!!!!

1voto

Supprimer le type "nfs" du homestead.yaml a réglé le problème pour moi. Win 10, Vagrant 1.9.7, Laravel 5.4, Homestead.

0 votes

La question est liée à une version différente de Vagrant et à son échec de fonctionner avec une version spécifique de Virtualbox.

1 votes

Résolu pour moi aussi.. :)

0 votes

Veuillez noter que supprimer le type: "nfs" est une mauvaise idée, vous rencontrerez des problèmes de vitesse, les détails se trouvent ici: stackoverflow.com/questions/50614748/…

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X