Centos
Virt-Manager - 系統已啟用 KVM,但收到錯誤啟動域:不支持的配置:域需要 KVM,但它不可用
我最近通過 virt-manager 創建了幾個虛擬機,並且都執行沒有問題。接下來的一周,每當我嘗試啟動任何虛擬機時,都會收到以下消息。
Error starting domain: unsupported configuration: Domain requires KVM, but it is not available. Check that virtualization is enabled in the host BIOS, and host configuration is setup to load the kvm modules. Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/asyncjob.py", line 75, in cb_wrapper callback(asyncjob, *args, **kwargs) File "/usr/share/virt-manager/virtManager/asyncjob.py", line 111, in tmpcb callback(*args, **kwargs) File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 66, in newfn ret = fn(self, *args, **kwargs) File "/usr/share/virt-manager/virtManager/object/domain.py", line 1279, in startup self._backend.create() File "/usr/lib64/python3.6/site-packages/libvirt.py", line 1234, in create if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self) libvirt.libvirtError: unsupported configuration: Domain requires KVM, but it is not available. Check that virtualization is enabled in the host BIOS, and host configuration is setup to load the kvm modules.
我確實注意到當我通過遠端登錄使用這個系統時,我被踢了出去,所以我假設這個系統在周末重新啟動。
我還記得必須通過執行命令來載入 kvm 模組所以我的第一個猜測是它沒有載入所以我跑了
$modprobe kvm
但我仍然收到同樣的資訊。我也跑了
$lsmod | grep kvm
並得到
kvm 507904 0
所以它被載入了。
我已經在 bios 中檢查並可以確認它確實已啟用。當我試圖弄清楚如何解決這個問題時,我也能夠讓我的虛擬機再次執行,儘管我不確定我做了什麼。然後我再次重新啟動系統以查看它是否真正修復並且消息仍然出現。誰能幫我解決這個問題?
KVM 已載入,但也應載入
kvm_intel
或kvm_amd
模組。例如,在我的機器上,它看起來像這樣:[Alex@NormandySR2 nested_virt_kvm]$ lsmod | grep kvm kvm_intel 327680 7 kvm 909312 1 kvm_intel
正如您所注意到的,這可能至少有兩個原因不起作用。
- UEFI 中禁用了虛擬化(有時稱為 BIOS)
- 你的 CPU 不支持虛擬化
您可以通過以下方式檢查您的 CPU 是否支持虛擬化:
lscpu | grep vmx # intel lscpu | grep svm # amd
如果不存在,請檢查您的 CPU 型號是否支持虛擬化(供應商網站有此資訊)。要獲得您的 CPU 型號,您可以使用。
lscpu | grep 'Model' Model: 60 Model name: Intel(R) Core(TM) i7-4810MQ CPU @ 2.80GHz
編輯
如何自動啟用它們?根據您的發行版,它們應該在啟動後已經載入。但是,如果由於某種原因它們不是,您可以使用:
echo -e 'kvm\nkvm_amd' | sudo tee -a /etc/modules-load.d/kvm.conf
這會將兩行保存到
/etc/module-load.d
. 有關 modules-load.d 的更多資訊可以在man 5 modules-load.d
以下網站或託管手冊的網站之一中找到: https ://www.systutorials.com/docs/linux/man/5-modules-load.d/