VirtualBox can't enable the AMD-V extension

最近一次完成Deepin的系统更新后,进入VirtualBox创建的虚拟机(Widows10)时,出现以下错误:

根据网址“https://askubuntu.com/questions/403591/amd-v-is-being-used-by-another-hypervisor-verr-svm-in-use”对问题的提示,检查我的问题,是因为同时安装了Virtualbox和KVM冲突导致的。如下:

1
2
3
4
5
6
7
8
9
10
11
#Virtualbox modules
$ sudo lsmod | grep vbox
vboxnetadp 28672 0
vboxnetflt 32768 0
vboxdrv 638976 2 vboxnetadp,vboxnetflt

#kvm
$ sudo lsmod| grep kvm
kvm_amd 200704 0
kvm 1232896 1 kvm_amd
ccp 147456 2 i2c_designware_platform,kvm_amd

从上面的信息可以看出,VirtualBox模块和KVM模块都存在。运行一下命令移除KVM模块:

1
2
$ sudo rmmod kvm_amd
$ sudo rmmod kvm

注意,执行移除命令的顺序,首先移除依赖kvm的kvm_amd模块,否则会提示以下信息:

1
2
$ sudo rmmod kvm
rmmod: ERROR: Module kvm is in use by: kvm_amd

再次启动虚拟机,问题解决。

但是,还存在一个问题,每次重启电脑都需要按照以上步骤操作才行,未免太麻烦了。解决方法是,将kvm和kvm_amt加入黑名单模块列表:

1
2
3
$ echo "blacklist kvm" | sudo tee /etc/modprobe.d/blacklist.conf
$ echo "blacklist kvm_amd" | sudo tee -a /etc/modprobe.d/blacklist.conf
$ sudo update-initramfs -u

执行完成后,重启后再试,问题解决。