如何避免在每次升级客户机 Ubuntu 内核时重新安装 VirtualBox Guest Additions 以实现剪贴板和拖放功能?

如何避免在每次升级客户机 Ubuntu 内核时重新安装 VirtualBox Guest Additions 以实现剪贴板和拖放功能?

我正在使用Oracle的存储库中的VirtualBox 5.1.38运行Ubuntu 16.04 LTS主机。

我在此主机上有Ubuntu 18.04.1 LTS 的
来宾build-essentialdkmslinux-headers-generic
VBoxGuestAdditions_5.1.38.iso到虚拟 VM 驱动器并通过其自动运行提示成功安装。
然后重启后,我看到所有 GA 功能都按预期工作,所以我拥有所有必要的流程:

$ uname -r
4.15.0-32-generic

$ sudo ps ax | grep -i vbox
  442 ?        I<     0:00 [iprt-VBoxWQueue]
  822 ?        Sl     0:00 /usr/sbin/VBoxService --pidfile /var/run/vboxadd-service.sh
 1393 ?        S      0:00 /usr/bin/VBoxClient --clipboard
 1394 ?        Sl     0:00 /usr/bin/VBoxClient --clipboard
 1398 ?        S      0:00 /usr/bin/VBoxClient --checkhostversion
 1399 ?        S      0:00 /usr/bin/VBoxClient --checkhostversion
 1404 ?        S      0:00 /usr/bin/VBoxClient --display
 1405 ?        S      0:00 /usr/bin/VBoxClient --display
 1412 ?        S      0:00 /usr/bin/VBoxClient --seamless
 1413 ?        Sl     0:00 /usr/bin/VBoxClient --seamless
 1420 ?        S      0:00 /usr/bin/VBoxClient --draganddrop
 1421 ?        Sl     0:00 /usr/bin/VBoxClient --draganddrop

但是在下一次内核升级(很简单sudo apt update && sudo apt dist-upgrade)之后,我收到以下日志

$ cat /var/log/syslog | grep -i vboxadd
Jan  9 12:01:45 bionic vboxadd.sh: Building the VirtualBox Guest Additions kernel modules.
Jan  9 12:01:45 bionic vboxadd.sh: Building the main Guest Additions module.
Jan  9 12:02:17 bionic vboxadd.sh: .
Jan  9 12:02:17 bionic vboxadd.sh: Building the shared folder support module.
Jan  9 12:02:24 bionic vboxadd.sh: .
Jan  9 12:02:24 bionic vboxadd.sh: Building the graphics driver module.
Jan  9 12:02:32 bionic vboxadd.sh: .
Jan  9 12:02:32 bionic vboxadd.sh: Doing non-kernel setup of the Guest Additions.

重新启动后,我看到了剪贴板龙滴关闭:

$ uname -r
4.15.0-43-generic

$ sudo ps ax | grep -i vbox
  428 ?        I<     0:00 [iprt-VBoxWQueue]
 1404 ?        S      0:00 /usr/bin/VBoxClient --checkhostversion
 1405 ?        S      0:00 /usr/bin/VBoxClient --checkhostversion
 1409 ?        S      0:00 /usr/bin/VBoxClient --display
 1410 ?        S      0:00 /usr/bin/VBoxClient --display
 1419 ?        S      0:00 /usr/bin/VBoxClient --seamless
 1912 ?        S      0:00 /usr/bin/VBoxClient --seamless

为什么会发生这种情况?如何避免 GA 重新安装异质文件?

我知道这个问题可能有点复杂,但 Ubuntu 新手可能希望它在 VirtualBox 上正常运行,所以请不要将此问题关闭为题外话。内核更新发布非常频繁,因此可能会有点烦人。

答案1

尝试删除使用主机提供的 ISO 文件安装的 Guest Additions

sudo /opt/VBoxGuestAdditions-5.1.38/uninstall.sh

然后安装以下可直接在 Ubuntu 客户机上使用的 deb 包

sudo apt install virtualbox-guest-x11 virtualbox-guest-utils

这应该为您提供与手动安装来宾附加功能相同的功能。

相关内容