CentOS7にVirtualBoxを入れて起動しようとするとこういうエラーが出た
[root@~]# service vboxdrv setup
Stopping VirtualBox kernel modules [ OK ]
Uninstalling old VirtualBox DKMS kernel modules [ OK ]
Trying to register the VirtualBox kernel modules using DKMSError! echo
Your kernel headers for kernel 3.10.0-229.el7.x86_64 cannot be found at
/lib/modules/3.10.0-229.el7.x86_64/build or /lib/modules/3.10.0-229.el7.x86_64/source.
[FAILED]
(Failed, trying without DKMS)
Recompiling VirtualBox kernel modules [FAILED]
(Look at /var/log/vbox-install.log to find out what went wrong)
どうやらカーネルのバージョンとカーネルヘッダーが違う!と起こってるらしいのだがバージョンはあってるのに、末尾が微妙に違う様子
unameのカーネル
[root]# uname -a Linux 157-7-109-110 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
カーネルヘッダーの場所
[root]# ls /usr/src/kernels/3.10.0-229.4.2.el7.x86_64/ Kconfig Module.symvers arch crypto firmware include ipc lib net scripts sound usr vmlinux.id Makefile System.map block drivers fs init kernel mm samples security tools virt
- unameカーネル 3.10.0-229.el7.x86_64
- カーネルヘッダー 3.10.0-229.4.2.el7.x86_64
ln -s でカーネルヘッダーのショートカットを作ると解決できます
ln -s /usr/src/kernels/3.10.0-229.4.2.el7.x86_64 /usr/src/kernels/3.10.0-229.el7.x86_64
[root kernels]# service vboxdrv setup
Stopping VirtualBox kernel modules [ OK ]
Uninstalling old VirtualBox DKMS kernel modules [ OK ]
Trying to register the VirtualBox kernel modules using DKMS[ OK ]
Starting VirtualBox kernel modules [ OK ]