CentOS 中卸载 VirtualBox 的完整步骤
一 准备与停止服务
- 关闭所有正在运行的虚拟机,并退出 VirtualBox 管理界面。
- 停止并禁用相关服务(若已安装内核模块,服务名通常为 vboxdrv):
- 停止:sudo systemctl stop vboxdrv.service
- 禁用:sudo systemctl disable vboxdrv.service
- 若服务不存在可跳过;继续执行后续卸载步骤。
二 卸载软件包
- 查找已安装的 VirtualBox 包名:
- rpm -qa | grep -i virtualbox
- 使用包管理器移除(两种等效方式,二选一):
- sudo yum remove <package_name>(将 <package_name> 替换为上一步查到的实际包名)
- 或:sudo rpm -e <package_name>
- 清理不再需要的依赖(可选):sudo yum autoremove
- 说明:若曾通过官方仓库安装,包名通常类似 VirtualBox-6.1.x86_64 或 VirtualBox-7.0.x86_64。
三 清理内核模块与 SELinux 策略
- 卸载并移除内核模块(模块名可能因版本不同略有差异,常见为 vboxdrv/vboxnetflt/vboxnetadp/vboxpci):
- 尝试卸载模块:sudo /sbin/vboxconfig
- 强制移除模块(若已加载):sudo /sbin/modprobe -r vboxdrv vboxnetflt vboxnetadp vboxpci
- 若系统启用 SELinux,清理相关策略模块:
- sudo semodule -r vboxdrv
- sudo semodule -r vboxnetflt
- sudo semodule -r vboxnetadp
- 操作完成后建议重启:sudo reboot。
四 删除残留数据与配置(可选)
- 删除用户级配置与虚拟机目录(请先确认已备份需要的数据):
- rm -rf ~/.config/VirtualBox
- rm -rf ~/VirtualBox\ VMs
- 删除系统级残留(若使用官方 .run 安装包或存在残留目录):
- sudo rm -rf /opt/VirtualBox
- sudo rm -rf /etc/vbox
- 清理 systemd 残留单元文件(若存在):
- 查找:systemctl list-unit-files | grep -i virtualbox
- 删除匹配文件:sudo rm -f /etc/systemd/system/virtualbox
- 再次检查并确认无相关进程后再进行删除操作。
五 验证卸载结果
- 检查是否仍有 VirtualBox 包:rpm -qa | grep -i virtualbox(应无输出)
- 检查服务是否仍在:systemctl list-unit-files | grep -i virtualbox(应无输出)
- 检查内核模块是否加载:lsmod | grep -i vbox(应无输出)
- 若均无输出,则卸载完成。