Linux系统下VirtualBox启动失败,提示不能在VMX root mode运行,需disable the KVM kernel extension的解决办法

最近给Manjaro更新了下系统,连带着内核也更新了,随之VirtualBox启动失败,出现如下提示:

"VirtualBox can't operate in VMX root mode. Please disable the KVM kernel extension, recompile your kernel and reboot (VERR_VMX_IN_VMX_ROOT_MODE)."

解决办法如下:

终端运行lsmod | grep kvm,找到使用KVM的模块,我的显示如下:

lsmod | grep kvm
kvm_intel             425984  0
kvm                  1388544  1 kvm_intel

运行命令卸载kvm模块,并重新加载vboxdrv模块。

sudo rmmod kvm_intel
sudo rmmod kvm
sudo modprobe vboxdrv

如果想重新加载kvm模块

sudo modprobe kvm

sudo modprobe kvm_intel

普通用户用不到,劝你不要重新加载


11/21更新

使用中发现:「每次重启电脑后,启动virtualbox都会再次报同样的错」

意味着每次开机kvm模块都会重新加载,也就是说重启一次电脑,就要重新禁用一次kvm模块。

那么有没有一劳永逸的办法呢?有的。

1、创建脚本

sudo nano /usr/local/bin/disable_kvm_on_boot

2、添加如下内容:

#!/bin/bash
#根据前述kvm模块查询方法,修改为自己系统加载的kvm模块
sudo rmmod kvm_intel&sudo rmmod kvm

3、赋予脚本执行权限:

sudo chmod +x /usr/local/bin/disable_kvm_on_boot

4、创建systemd服务

sudo nano /etc/systemd/system/disable-kvm.service

5、添加如下内容:

[Unit]
Description=Disable KVM on boot

[Service]
Type=oneshot
RemainAfterExit=no
ExecStart=/usr/local/bin/disable_kvm_on_boot

[Install]
WantedBy=multi-user.target

6、启用服务

sudo systemctl daemon-reload
sudo systemctl enable disable-kvm.service

7、重启电脑,直接启动virtualbox试试吧。


后记:

大部分网上教程都是给到卸载KVM这一步,即便如此,还是无法启动virtualbox。

折腾的过程中,因为怎么都不成功,我一度放弃了,还一度转用gnome boxes,本以为这东西稳定,没想到问题更多!!!细节暂且不说,血泪!

终于我用我的聪明才智,在提示里发现了蛛丝马迹,发现需要再次加载vboxdrv。然后virtualbox就成功启动了。

finally我再也不用折腾了!

参考:

Issue with Virtual Box 7.0 on Ubuntu 22.04 - #3 by JoelA - Ubuntu - It's FOSS Community

Gnome-boxes之镜像迁移到另一台主机(一百七十一)_gnomebox本机和客机互传文件-CSDN博客

ChatGPT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值