统信uos中virtualbox报“kernel driver not installed”错误,是因vboxdrv等内核模块未加载或未编译成功,通常由内核升级、系统更新或secure boot拦截导致;需安装对应linux-headers与build-essential,运行sudo /sbin/vboxconfig重建模块,若secure boot启用则须禁用后重启再执行该命令。

统信UOS系统中VirtualBox启动虚拟机时弹出“Kernel driver not installed”错误,说明vboxdrv等关键内核模块未加载或未正确编译,虚拟机因缺失底层驱动而被强制中止——这通常发生在系统更新、内核升级或首次安装VirtualBox后未完成模块初始化时。
确认vboxdrv模块当前状态
打开终端,执行命令检查模块是否已加载:
lsmod | grep vbox
若无任何输出,说明vboxdrv、vboxnetadp、vboxnetflt等模块均未载入;若仅显示部分模块(如只有vboxpci),则属于不完整加载,同样会导致启动失败。
安装缺失的内核构建依赖
统信UOS基于Debian/Ubuntu体系,但默认不预装内核头文件与编译工具。必须先补全依赖,否则后续模块编译必然失败:
sudo apt update && sudo apt install linux-headers-$(uname -r) build-essential dkms
注意:【必须使用当前运行的内核版本号,不能抄写固定版本】。执行 uname -r 可确认实际内核,例如输出为 5.10.0-amd64-desktop,则安装的 headers 包名必须严格匹配该字符串。
重建并加载VirtualBox内核模块
方法一:使用官方配置脚本(推荐)
执行:sudo /sbin/vboxconfig
该命令会自动触发DKMS编译vboxdrv等全部必需模块,并尝试加载。过程中若提示“Building the main VirtualBox module”即表示编译开始;若卡在“Failed to set up service”的提示,说明Secure Boot处于启用状态,需进入下一步处理。
方法二:手动加载(仅适用于模块已存在但未加载的情况)
执行:sudo modprobe vboxdrv
若返回“Operation not permitted”,大概率是Secure Boot阻止了未签名模块加载——此时必须关闭Secure Boot或对模块签名,不能跳过。
处理Secure Boot拦截(UOS桌面版常见)
第一步:确认Secure Boot是否启用
mokutil --sb-state
若输出为“SecureBoot enabled”,则必须干预。UOS桌面版默认开启此功能,而VirtualBox模块未签名,系统拒绝加载。
第二步:临时禁用Secure Boot(快速验证)
重启电脑 → 开机时反复按F2或Delete键进入UEFI固件设置 → 找到“Security”或“Boot”选项卡 → 将“Secure Boot”设为Disabled → 保存退出。
第三步:重启后立即执行 sudo /sbin/vboxconfig,模块将成功编译并加载。
注意:【禁用Secure Boot后必须重启一次才能生效,且必须在重启后立刻运行vboxconfig,否则模块仍无法加载】。
验证修复结果
执行:sudo systemctl status vboxdrv
观察输出中是否含“active (exited)”或“active (running)”字样;再运行 lsmod | grep vboxdrv,应返回类似 vboxdrv 462848 3 vboxnetadp,vboxnetflt,vboxpci 的行。
此时打开VirtualBox GUI,双击启动任意虚拟机,错误弹窗不再出现,虚拟机正常进入BIOS自检阶段。











