必须确认CPU虚拟化启用、内核模块加载、工具链安装并配置libvirt用户权限;否则创建虚拟机时将出现“Permission denied”或“No connection to hypervisor”错误。

要在Linux物理机或支持嵌套虚拟化的VMware虚拟机上从零开始部署可运行的KVM虚拟化环境,必须先确认CPU硬件虚拟化已启用、内核模块正确加载、必要工具链完整安装,并让当前用户获得libvirt权限——缺一不可,否则后续创建虚拟机时会卡在“Permission denied”或“No connection to hypervisor”错误。
确认CPU支持并开启VT功能
打开终端,执行:egrep -c '(vmx|svm)' /proc/cpuinfo。若返回值为0,说明虚拟化未启用或CPU不支持;返回1及以上才可继续。
若返回0:物理机需重启进BIOS,找到【Intel Virtualization Technology】或【SVM Mode】设为Enabled;若在VMware中测试,必须关机后右键→设置→处理器→勾选全部三项虚拟化选项(VT-x/EPT、虚拟化IOMMU等),否则KVM根本无法初始化。
这一步跳过会导致后续所有安装步骤白费——【lsmod | grep kvm 将始终无输出】。
安装KVM核心组件与管理工具
根据你的系统选择对应命令:
Ubuntu/Debian系(如22.04):sudo apt update && sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager ovmf
CentOS/RHEL 7/8/9:sudo yum groupinstall "Virtualization Host" -y 或更精简地执行 sudo yum install -y qemu-kvm libvirt virt-install bridge-utils virt-manager
ovmf包对Win11/UEFI启动必不可少,CentOS 7默认仓库不含它,需额外启用epel源或手动下载rpm安装;Ubuntu则直接包含在主仓库中。
启动服务并配置用户权限
第一步:启动libvirtd守护进程并设为开机自启sudo systemctl start libvirtd && sudo systemctl enable libvirtd
第二步:验证KVM内核模块是否就位lsmod | grep -E 'kvm|kvm_(intel|amd)' —— 必须看到kvm及对应厂商模块同时存在,否则执行sudo modprobe kvm && sudo modprobe kvm-intel(Intel)或kvm-amd(AMD)手动加载。
第三步:将当前用户加入libvirt和kvm组sudo usermod -aG libvirt,kvm $USER
⚠️ 这步完成后必须完全退出当前登录会话(包括关闭所有终端窗口)再重新登录,否则virt-manager仍提示“Failed to connect socket to '/var/run/libvirt/libvirt-sock'”。
验证安装结果
执行sudo virsh -c qemu:///system list --all,应返回空表格(表头含Id、Name、State),表示libvirt已连通KVM Hypervisor。
再运行sudo kvm-ok,看到两行关键输出:INFO: /dev/kvm existsINFO: KVM acceleration can be used
即表示底层加速已就绪,可以开始创建虚拟机。

















