应使用Oracle官方源安装VirtualBox,因其提供新版和内核模块支持;仅用系统默认仓库易因vboxdrv未随内核更新导致VERR_VM_DRIVER_NOT_INSTALLED或黑屏。

直接在主流 Linux 发行版上用包管理器装 VirtualBox 是最稳妥的方式,但必须注意:官方仓库版本往往滞后,而 Oracle 官方源才能及时提供新版本和内核模块支持。跳过密钥验证、混用源或忽略 dkms 依赖,几乎必然导致启动虚拟机时报 VERR_VM_DRIVER_NOT_INSTALLED 或黑屏。
为什么不能只用 apt install virtualbox(Ubuntu/Debian)
系统默认仓库里的 virtualbox 包通常来自 distro 维护者二次打包,不包含最新版 vboxdrv 内核模块,也不随内核升级自动重建。一旦你升级了 linux-image,第二天开机就可能发现 VirtualBox 启动失败,报错信息里带 modprobe vboxdrv 失败。
- Ubuntu 24.04(noble)默认源里是
virtualbox-6.1,而当前稳定版已是7.1 - Debian 12(bookworm)源中甚至没有
virtualbox,需手动加源 - 即使装上了,
/dev/vboxdrv设备节点不存在,所有虚拟机都无法启动
正确添加 Oracle 官方 APT 源(Ubuntu/Debian 系)
关键不是“下载 deb 包”,而是让系统能持续更新——尤其要确保 dkms 能自动为每个新内核编译 vboxdrv。
- 先装必要依赖:
sudo apt install -y dkms build-essential linux-headers-$(uname -r) - 导入密钥(注意路径和命令格式):
wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmor -o /usr/share/keyrings/oracle_vbox_2016.asc.gpg - 写入源列表:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle_vbox_2016.asc.gpg] https://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list - 更新并安装:
sudo apt update && sudo apt install -y virtualbox-7.1
装完后立即验证:sudo modprobe vboxdrv 不报错,且 ls /dev/vbox* 能看到设备节点,才算真正就绪。
CentOS/RHEL/Rocky 8+ 必须用 yum-config-manager 加 repo
yum install VirtualBox 在 RHEL 系几乎无效——官方不提供 RPM,EPEL 也早已移除。硬装社区打包的 rpm 会因 kernel-devel 版本不匹配直接失败。
- 启用 PowerTools(RHEL 8)或 CRB(RHEL 9+):
sudo dnf config-manager --set-enabled powertools(8)或sudo dnf config-manager --set-enabled crb(9+) - 导入密钥:
sudo rpm --import https://www.virtualbox.org/download/oracle_vbox_2016.asc - 新建
/etc/yum.repos.d/virtualbox.repo,内容必须含baseurl和gpgkey,不能只靠mirrorlist - 安装时明确指定版本:
sudo dnf install -y VirtualBox-7.1(注意大小写和连字符)
装完运行 VBoxManage list extpacks,若提示 “no extension packs installed”,说明 VirtualBox 主程序虽在,但 USB、RDP 等功能仍不可用——这是常见遗漏点。
启动前最后两步检查(90% 的黑屏/无法开机源于此)
装完不等于能用。两个底层依赖常被忽略,却直接决定虚拟机能否点亮:
- 确认当前用户已加入
vboxusers组:sudo usermod -aG vboxusers $USER,然后完全退出图形会话重登(仅newgrp不生效) - 检查 BIOS 中是否启用 VT-x/AMD-V —— 即使
egrep -c '(vmx|svm)' /proc/cpuinfo返回 1,某些 OEM 厂商(如 Dell、Lenovo)的 BIOS 仍默认关闭,需手动开启并保存
这两项任一缺失,都会表现为点击“启动”后窗口一闪而逝、日志里反复出现 NS_ERROR_FAILURE,或者卡在紫色/黑色背景无任何输出。不是配置问题,是根本没进入虚拟化上下文。











