問題說明
這個錯誤訊息:「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)」,通常發生於 Linux 系統,原因是在同一台機器上同時啟用 KVM(Kernel-based Virtual Machine)與 VirtualBox,導致這兩個虛擬化技術衝突。KVM 會讓 CPU 處於 VMX root mode,VirtualBox 則需要 VMX non-root mode,因此,不能同時運作。
解決方法
免重編內核,直接卸載 KVM 模組
-
確認 KVM 模組是否載入
若有顯示相關資料(如 kvm_intel, kvm),代表 KVM 已載入。lsmod | grep kvm
-
手動卸載 KVM 模組
如果使用 Intel CPU,請輸入:
之後執行:sudo rmmod kvm_intel
sudo rmmod kvm
-
重新載入 VirtualBox 驅動
sudo modprobe vboxdrv
- 重新啟動 VirtualBox,即可正常運作。
補充
- 若重新開機後 KVM 又自動載入,可以考慮關閉 KVM 自動啟動(例如將相關模組列入黑名單)。
- 此方法省去重編 kernel 的麻煩,且無須停用整個虛擬化功能。切記,KVM與VirtualBox不可同時啟用,必須二選一運用。
指令簡表
步驟 | 指令 |
---|---|
查詢 KVM 模組 | lsmod | grep kvm |
卸載 Intel KVM | sudo rmmod kvm_intel |
卸載 KVM | sudo rmmod kvm |
載入 VirtualBox | sudo modprobe vboxdrv |
一勞永逸補充
如果有需要一勞永逸,請考慮在 /etc/modprobe.d/
增加黑名單(blacklist),防止 KVM 模組自動載入。例如編輯 /etc/modprobe.d/blacklist.conf
,加入:
blacklist kvm
blacklist kvm_intel
然後重開機,KVM模組將不再自動載入。
留言
張貼留言