
我嘗試在我的 Ubuntu 18.04 上安裝 VBoxGuestAddition 5.1.2 並透過執行以下命令安裝了所需的所有軟體包
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install build-essential dkms module-assistant linux-headers-$(uname -r)
sudo m-a prepare
然後我選擇了 裝置 -> 插入來賓新增 CD 映像並運行 Vboxguestaddition 安裝。但是,我收到了這個錯誤
Verifying archive integrity... All good.
Uncompressing VirtualBox 5.1.2 Guest Additions for Linux...........
VirtualBox Guest Additions installer
Removing installed version 5.1.2 of VirtualBox Guest Additions...
update-initramfs: Generating /boot/initrd.img-5.3.0-28-generic
update-initramfs: Generating /boot/initrd.img-5.3.0-40-generic
update-initramfs: Generating /boot/initrd.img-5.3.0-42-generic
Copying additional installer modules ...
Installing additional modules ...
vboxadd.sh: Building Guest Additions kernel modules.
Failed to set up service vboxadd, please check the log file
/var/log/VBoxGuestAdditions.log for details.
Press Return to close this window...
然後我檢查了/var/log/VBoxGuestAdditions.log
文件
vboxadd.sh: failed: Look at /var/log/vboxadd-install.log to find out what went wrong.
vboxadd.sh: failed: Please check that you have gcc, make, the header files for your Linux kernel and possibly perl installed..
當我查看該/var/log/vboxadd-install.log
文件時,我注意到該/lib/modules/5.3.0-42-generic/build/include/linux/version.h
文件丟失並且內核配置無效
grep: /lib/modules/5.3.0-42-generic/build/include/linux/version.h: No such file
or directory
make KBUILD_VERBOSE=1 CONFIG_MODULE_SIG= -C /lib/modules/5.3.0-42-generic/build
SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 -j1 modules
Makefile:227: ================= WARNING ================
Makefile:228: 'SUBDIRS' will be removed after Linux 5.3
Makefile:229:
Makefile:230: If you are building an individual subdirectory
Makefile:231: in the kernel tree, you can do like this:
Makefile:232: $ make path/to/dir/you/want/to/build/
Makefile:233: (Do not forget the trailing slash)
Makefile:234:
Makefile:235: If you are building an external module,
Makefile:236: Please use 'M=' or 'KBUILD_EXTMOD' instead
Makefile:237: ==========================================
test -e include/generated/autoconf.h -a -e include/config/auto.conf || ( \
echo >&2; \
echo >&2 " ERROR: Kernel configuration is invalid."; \
echo >&2 " include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
...
...
cc1: some warnings being treated as errors
scripts/Makefile.build:288: recipe for target '/tmp/vbox.0/VBoxGuest-linux.o' failed
make[2]: *** [/tmp/vbox.0/VBoxGuest-linux.o] Error 1
Makefile:1655: recipe for target '_module_/tmp/vbox.0' failed
make[1]: *** [_module_/tmp/vbox.0] Error 2
/tmp/vbox.0/Makefile.include.footer:84: recipe for target 'vboxguest' failed
make: *** [vboxguest] Error 2
Creating user for the Guest Additions.
Creating udev rule for the Guest Additions kernel module.
我不知道如何解決這個問題。我已經安裝了核心(5.3.0-42-generic)+標頭、gcc,但我不知道為什麼標/linux/version.h
頭丟失或為什麼核心配置無效。任何幫助,將不勝感激。
答案1
VBoxGuestAdditions 5.1.2 似乎與 Ubuntu 18.04 不相容。我嘗試將虛擬盒管理器安裝到最新版本並下載最新的 VBoxGuestAdditions (16.0.4),現在它可以工作了。