VirtualBox虚拟机在CentOS中如何安装驱动程序
导读:在 CentOS 虚拟机中安装 VirtualBox 驱动的正确做法 一、先明确驱动类型 宿主机(运行 VirtualBox 的电脑)需要安装并加载 VirtualBox 内核模块(vboxdrv/vboxnetflt/vboxpci),...
在 CentOS 虚拟机中安装 VirtualBox 驱动的正确做法
一、先明确驱动类型
- 宿主机(运行 VirtualBox 的电脑)需要安装并加载 VirtualBox 内核模块(vboxdrv/vboxnetflt/vboxpci),否则会看到错误:Kernel driver not installed (rc=-1908)。
- 虚拟机内(CentOS 客户机)需要安装 VirtualBox Guest Additions(VBoxLinuxAdditions.run),以获得共享剪贴板、拖放、自动分辨率、无缝鼠标、共享文件夹等增强功能。
二、宿主机驱动安装与修复(出现 rc=-1908 时)
- 安装编译依赖与头文件(以 CentOS 7 为例,CentOS 8/9 将 yum 换为 dnf):
- sudo yum install -y gcc make perl kernel-devel kernel-headers dkms
- 重建内核模块(两条命令二选一,按系统提示执行):
- sudo /usr/lib/virtualbox/vboxdrv.sh setup
- 或(旧版路径)sudo /etc/init.d/vboxdrv setup
- 若编译失败并提示找不到内核源码,手动指定内核源码目录后重建:
- export KERN_DIR=/usr/src/kernels/$(uname -r)
- sudo /usr/lib/virtualbox/vboxdrv.sh setup
- 安装 DKMS 以提升后续内核升级后的模块自动重建成功率:
- sudo yum install -y dkms
- 然后再次执行 vboxdrv.sh setup
- 加载模块并验证:
- sudo modprobe vboxdrv
- lsmod | grep vbox(应看到 vboxdrv、vboxnetflt、vboxpci 等)
- 若仍失败,检查日志:/var/log/vbox-install.log,常见原因是运行内核与已安装的 kernel-devel/kernel-headers 版本不一致。
三、CentOS 客户机安装增强功能(Guest Additions)
- 安装编译依赖与头文件(确保与当前运行内核匹配):
- CentOS 7:sudo yum install -y epel-release gcc make perl kernel-devel kernel-headers dkms bzip2
- CentOS 8/9:sudo dnf install -y epel-release gcc make perl kernel-devel kernel-headers dkms bzip2
- 核对版本:uname -r 与 rpm -q kernel-devel 输出应一致;不一致请先升级内核并重启。
- 在 VirtualBox 菜单:设备 → 插入 Guest Additions CD 镜像,挂载后进入光盘目录(常见为 /run/media/$USER/VBox_GAs_* 或 /mnt/cdrom)。
- 执行安装脚本(需要 root 权限):
- cd /run/media/$USER/VBox_GAs_*
- sudo sh ./VBoxLinuxAdditions.run
- 安装完成后重启:
- sudo reboot
- 验证安装结果:
- lsmod | grep vboxguest(应能看到 vboxguest 模块)
- 测试:自动全屏、拖放/剪贴板、共享文件夹是否可用。
四、常见故障排查
- 编译增强功能时报错“unable to find the sources of your current Linux kernel”:
- 安装匹配版本的 kernel-devel/kernel-headers,或设置 KERN_DIR 指向 /usr/src/kernels/$(uname -r) 后重试。
- 启动虚拟机报 Kernel driver not installed (rc=-1908):
- 在宿主机执行 vboxdrv.sh setup 重建内核模块,并确保已安装 gcc、make、perl、kernel-devel、dkms。
- 运行内核与头文件版本不一致导致模块编译失败:
- 执行 sudo yum/dnf update 升级内核,重启后再安装/重建。
- 增强功能脚本无法执行或权限不足:
- 确认挂载点下存在 VBoxLinuxAdditions.run,使用 sudo 执行;必要时检查挂载是否成功、文件是否可读。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: VirtualBox虚拟机在CentOS中如何安装驱动程序
本文地址: https://pptw.com/jishu/772039.html
