VirtualBoxの警告「The vboxdrv kernel module is not loaded.」の対処
Centos
Linux
VirtualBox
⚠️
⚠️
この記事は移行作業中です。レイアウトが崩れる場合があります。
CentOS8でVBoxManageコマンドを使用していると、次のような警告が表示された。
(vagrantコマンドでもVBoxManageが使われているコマンドで出現するらしい)
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
available for the current kernel (4.18.0-240.1.1.el8_3.x86_64) or it failed to
load. Please recompile the kernel module and install it by
sudo /sbin/vboxconfig
You will not be able to start VMs until this problem is fixed.</code></pre>
素直に sudo /sbin/vboxconfig
を実行すると、vboxdrv.sh なるものが実行されて失敗した。
# sudo /sbin/vboxconfig
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
vboxdrv.sh: failed: Look at /var/log/vbox-setup.log to find out what went wrong.
見ろと書かれている/var/log/vbox-setup.log
を覗くと、libelf-dev、libelf-devel、elfutils-libelf-devel のどれかをインストールしてくれと書かれていた。
Building the main VirtualBox module.
Error building the module:
make V=1 CONFIG_MODULE_SIG= CONFIG_MODULE_SIG_ALL= -C /lib/modules/4.18.0-240.1.1.el8_3.x86_64/build M=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 -j16 modules
make[1]: warning: -jN forced in submake: disabling jobserver mode.
Makefile:978: *** "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel". Stop.
make: *** [/tmp/vbox.0/Makefile-footer.gmk:117: vboxdrv] Error 2
下記のコマンドを実行して、どれがインストール可能であるか確認する。
自分の場合は elfutils-libelf-devel しかないのでそれを選択した。
# sudo dnf list | grep libelf
elfutils-libelf.x86_64 0.180-1.el8 @BaseOS
elfutils-libelf.i686 0.180-1.el8 baseos
elfutils-libelf-devel.i686 0.180-1.el8 baseos
elfutils-libelf-devel.x86_64 0.180-1.el8 baseos
gcc-toolset-10-elfutils-libelf.i686 0.180-1.el8 appstream
gcc-toolset-10-elfutils-libelf.x86_64 0.180-1.el8 appstream
gcc-toolset-10-elfutils-libelf-devel.i686 0.180-1.el8 appstream
gcc-toolset-10-elfutils-libelf-devel.x86_64 0.180-1.el8 appstream
gcc-toolset-9-elfutils-libelf.x86_64 0.176-5.el8 appstream
gcc-toolset-9-elfutils-libelf-devel.i686 0.176-5.el8 appstream
gcc-toolset-9-elfutils-libelf-devel.x86_64 0.176-5.el8 appstream
インストールして/sbin/vboxconfig
を再実行する。
正常に処理が終了して、VBoxManageコマンドを使用しても警告が表示されなくなった。
# sudo dnf install elfutils-libelf-devel
# sudo /sbin/vboxconfig
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.