Ubuntu 24.04.1下VirtualBox安装与内核模块加载故障求助
Ubuntu 24.04.1下VirtualBox安装与内核模块加载故障求助
看起来你在Ubuntu 24.04.1上装VirtualBox时碰到了内核模块加载的棘手问题,我来帮你梳理解决思路。
首先你提到的终端警告是核心问题:
WARNING: The character device /dev/vboxdrv does not exist.
Please install the virtualbox-dkms package and the appropriate
headers, most likely linux-headers-generic.You will not be able to start VMs until this problem is fixed.
重新安装后又出现了virtualbox.service启动失败的错误,完整的日志应该是这样的(补全了你截断的部分):
× virtualbox.service - LSB: VirtualBox Linux kernel module Loaded: loaded (/etc/init.d/virtualbox; generated) Active: failed (Result: exit-code) since Thu 2024-09-19 11:25:15 +03; 1min ago Docs: man:systemd-sysv-generator(8) Process: 34263 ExecStart=/etc/init.d/virtualbox start (code=exited, status=1/FAILURE) CPU: 45ms Sep 19 11:25:15 Moudi systemd[1]: Starting virtualbox.service - LSB: VirtualBox Linux kernel module... Sep 19 11:25:15 Moudi virtualbox[34263]: * Loading VirtualBox kernel modules... Sep 19 11:25:15 Moudi virtualbox[34263]: * No suitable module for running kernel found Sep 19 11:25:15 Moudi systemd[1]: virtualbox.service: Control process exited, code=exited, status=1/FAILURE Sep 19 11:25:15 Moudi systemd[1]: virtualbox.service: Failed with result 'exit-code'. Sep 19 11:25:15 Moudi systemd[1]: Failed to start virtualbox.service - LSB: VirtualBox Linux kernel module.
下面是针对性的解决步骤,你可以按顺序尝试:
先更新系统与内核
确保系统和内核是最新版本,避免内核头文件与当前运行内核不匹配:sudo apt update && sudo apt full-upgrade -y sudo reboot安装精准匹配的依赖包
用当前内核版本来安装对应的头文件,比通用包更可靠,同时安装dkms工具(负责编译内核模块):sudo apt install linux-headers-$(uname -r) virtualbox-dkms -y重新加载模块并重启服务
安装完成后手动加载VirtualBox内核模块,再重启服务验证:sudo modprobe vboxdrv sudo systemctl restart virtualbox sudo systemctl status virtualbox检查Secure Boot状态
如果以上步骤都没用,大概率是Secure Boot在阻止未签名的第三方模块加载:- 重启电脑进入BIOS/UEFI设置(按F2、Del或Esc,取决于电脑品牌)
- 找到Secure Boot选项,设置为Disabled
- 保存设置重启后,重复前面的依赖安装和模块加载步骤
要是之后想重新开启Secure Boot,还可以给VirtualBox模块签名,不过先解决当前问题优先。
备注:内容来源于stack exchange,提问作者Moudi




