我在我的流浪汉中遇到了一个奇怪的错误.所以我使用VirtualBox创建了一个新的ubuntu / trusty64虚拟机(如果有人关心的话,在OS X上).
一切都很好……
然后我根据instructions安装了Docker,主要涉及运行
wget -qO- https://get.docker.com/ | sh
这也很好.
然后我去重新启动VM,退出ssh shell,然后运行vagrant reload,我收到此错误消息.
Failed to mount folders in Linux guest. This is usually because
the "vBoxsf" file system is not available. Please verify that
the guest additions are properly installed in the guest and
can work properly. The command attempted was:
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
The error output from the last command was:
stdin: is not a tty
/sbin/mount.vBoxsf: mounting Failed with the error: No such device
有什么想法吗?
最佳答案
我遇到过类似的问题.安装时看起来像Docker(以及可能的其他工具)将更新Ubuntu / Trusty64客户机中的内核版本.由于预装在Ubuntu / Trusty64中的VBox GuestAdditions是专门针对原始内核版本构建的,因此Guest Additions将停止在下一个流浪者或流浪汉重新加载时,就像Docker安装的新内核启动时那样.此时,由于Guest Additions是针对不同的内核构建的,因此Vagrant不再能够自动挂载/ vagrant文件夹(或任何已同步的文件夹).
为了让它们再次运行,您必须针对Docker安装的新内核版本重建GuestAdditions.
幸运的是,Vagrant中有一个名为vagrant-vbguest的插件,当插件检测到需要重建时,它会负责自动重建Guest Additions(例如,当guest虚拟机中的内核发生更改,或者您在主机中升级了VirtualBox版本时)
>在主机上:$vagrant plugin install vagrant-vbguest
>在客人:$sudo apt-get install linux-headers – $(uname -r)
>在主持人上:$vagrant reload
感谢vagrant-vbguest插件,新的VBox GuestAdditions将根据您的内核的新版本自动重建(您将在上面的第二步中下载所需的标题).
一旦GuestAdditions恢复状态,同步文件夹应该再次运行并且/ vagrant的映射应该成功.
试试看.