温馨提示×

CentOS里VirtualBox如何更新驱动

小樊
41
2025-12-27 03:36:18
栏目: 智能运维

在 CentOS 中,所谓“更新驱动”通常包含三部分:更新宿主机 VirtualBox 内核模块 vboxdrv、在虚拟机内更新 Guest Additions、以及更新扩展包 Extension Pack。下面按场景给出可操作步骤。


宿主机端更新 VirtualBox 内核驱动 vboxdrv

  • 更新系统与依赖,确保有编译环境:
    • 对于 CentOS 7sudo yum update -y && sudo yum groupinstall "Development Tools" -y
    • 对于 CentOS 8/9sudo dnf update -y && sudo dnf groupinstall "Development Tools" -y
    • 安装通用依赖:sudo yum install -y kernel-devel gcc dkms perl(或 sudo dnf install -y kernel-devel gcc dkms perl
  • 若曾升级过内核,确认 kernel-devel 与当前运行内核版本一致:uname -r 与已安装的 kernel-devel 版本需匹配;不一致请从 CentOS Vault/镜像安装对应版本的开发包,避免编译失败。
  • 重建并加载 VirtualBox 内核模块:
    • 新版本通常可用:sudo /sbin/vboxconfig
    • 旧版本或兼容脚本:sudo /etc/init.d/vboxdrv setup
  • 加载模块并验证:sudo modprobe vboxdrv;若不再出现 “Kernel driver not installed (rc=-1908)”,说明驱动已就绪。

虚拟机内更新 Guest Additions(增强功能)

  • 启动虚拟机,在菜单 设备 → 安装增强功能,挂载 VBoxLinuxAdditions.iso
  • 进入挂载目录(常见为 /run/media/用户名/VBox_GAs_* 或 /media/cdrom),执行安装:
    • cd /run/media/你的用户名/VBox_GAs_*
    • sudo ./VBoxLinuxAdditions.run
  • 安装完成后重启虚拟机:sudo reboot
  • 注意:增强功能必须与当前 内核版本严格匹配,否则编译会失败;优先通过安装对应版本的 kernel-devel 解决依赖。

更新扩展包 Extension Pack(宿主机)

  • 查看当前 VirtualBox 版本:vboxmanage -v
  • Oracle 官网下载与之完全匹配的 Extension Pack(版本号需一致)。
  • 安装扩展包:sudo vboxmanage extpack install /path/to/Oracle_VM_VirtualBox_Extension_Pack-<版本号>.vbox-extpack
  • 验证安装:vboxmanage list extpacks
  • 扩展包提供 USB 2.0/3.0、VRDP、主机摄像头透传 等高级功能,建议与宿主机 VirtualBox 版本保持一致。

常见故障排查要点

  • 出现 “Kernel driver not installed (rc=-1908)”:安装/更新 dkms、gcc、kernel-devel 后,执行 sudo /sbin/vboxconfigsudo /etc/init.d/vboxdrv setup 重建内核模块,再 sudo modprobe vboxdrv
  • Secure Boot 启用会阻止未签名模块加载:可在 BIOS 中临时关闭;或按发行版流程为模块签名后再启用(进阶操作)。
  • 内核版本与 kernel-devel 不一致:升级或回退内核后,务必安装对应版本的 kernel-devel 再编译 VirtualBox 模块,否则会失败。
  • 彻底重装思路(残留导致安装失败时):卸载旧版 VirtualBox、清理残留目录与旧模块后重启,再按上文步骤重装。

0