Ubuntu 如何在VM box上升级到VirtualBox来宾添加?

Ubuntu 如何在VM box上升级到VirtualBox来宾添加?,ubuntu,vagrant,virtualbox,Ubuntu,Vagrant,Virtualbox,我的桌面上安装了最新版本的VirtualBox(4.3.4) 我正在使用Vagrant运行一个基于64位Ubuntu 12.04 LTS示例框的虚拟机,位于: 每次我运行vagrant up,都会收到以下警告: The guest additions on this VM do not match the installed version of VirtualBox! In most cases this is fine, but in rare cases it can cause thi

我的桌面上安装了最新版本的VirtualBox(4.3.4)

我正在使用Vagrant运行一个基于64位Ubuntu 12.04 LTS示例框的虚拟机,位于:

每次我运行
vagrant up
,都会收到以下警告:

The guest additions on this VM do not match the installed version of
VirtualBox! In most cases this is fine, but in rare cases it can
cause things such as shared folders to not work properly. If you see
shared folder errors, please update the guest additions within the
virtual machine and reload your VM.

Guest Additions Version: 4.2.0
VirtualBox Version: 4.3

我在谷歌上搜索过,但找不到升级到Guest Additions v4.3的方法。Ubuntu repository for precise的最新版本是4.1,在官方的VirtualBox下载页面上没有下载链接。

您可以查看以下插件,它应该适合您的需要:

流浪汉≥ 1.1

vagrant插件安装vagrant vbguest

流浪汉1.0及以上


vagrant gem安装vagrant vbguest

在这里,您可以下载官方的4.3.8 VBox Guest附件ISO:

现有虚拟机 通过以下方式检查您的主机和来宾版本:

vagrant vbguest --status
或针对特定VM:

VBoxManage guestproperty get <UUID> /VirtualBox/GuestAdd/Version
或者通过在VM中再次安装它:

vagrant vbguest --do install
或者,通过以下方式设置在VBox中记录的版本:

/Applications/VirtualBox.app/Contents/MacOS/VBoxManage guestproperty set "new_version" /VirtualBox/GuestAdd/Version
注意:将
新版本更改为正确版本

要卸载VM中的guets addition(
vagrant ssh
),请执行以下操作:

/opt/VirtualBoxGuestAdditions/uninstall.sh
rm -rf /tmp/Virtualbox; sudo reboot;
要重新安装,请执行以下操作:

VAGRANT_LOG=info vagrant vbguest --do install
最后通过以下方式重新检查:
vagrant vbguest--status

资料来源:GitHub


新虚拟机 如果上述方法无效,并且所有新虚拟机都会出现此不匹配警告,则您需要升级VirtualBox或从下载VboxGuestaditions ISO文件(使用正确的版本,以便它们可以匹配)并手动替换它


在OS X上,它位于
/Applications/VirtualBox.app/Contents/MacOS
中,因此命令为:

sudo wget -O /Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso http://download.virtualbox.org/virtualbox/5.0.14/VBoxGuestAdditions_5.0.14.iso
其中VBoxGuestAdditions的版本应与已安装的二进制文件匹配

考虑升级Vagrant,如果是通过自制安装的,请尝试:

brew cask update
brew install Caskroom/cask/vagrant # Or: brew cask install Caskroom/cask/vagrant

新虚拟机(使用现有的
Vagrantfile
) 如果此情况开始发生在具有以前工作过的现有Vagrantfile的新VM上,则问题可能是下载您的box的元数据(例如,box已从您的提供商处删除),这可能会导致退回到默认设置,因此,请确保
Vagrantfile
中的
config.vm.box
指向有效的vm框,或者您遇到了一些临时网络问题



有关更多详细信息和疑难解答,请查看:。

这对我来说非常有效。
假设VM正在运行(否则启动它)。
假设您位于Vagrant文件所在的目录中。
做:


是的,我停了两次,因为流浪汉需要纠正一些不一致的地方。
我在目录中还有一个指向VBoxGuestAdditions_6.0.20.iso的链接
但我认为这无关紧要。
祝你好运!谢谢你的链接!成功了。(大多数情况下——仍然收到一些恼人的警告,将在github上提交问题)已经有一个相关问题打开了,我对此发表了评论:这是IMO的最佳选择。完全自动!这一个解决了问题,而且很简单:最好的方法是将新主题指向原始主题并关闭新主题,然后原始主题如果真的有效,将获得更多的眼球和评论,然后希望stackoverflow允许重新打开-如果没有,至少在一个地方会有更多的附加评论。虽然此链接可以回答问题,最好在这里包括答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-谢谢你,戴夫,你说得对,问题是堆栈溢出不允许我评论上面的答案,因为我缺乏声誉。这是最好的答案,因为在某些情况下,vb guest插件不会升级已安装在基本映像中的guest additions,在某些情况下,
/Applications/VirtualBox.app/Contents/MacOS/VBoxManage guestproperty set“new\u version”/VirtualBox/GuestAdd/Version
“注意:将新的\u版本更改为正确的版本”
VBoxManage:error:找不到名为“5.0.20”的注册计算机
,因此我认为可能是我的计算机名?=>
所以我输入了“default”
现在它不知道来宾版本看起来像什么正确的命令是:
/Applications/VirtualBox.app/Contents/MacOS/VBoxManage guestproperty set[VAGRANT\u BOX\u NAME]/VirtualBox/guestad/version[VALUE]
-我不知道我应该用什么来表示VALUE,实际安装了什么或我想要得到什么?
brew cask update
brew install Caskroom/cask/vagrant # Or: brew cask install Caskroom/cask/vagrant
# vagrant plugin install vagrant-vbguest 
# vagrant halt
# vagrant up
# vagrant halt
# vagrant up