Debian 9升级VirtualBox失败:无法卸载vboxdrv模块求助
解决Debian 9升级VirtualBox时vboxdrv无法卸载的问题
嘿,我碰到过这个一模一样的问题,Debian 9上升级VirtualBox时卡在vboxdrv.sh: failed: Cannot unload module vboxdrv确实挺闹心的。本质原因就是VirtualBox的内核模块还在被使用——要么是有虚拟机没关,要么是残留进程在占用。给你几个一步步来的解决办法:
第一步:彻底关闭VirtualBox相关的所有进程
- 先检查有没有正在运行的虚拟机:
如果输出有内容,用下面的命令关掉对应的虚拟机(把VBoxManage list runningvms<虚拟机名称>换成实际名字):
嫌麻烦的话直接打开VirtualBox图形界面,把所有运行的虚拟机都关掉也行。VBoxManage controlvm <虚拟机名称> poweroff - 接着清理残留的VirtualBox进程,比如后台运行的
vboxheadless之类的:
找到带vbox的进程后,用ps aux | grep vboxkill -9 <进程ID>杀掉,或者直接用批量命令搞定:pkill -f vbox
第二步:手动卸载vboxdrv及依赖模块
进程清完后,尝试手动卸载内核模块:
- 先卸载主模块:
如果还是报错,试试强制卸载:sudo modprobe -r vboxdrvsudo rmmod -f vboxdrv - 别忘了还有两个依赖模块可能也在占用,一并卸载:
sudo modprobe -r vboxnetflt sudo modprobe -r vboxnetadp
第三步:重新执行升级操作
现在再跑升级命令,应该就能顺利完成了:
sudo apt-get upgrade
如果还是不行?试试重启系统
要是上面的步骤都没搞定,最简单粗暴但有效的办法就是重启Debian系统。重启后所有内核模块都会被卸载,开机后直接执行sudo apt-get upgrade,肯定能过。
另外提一句,Debian 9里的VirtualBox 5.1版本确实比较老了,要是之后想升级到更新的版本,可以考虑添加VirtualBox官方源,但先把当前的升级问题解决再说~
内容的提问来源于stack exchange,提问作者3pepe3
相关产品推荐
相关产品推荐

