AMD芯片主机加载考试系统虚拟化报错解决方案(KVM无法启动)
使用 AMD 芯片第一次打开虚拟机并启动 KVM 虚拟机一般会遇到如下报错
通过lscpu
命令可以看出自己使用的是 AMD 芯片
[root@foundation0 ~]# lscpu |grep 'Model name'
Model name: AMD Ryzen 7 4800U with Radeon Graphics
使用 su -
命令切换到超级管理员 root
用户,并执行 modinfo
命令:
⚠️ 注意:使用 root 管理系统很危险,请谨慎操作;并且再您执行完所有操作之后,退回只普通用户 kiosk
进行管理 kvm 虚拟机。
[root@foundation0 ~]# modinfo kvm -p
nx_huge_pages: (bool)
nx_huge_pages_recovery_ratio: (uint)
ignore_msrs: (bool)
report_ignored_msrs: (bool)
min_timer_period_us: (uint)
kvmclock_periodic_sync: (bool)
tsc_tolerance_ppm: (uint)
lapic_timer_advance_ns: (int)
vector_hashing: (bool)
enable_vmware_backdoor: (bool)
force_emulation_prefix: (bool)
pi_inject_timer: (bint)
halt_poll_ns: (uint)
halt_poll_ns_grow: (uint)
halt_poll_ns_grow_start: (uint)
halt_poll_ns_shrink: (uint)
接着使用 vim
编辑 kvm.conf
文件,并按照以下示例进行修改:
[root@foundation0 ~]# cat /etc/modprobe.d/kvm.conf
# Setting modprobe kvm_intel/kvm_amd nested = 1
# only enables Nested Virtualization until the next reboot or
# module reload. Uncomment the option applicable
# to your system below to enable the feature permanently.
#
# User changes in this file are preserved across upgrades.
#
# For Intel
#options kvm_intel nested=1
#
# For AMD
#options kvm_amd nested=1
options kvm_amd nested=1
options kvm ignore_msrs=1
重启您的虚拟主机
[root@foundation0 ~]# reboot
重启完成后查看以下内容
[root@foundation0 ~]# cat /sys/module/kvm/parameters/ignore_msrs
Y //如果为Y表示大功告成
但是也有少数例外,如果看到的依旧是 N,那么您只能每次系统开机后,使用 root
用户执行以下命令了
[root@foundation0 ~]# echo Y > /sys/module/kvm/parameters/ignore_msrs
最后,您就可以正常启动 KVM 虚拟机了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)