web-dev-qa-db-fra.com

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

Configuration actuelle: Virtualbox 5.1.2 avec Vagrant 1.9.

Configuration de travail précédente: Virtualbox 5.1.18 avec Vagrant 1.9.

J'ai installé la dernière version de Virtualbox et essayé de démarrer ma machine virtuelle. Le montage du dossier a cessé de fonctionner. Le même montage de dossier fonctionne très bien dans Virtualbox 5.1.18. Je reçois le message d'erreur suivant:

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 de noyau. Veuillez vérifier que ces ajouts d'invité sont correctement installés dans l'invité. Ce n'est pas un bogue dans Vagrant et est généralement causé par une boîte Vagrant défectueuse. Pour le contexte, la commande tentée était:

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

La sortie d'erreur de la commande était:

mount: wrong fs type, bad option, bad superblock on keys,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try dmesg | tail or so.

J'ai essayé d'installer manuellement le plug-in vagrant-vbguest (via vagrant plugin install vagrant-vbguest), mais cela ne corrigeait rien. Le fait de revenir à la version 5.1.18 résout le problème, mais ce n’est pas idéal pour aller de l’avant.

Comment obtenir le montage de dossiers avec Virtualbox 5.1.2 et Vagrant 1.9.?

65
edwardmlyte

Mettre à jour

Corrigé dans VirtualBox 5.1.22.

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

Réponse originale

Dans mon cas, un lien symbolique à l'intérieur de la VM était erroné. 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 constatez que le sous-dossier "autre" n'existe pas. Cette ligne corrige que:

$ 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 réparer le lien car /sbin/mount.vboxsf n'existe pas dans ma boîte!

Si le lien /sbin/mount.vboxsf n'existe pas, l'installation de VBoxGuestAdditions est impossible. Cela peut arriver si vous n'avez pas téléchargé le pack d'extension VirtualBox correspondant après la mise à jour de VirtualBox (les versions 5.2.18 et supérieures doivent le télécharger automatiquement lors des mises à jour de Virtualbox). Vous pouvez le faire maintenant:

  • Arrêtez toutes vos machines virtuelles en cours d'exécution.
  • Ouvrez le programme VirtualBox.
  • Démarrez 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 -> Rechercher les mises à jour pour ouvrir la boîte de dialogue de téléchargement.

S'il n'y a pas eu de mise à jour pour l'extension VirtualBox, il est possible que VBoxGuestAdditions ne puisse pas être installé car le programme d'installation affiche un message et que le plugin vagrant vbguest ne peut pas demander de réponse (this est "corrigé" dans vbguest v0. 15. ). Vous pouvez voir cela dans la sortie de "vagabond". Il devrait y avoir une ligne semblable à celle-ci:

Do you wish to continue? [yes or no]

Si tel est le cas, vous pouvez exécuter le programme d'installation manuellement. Pour ce faire, démarrez la boîte:

$ vagrant up

Ensuite, lancez vbguest pour essayer l’installation à nouveau, mais laissez l’ISO VBoxGuestAdditions monté après:

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

Connectez-vous dans la boîte:

$ vagrant ssh

Ran l'installateur manuellement:

$ Sudo /mnt/VBoxLinuxAdditions.run

Un dernier espoir: DIY!

Si rien de ce qui précède ne fonctionne, essayez d'installer les ajouts invités manuellement:

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
123
Daviz

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

35

Cela a fonctionné pour moi ... lancez ce qui suit:

vagrant plugin repair

Ensuite

vagrant plugin expunge --reinstall

Ensuite

vagrant reload
2
raffi

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

Environnement:

  • VirtualBox version 6.0.4r128413
  • Version vagabonde 2.2.3

Étapes:

Accédez au répertoire de votre projet à partir du terminal ou de la ligne de commande (cd) et exécutez les commandes suivantes:

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

  2. vagrant up

Si vous obtenez une erreur indiquant que vboxsf n'est pas disponible. Alors peut-être que vos additions invitées VirtualBox ne sont pas installées correctement. 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
1
arifktk

Supprimer le type: "nfs" de Homestead.yaml l'a corrigé pour moi. Win 10, Vagrant 1.9.7, laravel 5.4, Homestead.

1
Yevgeniy Afanasyev

Pour moi, les commandes suivantes, suivies d’un redémarrage du système invité, ont été utiles:

cd /opt/VBoxGuestAdditions-*/init  
Sudo ./vboxadd setup

J'ai trouvé la solution ici . En vous référant à ce post, vous devez arrêter vboxadd avant de déclencher les commandes (je ne l’ai pas fait car je ne sais pas ce que vboxadd est).

0
siddhartino

Pour ceux qui débarquent ici avec presque le même problème que moi, voici la solution

TLDR

  • L'invité VirtualBox échoue à cause de system is currently not set up to build kernel modules
  • La solution est désinstaller kernel-headers.x86_64 0:3.10.0-862.9.1.el7
  • Puis installez kernel-devel-3.10.0-327.el7.x86_64

Solution

  1. vagrant ssh

  2. Sudo rpm -e kernel-devel-3.10.0-862.9.1.el7.x86_64

  3. Sudo wget ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/7.0/x86_64/updates/security/kernel-devel-3.10.0-327.el7.x86_64.rpm // télécharger le fichier

  4. Sudo rpm -Uvh kernel-devel-3.10.0-327.el7.x86_64.rpm // utilise le fichier téléchargé à l'étape 3

  5. exit

  6. vagrant reload

Détails: problème

  1. Ne vagabondez mais échouez avec une erreur similaire sauf

La sortie d'erreur de la commande était:

/sbin/mount.vboxsf: le montage a échoué avec l'erreur: aucun périphérique de ce type

  1. Lisez davantage les journaux et je remarque ci-dessous les mots clés.

Installation de Virtualbox Guest Additions 5.2.16 - la version d'invité est 5.1.10

Une erreur s'est produite lors de l'installation de VirtualBox Guest Additions

Ce système n'est actuellement pas configuré pour construire des modules de noyau.

Veuillez installer les fichiers "en-tête" du noyau Linux correspondant au noyau actuel

les paquets contenant les en-têtes sont probablement: kernel-devel kernel-devel-3.10.0-327.el7.x86_64

  1. Lire les journaux plus loin

Le paquet kernel-headers.x86_64 0: 3.10.0-862.9.1.el7 sera installé

Aucun paquetage kernel-devel-3.10.0-327.el7.x86_64 disponible.

  1. Mon invité est j'ai besoin de kernel-devel-3.10.0-327.el7.x86_64 pour fonctionner

Détails: Mon environnement

  • bento/centos-7.2
  • version vagabonde: 2.0.4
  • version de la boîte virtuelle: 5.2.16

Sources

0
Asip Asipo