You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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

火山引擎 最新活动