How to upgrade to VirtualBox Guest Additions on VM box?

UbuntuVagrantVirtualbox

Ubuntu Problem Overview


I've got the latest version of VirtualBox installed on my desktop (4.3.4).

I'm using Vagrant to run a VM based on the example 64-bit Ubuntu 12.04 LTS box at:

http://files.vagrantup.com/precise64.box

Everytime I run vagrant up, I get the following warning:

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

I've googled, but I can't find a way to upgrade to Guest Additions v4.3. The latest version in the Ubuntu repository for precise is 4.1, and there's no download link on the official VirtualBox download page.

Ubuntu Solutions


Solution 1 - Ubuntu

You can check out the following plugin, it should suit your needs:

https://github.com/dotless-de/vagrant-vbguest

For Vagrant ≥ 1.1

vagrant plugin install vagrant-vbguest

Vagrant 1.0 and older

vagrant gem install vagrant-vbguest

Solution 2 - Ubuntu

Existing VM

Check your host and guest version by:

vagrant vbguest --status

or for specific VM:

VBoxManage guestproperty get <UUID> /VirtualBox/GuestAdd/Version

where <UUID> can be found by VBoxManage list vms.

Then try updating your guest additions by:

VBoxManage guestcontrol <uuid/vmname> updatega|updateguestadditions|updateadditions

or by installing it again in VM:

vagrant vbguest --do install

Alternatively set the version which is recorded in VBox by:

/Applications/VirtualBox.app/Contents/MacOS/VBoxManage guestproperty set "new_version" /VirtualBox/GuestAdd/Version

Note: Change new_version into the right one

To uninstall guets addition in VM (vagrant ssh), do the following:

/opt/VirtualBoxGuestAdditions/uninstall.sh
rm -rf /tmp/Virtualbox; sudo reboot;

To install it again:

VAGRANT_LOG=info vagrant vbguest --do install

Finally re-check by: vagrant vbguest --status.

Source: Issues removing and updating box additions with Virtualbox 4.3 #95 at GitHub


New VMs

If above won't help and this mismatch warning happening for all new VMs, you need to either upgrade your VirtualBox or download VBoxGuestAdditions ISO file from VirtualBox website (with the right version, so they can match) and replace it manually.

On OS X it's in /Applications/VirtualBox.app/Contents/MacOS, so the command would be:

sudo wget -O /Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso http://download.virtualbox.org/virtualbox/5.0.14/VBoxGuestAdditions_5.0.14.iso

where version of VBoxGuestAdditions should match installed VirtualBox binaries.

Consider also upgrading Vagrant, if was installed via Homebrew, try:

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

New VMs (with existing Vagrantfile)

If this start happening for new VMs with existing Vagrantfile which was working before, the problem could be with downloading the metadata for your box (e.g. box was removed from your provider, e.g. Atlas) and this could cause fallback to the default settings, so make sure your config.vm.box in your Vagrantfile is pointing to the valid VM box or you've some temporary network problems.


For more details and Troubleshooting, check: Oracle VM VirtualBox User Manual PDF.

Solution 3 - Ubuntu

Here you can download the Official 4.3.8 VBox Guest Additions ISO:

http://download.virtualbox.org/virtualbox/4.3.8/VBoxGuestAdditions_4.3.8.iso

Solution 4 - Ubuntu

This worked for me very well.
Assuming the VM is running (otherwise start it).
Assuming you are in the directory where the Vagrant file is.
Do:

# vagrant plugin install vagrant-vbguest 
# vagrant halt
# vagrant up
# vagrant halt
# vagrant up


Yes I did the halt/up twice because vagrant needs to fix some inconsistencies.
I also had a link to the VBoxGuestAdditions_6.0.20.iso in the directory
But I don't think it matters.
Good luck!

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionodigityView Question on Stackoverflow
Solution 1 - UbuntuEmylView Answer on Stackoverflow
Solution 2 - UbuntukenorbView Answer on Stackoverflow
Solution 3 - Ubuntuant0nioView Answer on Stackoverflow
Solution 4 - UbuntulinuxaosView Answer on Stackoverflow