许多月以来,我一直在具有Ubuntu 16 guest虚拟机的Windows 10主机上成功使用VirtualBox 5.xx.xx和Vagrant 2.xx(不记得其余的版本号)。在过去六个星期中的某个时刻,vagrant up
上的来宾添加开始在主机和来宾上报告为不同版本,而我将要从Windows端对同步文件进行的更改并非总是在Ubuntu上实现。为了解决此问题,我将Vagrant升级到最新版本,然后尝试将VirtualBox从低至5.0.18升级和降级(在vagrant up
上产生错误)升级到最新(6.0.4)。 )。在Vagrant启动时尝试5.2.24和5.2.26会产生消息,指出主机上的来宾添加被报告为5.0.18,而来宾上的来宾添加被报告为5.2.24(或0.26)。然后,最后一条启动消息指出Virtualbox版本为5.2,Guest Additions版本为5.1.30-因此有时我总共报告了三个不同版本的Guest Additions。我安装了vagrant-vbguest插件。我下载了与VBox版本匹配的Guest Additions ISO版本,并将Guest Additions ISO加载到VirtualBox的虚拟光盘驱动器中(以及Vagrantfile中指定的config.vbguest.iso_path = "VBoxGuestAdditions_5.x.x.iso"
。
我的Vagrant / VirtualBox设置可能在过去一年中运行良好,并且我从来不想“升级”,因为在“升级”到较新版本之前,我已经经历了很多麻烦。通过长时间的在线搜索,我很确定这个问题是由于将dist升级到Ubuntu(我经常这样做)引起的,因为很长一段时间以来我对Vagrant / VBox设置都没有做任何更改。我希望升级到最新的VirtualBox(6)可以解决问题,但可悲的是,此版本更糟-Ubuntu在启动过程中缓慢启动,并且花费了很长时间,我什至没有让它完成经过几次尝试。
很高兴看到这个最新的VirtualBox 6是否可以解决问题,所以也许有人对为什么这样慢会有所想法(我有一台8核16Gb机器,并且我已经分配了4核并且有很多到VBox的内存-在5.2.xx下可以正常启动。
vagrant up
输出:
SSH用户名:无业游民
SSH身份验证方法:私钥
警告:连接重置。正在重试...
默认值:机器已启动并准备就绪!得到了有关的不同报告 已安装的GuestAdditions版本:主机上的Virtualbox声明: 5.0.18 vm内部的VBoxService声明:5.2.26继续,假设VBoxService是正确的...
GuestAdditions似乎已正确安装(5.2.26),但未正确安装 运行。获得有关已安装的GuestAdditions版本的不同报告: 您主机上的Virtualbox声称:vm内有5.0.18 VBoxService 索赔:5.2.26
继续,假设VBoxService是正确的...
vboxadd-service.service的作业失败,因为控制过程 退出并显示错误代码。请参见“ systemctl状态vboxadd-service.service” 和“ journalctl -xe”以获取详细信息。
获得有关已安装的GuestAdditions版本的不同报告: 您主机上的Virtualbox声称:vm内有5.0.18 VBoxService 声明:5.2.26继续,假设VBoxService是正确的... bash:行 4:设置:找不到命令
正在检查VM中的来宾添加...
此VM上的来宾添加项与已安装的来宾版本不匹配 VirtualBox!在大多数情况下,这很好,但在极少数情况下,可以 防止诸如共享文件夹之类的东西正常工作。如果你 查看共享文件夹错误,请确保在其中添加来宾 虚拟机与您已安装的VirtualBox版本匹配 在主机上并重新加载虚拟机。
访客添加版本:5.1.30
VirtualBox版本:5.2以下SSH命令以 非零退出状态。 Vagrant认为这意味着命令 失败了!
答案 0 :(得分:0)
经过数小时的搜索并尝试了不同的建议,以下是解决问题的方法:
config.vbguest.iso_path = "https://www.virtualbox.org/download/testcase/VBoxGuestAdditions_5.2.27-129578.iso"
vagrant up
Ubuntu启动正常,但是在主机端,Vagrant正在显示错误消息,如下所示:
无法在Linux guest虚拟机中安装文件夹。这通常是因为 “ vboxsf”文件系统不可用。
接下来,在启动的Ubuntu客户机上:
sudo apt autoremove
清理Linux标头然后:
vagrant vbguest
然后,vbguest经历了卸载现有来宾添加项并从config.vbguest.iso_path
安装VBoxGuestAdditions_5.2.27的过程。
要验证是否正确安装了来宾添加,请运行vagrant vbguest --status
(或再次运行vagrant vbguest
)。两条命令都返回:
[默认] GuestAdditions 5.2.27正在运行---确定。
以上操作导致名为VBoxGuestAdditions-5.2.27
的文件夹被放置在/opt
文件夹中。该VBoxGuestAdditions-5.2.27
文件夹包含七个子文件夹,两个文件(uninstall.sh和例程.sh)和一个LICENSE文件。我找不到关于vagrant-vbguest将已安装项目放置到/opt
文件夹中的文档,但确实找到了一个小提here。
我怀疑此过程适用于任何5.2.xx版本(可用here),但是我已经安装了5.2.27,因此可以继续进行。
答案 1 :(得分:0)
在将laravel / homestead box更新到v7.2.1之后,我遇到了同样的问题。 This blog post帮助我解决了这个问题。
总之,这是您要做的:
Vagrantfile
的目录并运行vagrant plugin install vagrant-vbguest
我第一次执行命令时,它禁用了我的WiFi适配器,安装失败。如果发生这种情况,请重新激活它并重新运行命令。
vagrant up
来启动VM。它将更新Guest Additions