繁体   English   中英

vagrant:无法在Linux guest虚拟机中挂载文件夹,“ vboxsf”文件系统不可用?

[英]vagrant : Failed to mount folders in Linux guest, “vboxsf” file system is not available?

我在Ubuntu 14.04 64位桌面上安装了VirtualBox 4.3.10Vagrant 1.4.3

之前,使用过流浪汉技术,但这次是多个问题。 让我描述一下我做了什么

  1. 将私有git克隆到本地系统/ opt / lampp / htdocs / {project}中完成

  2. root@desktop:/opt/lampp/htdocs/{project}$ vagrant up

在执行时在终端上给出消息

主机(4.3.10)和来宾(4.2.0)上的GuestAdditions版本不匹配。

命令完成,并显示以下消息

无法在Linux guest虚拟机中安装文件夹。 通常是因为“ vboxsf”文件系统不可用。 请验证来宾添加项已正确安装在来宾中并且可以正常工作。 尝试执行的命令是:

...

我了解这是版本差异。

  1. 检查vagrant vbguest --status

    GuestAdditions 4.3.10正在运行---确定。

  2. 打开浏览器,并使用http://192.168.0.33 (在私人git repo的README.md文件中提到)运行,但此操作无效。

更新

  1. 按照这里的建议安装了vagrant-vbguest

    $:sudo vagrant plugin install vagrant-vbguest

    安装了插件“ vagrant-vbguest(0.10.0)”!

这样,就GuestAdditions2中描述的GuestAdditions版本差异的消息。

  1. 重新启动vagrant halt ,然后vagrant up

使用“ virtualbox”提供程序启动计算机“默认” ...
[默认]清除任何先前设置的转发端口...
[默认]清除任何先前设置的网络接口...
[默认]根据配置准备网络接口...
[默认]转发端口...
[默认值]-22 => 2222(适配器1)
[默认值]-80 => 8080(适配器1)
[默认]正在启动VM ...
[默认]等待机器启动。 这可能需要几分钟的时间...
[默认]机器已启动并准备就绪!
GuestAdditions 4.3.10正在运行---确定。
[默认]配置和启用网络接口...
[默认]正在挂载共享文件夹...
[默认]-/ vagrant

无法在Linux guest虚拟机中安装文件夹。 通常是因为“ vboxsf”文件系统不可用。 请验证来宾添加项已正确安装在来宾中并且可以正常工作。 尝试执行的命令是:

    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

我是否需要更改本地vagrantfile任何内容或更改vagrant版本或其他内容?

有人说这是一个错误,而有些人则为ubuntu <14.04提供了解决方案

请提出解决方案提示以及如何解决此问题?

 vagrant plugin install vagrant-vbguest

对我来说效果很好(Virtual Box 5.0.22,Vagrant 1.8.4)。 最初耗费了更长的时间,因为该插件在将来宾添加.iso链接到正确的位置之前下载了gcc和其他工具。

显然,VirtualBox Guest Additions 4.3.10安装程序中存在一个错误: https : //www.virtualbox.org/ticket/12879

通过在Vagrant-VM中创建符号链接,似乎有一个简单的解决方法:

sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions \
/usr/lib/VBoxGuestAdditions

您可以将其添加到您的配置配置中,以确保不会再次遇到该错误:

NEWEST_VBOXGUESTADDITIONS_DIR=`find /opt/ -maxdepth 1 -mindepth 1 -name "VBoxGuestAdditions-*" | tail -n 1`;
if [[ ! -d "/usr/lib/VBoxGuestAdditions" && -n "$NEWEST_VBOXGUESTADDITIONS_DIR" ]];
then
    ln -s ${NEWEST_VBOXGUESTADDITIONS_DIR}/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
fi

“ Vagrantfile”中的这一行代码为我提供了解决方案:

config.vm.synced_folder "./", "/vagrant", id: "vagrant-root", type: "nfs"

就我而言,此错误是通过使用sudo service vboxadd setup在来宾计算机上重建内核来解决的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM