当前设置:带有Vagrant 1.9.3的Virtualbox 5.1.20
以前的工作设置:带有Vagrant 1.9.3的Virtualbox 5.1.18
我安装了最新版本的Virtualbox并尝试启动我的VM。文件夹安装已停止工作。相同的文件夹安装在Virtualbox 5.1.18中正常工作。我收到以下错误消息:
Vagrant无法挂载VirtualBox共享文件夹。这通常是因为文件系统“vboxsf”不可用。该文件系统通过VirtualBox Guest Additions和内核模块提供。请验证这些客人添加内容是否已在guest虚拟机中正确安装。这不是Vagrant中的错误,通常是由错误的Vagrant框引起的。对于上下文,尝试的命令是:
mount -t vboxsf -o uid=1000,gid=1000 keys /keys
该命令的错误输出是:
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.
我试过手动安装vagrant-vbguest
插件(通过vagrant plugin install vagrant-vbguest
),但没有修复。降级回5.1.18确实解决了这个问题,但这并不是理想的进展。
如何使用Virtualbox 5.1.20和Vagrant 1.9.3进行文件夹安装?
更新
在VirtualBox 5.1.22中修复。
(Qazxswpoi)
原始答案
在我的情况下,VM中的符号链接是错误的。登录VM:
https://www.virtualbox.org/ticket/16670
然后:
$ vagrant ssh
这个链接坏了。当您查看/opt/VBoxGuestAdditions-5.1.20/时,您会看到子文件夹“other”不存在。这一行修复了:
$ 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
现在注销VM:
$ sudo ln -sf /opt/VBoxGuestAdditions-*/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf
并检查它是否适合您:
$ exit
但我无法修复链接,因为我的框内不存在/sbin/mount.vboxsf!
如果首先不存在链接/sbin/mount.vboxsf,则无法安装VBoxGuestAdditions。如果您在更新VirtualBox后未下载匹配的VirtualBox扩展包(v5.2.18及更高版本应在Virtualbox更新期间自动下载),则会发生这种情况。你现在可以这样做:
如果VirtualBox扩展没有更新,那么可能无法安装VBoxGuestAdditions,因为安装程序显示消息并且vagrant插件vbguest无法提示答案(此$ vagrant reload
)。你可以在“vagrant up”的输出中看到。应该有一个类似于这一行:
is "fixed" in vbguest v0.15.0
如果是这种情况,您可以手动运行安装程序。为此,请启动此框:
Do you wish to continue? [yes or no]
然后触发vbguest再次尝试安装,但之后保留VBoxGuestAdditions ISO:
$ vagrant up
登录方框:
$ vagrant vbguest --do install --no-cleanup
手动运行安装程序:
$ vagrant ssh
最后的希望:DIY!
如果上述内容无效,请尝试手动安装guest虚拟机添加:
$ sudo /mnt/VBoxLinuxAdditions.run
安装vbguest插件在我的案例中使用VirtualBox 5.2.6和Vagrant 2.0.1:
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
这对我有用...运行以下内容:
vagrant plugin install vagrant-vbguest
然后
vagrant plugin repair
然后
vagrant plugin expunge --reinstall
删除类型:来自homestead.yaml的“nfs”为我修复了它。赢10,Vagrant 1.9.7,laravel 5.4,宅基地。
对我来说,问题是在以下条件下修复的:
环境:
脚步:
从终端或命令行(vagrant reload
)转到项目目录并运行以下命令:
cd
安装Vagrant VB Guest插件vagrant plugin install vagrant-vbguest
如果你得到关于vagrant up
不可用的错误。也许您的VirtualBox Guest Additions安装不正确。希望以下命令能解决您的问题。
vboxsf
对我来说,以下命令后面重新启动客户系统有助于:
vagrant ssh
sudo yum -y install kernel-devel
sudo yum update -y
exit
vagrant halt
vagrant up --provision
我找到了解决方案cd /opt/VBoxGuestAdditions-*/init
sudo ./vboxadd setup
。参考这篇文章你需要在触发命令之前停止vboxadd(我没有这样做,因为我不知道vboxadd是什么)。
对于那些在我这里遇到与我几乎相同问题的人来说,下面是解决方案
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
//使用在步骤3中下载的文件sudo rpm -Uvh kernel-devel-3.10.0-327.el7.x86_64.rpm
exit
该命令的错误输出是:
/sbin/mount.vboxsf:安装失败并显示错误:没有此类设备
安装Virtualbox Guest Additions 5.2.16 - guest版本为5.1.10
安装VirtualBox Guest Additions期间发生错误
该系统目前尚未设置为构建内核模块。
请安装与当前内核匹配的Linux内核“header”文件
包含头文件的包可能是:kernel-devel kernel-devel-3.10.0-327.el7.x86_64
将安装包kernel-headers.x86_64 0:3.10.0-862.9.1.el7
没有包kernel-devel-3.10.0-327.el7.x86_64可用。
vagrant reload
工作kernel-devel-3.10.0-327.el7.x86_64