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.?
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:
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
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
Cela a fonctionné pour moi ... lancez ce qui suit:
vagrant plugin repair
Ensuite
vagrant plugin expunge --reinstall
Ensuite
vagrant reload
Pour moi, le problème a été résolu dans les conditions suivantes:
Environnement:
É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:
vagrant plugin install vagrant-vbguest
pour installer Vagrant VB Guest Plugin
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
Supprimer le type: "nfs" de Homestead.yaml l'a corrigé pour moi. Win 10, Vagrant 1.9.7, laravel 5.4, Homestead.
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).
Pour ceux qui débarquent ici avec presque le même problème que moi, voici la solution
system is currently not set up to build kernel modules
kernel-headers.x86_64 0:3.10.0-862.9.1.el7
kernel-devel-3.10.0-327.el7.x86_64
vagrant ssh
Sudo rpm -e kernel-devel-3.10.0-862.9.1.el7.x86_64
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
Sudo rpm -Uvh kernel-devel-3.10.0-327.el7.x86_64.rpm
// utilise le fichier téléchargé à l'étape 3
exit
vagrant reload
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
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
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.
kernel-devel-3.10.0-327.el7.x86_64
pour fonctionner