Debian 9에 Virtualbox 추가 기능을 설치하는 중에 오류가 발생했습니다.

Debian 9에 Virtualbox 추가 기능을 설치하는 중에 오류가 발생했습니다.

Debian 9를 새로 설치할 때 Virtualbox Guest Additions를 설치하려고 하는데, 모듈을 빌드할 때 오류가 발생합니다. 패키지 build-essential, module-assistant, dpkg, linux-headers-4.0.3설치됨:

$ sudo apt install build-essential dpkg linux-headers-4.0.3-3
$ sudo apt build-dep -y linux

추가 기능을 설치하려면 다음을 실행합니다.

$ sudo mount -o remount,exec,ro /media/cdrom0
$ sudo /media/cdrom0/VBoxLinuxAddons.run

오류가 발생했습니다.

Verifying archive integrity... All good.
Uncompressing VirtualBox 5.1.6 Guest Additions for Linux...........
VirtualBox Guest Additions installer
Removing installed version 5.1.6 of VirtualBox Guest Additions...
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.
sergiy@debian-pc-1:~$

로그에는 다음이 /var/log/VBoxGuestAdditions.log포함됩니다.

Created symlink /etc/systemd/system/multi-user.target.wants/vboxadd.service → /lib/systemd/system/vboxadd.service.
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..
Created symlink /etc/systemd/system/multi-user.target.wants/vboxadd-service.service → /lib/systemd/system/vboxadd-service.service.
Created symlink /etc/systemd/system/multi-user.target.wants/vboxadd-x11.service → /lib/systemd/system/vboxadd-x11.service.

파일 /var/log/vboxadd-install.log에는 다음이 포함됩니다.

grep: /lib/modules/4.9.0-3-amd64/build/include/linux/version.h: No such file or directory
make KBUILD_VERBOSE=1 CONFIG_MODULE_SIG= -C /lib/modules/4.9.0-3-amd64/build SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 -j1 modules
make -C /usr/src/linux-headers-4.9.0-3-amd64 KBUILD_SRC=/usr/src/linux-headers-4.9.0-3-common \
-f /usr/src/linux-headers-4.9.0-3-common/Makefile modules
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.";      \
echo >&2 ;                                                      \
/bin/false)
mkdir -p /tmp/vbox.0/.tmp_versions ; rm -f /tmp/vbox.0/.tmp_versions/*
make -f /usr/src/linux-headers-4.9.0-3-common/scripts/Makefile.build obj=/tmp/vbox.0
   gcc-6 -Wp,-MD,/tmp/vbox.0/.VBoxGuest-linux.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/6/include -I/usr/src/linux-headers-4.9.0-3-common/arch/x86/
------------------------------------------------
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
/usr/src/linux-headers-4.9.0-3-common/include/linux/mm.h:1298:6: note: declared here
 long get_user_pages_remote(struct task_struct *tsk, struct mm_struct *mm,
      ^~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
/usr/src/linux-headers-4.9.0-3-common/scripts/Makefile.build:298: recipe for target '/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o' failed
make[4]: *** [/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o] Error 1
/usr/src/linux-headers-4.9.0-3-common/Makefile:1507: recipe for target '_module_/tmp/vbox.0' failed
make[3]: *** [_module_/tmp/vbox.0] Error 2
Makefile:150: recipe for target 'sub-make' failed
make[2]: *** [sub-make] Error 2
Makefile:8: recipe for target 'all' failed
make[1]: *** [all] 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.

출력 uname -a:

Linux debian-pc-1 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u1 (2017-06-18) x86_64 GNU/Linux

$ dpkg -l | dpkg -l grep 가상 머신

dpkg -l | grep virtualbox호스트 Ubuntu 16.10의 명령 결과:

ii  virtualbox                                  5.1.6-dfsg-2                                       amd64        x86 virtualization solution - base binaries
rc  virtualbox-5.1                              5.1.22-115126~Ubuntu~yakkety                       amd64        Oracle VM VirtualBox
ii  virtualbox-dkms                             5.1.6-dfsg-2                                       all          x86 virtualization solution - kernel module sources for dkms
ii  virtualbox-qt                               5.1.6-dfsg-2                                       amd64        x86 virtualization solution - Qt based user interface
ii  virtualbox-source                           5.1.6-dfsg-2                                       all          x86 virtualization solution - kernel module source

/etc/apt/sources.listDebian 게스트의 파일:

deb http://deb.debian.org/debian/ stretch-updates main contrib non-free
deb-src http://deb.debian.org/debian/ stretch-updates main contrib non-free

deb http://deb.debian.org/debian/ stretch main contrib non-free
deb-src http://deb.debian.org/debian/ stretch main contrib non-free

deb http://security.debian.org/ stretch/updates main contrib non-free

deb http://httpredir.debian.org/debian stretch-backports main contrib non-free
deb-src http://httpredir.debian.org/debian stretch-backports main contrib non-free

Virtualbox 플러그인 5.1.6이 포함된 ISO는 VirtualBox 공식 웹사이트에서 다운로드됩니다. 뭐가 문제 야? 어떻게 고치나요?

답변1

우분투 에 속합니다 linux-headers-4.0.3-3. linux-headers-4.9.0-3-amd64이 패키지를 debian 9에 설치 해야 합니다 :

apt install linux-headers-4.9.0-3-amd64 

dkms커널 모듈을 빌드하기 위해 커널을 설치 하고 준비합니다.

apt install dkms
m-a prepare

을 통해 달렸다 VBoxLinuxAddons.run.

답변2

내 설정은 OP와 유사합니다. @GAD3R의 제안을 한 번 시도해 보기도 했습니다.

마지막으로 제가 찾은 해결책은 최신 버전의 VirtualBox(5.1.24)를 설치하고 http://download.virtualbox.org/virtualbox/5.1.24/.

관련 정보