销毁 VM 会导致 Guest Additions Mismatch 再次发生

Destroying VM causes Guest Additions Mismatch to Recur

我使用 vagrant 创建 Vagrantfile:

vagrant init somedir/thebox-1.0.0 http://XX.XX.XXX.XXX.XXXX/somedir/thebox-1.0.0.box

我运行流浪起来:

vagrant up

其中显示(以及其他信息)

[default] GuestAdditions versions on your host (6.1.8) and guest (6.0.2) do not match.
...
Complete!
Copy iso file C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso into the box 
/tmp/VBoxGuestAdditions.iso
Mounting Virtualbox Guest Additions ISO to: /mnt
mount: /dev/loop0 is write-protected, mounting read-only
Installing Virtualbox Guest Additions 6.1.8 - guest version is 6.0.2
Verifying archive integrity... All good.
Uncompressing VirtualBox 6.1.8 Guest Additions for Linux........
VirtualBox Guest Additions installer
Removing installed version 6.0.2 of VirtualBox Guest Additions...
Copying additional installer modules ...
Installing additional modules ...
VirtualBox Guest Additions: Starting.
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel
modules.  This may take a while.
VirtualBox Guest Additions: To build modules for other installed kernels, run
VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup <version>
VirtualBox Guest Additions: or
VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup all
VirtualBox Guest Additions: Building the modules for kernel
3.10.0-957.1.3.el7.x86_64.
VirtualBox Guest Additions: Running kernel modules will not be replaced until
the system is restarted
An error occurred during installation of VirtualBox Guest Additions 6.1.8. Some functionality may not 
work as intended.
In most cases it is OK that the "Window System drivers" installation failed.
Redirecting to /bin/systemctl start vboxadd.service
Redirecting to /bin/systemctl start vboxadd-service.service
Unmounting Virtualbox Guest Additions ISO from: /mnt
Got different reports about installed GuestAdditions version:
Virtualbox on your host claims:   6.0.2
VBoxService inside the vm claims: 6.1.8
Going on, assuming VBoxService is correct...
Got different reports about installed GuestAdditions version:
Virtualbox on your host claims:   6.0.2
VBoxService inside the vm claims: 6.1.8
Going on, assuming VBoxService is correct... 
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => C:/vagrant_devbox

现在,如果我通过以下方式销毁 VM:

vagrant destroy -f

然后通过以下方式再次打开它:

vagrant up

仍然报告不匹配

[default] GuestAdditions versions on your host (6.1.8) and guest (6.0.2) do not match.

文件在本地已经存在:

Copy iso file C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso into the box

如何避免出现错误

[default] GuestAdditions versions on your host (6.1.8) and guest (6.0.2) do not match.

何时首次调用 vagrant up

我看过像 How to upgrade to VirtualBox Guest Additions on VM box? 这样的答案。安装 vagrant-vbguest 并不能防止第一次调用 vagrant up 时的错误。

  • 为什么会出现错误?

您收到此消息是因为 vagrant box 是使用先前版本的 VirtualBox (6.0.2) 创建的,并且 GuestAdditions 已安装在此版本的 box 上。但是现在你 运行 一个更新版本的 VBox (6.1.8) 所以系统需要在盒子上复制更新的工具。

每次针对此框旋转新 VM 以及每次在主机上升级 VirtualBox 时,您都会收到此消息。

  • 如何避免出现错误

如果你真的想避免错误,你将需要升级你的盒子并在盒子中安装Guest Addition并重新打包盒子