Linux 平台安装 QEMU 与 KVM 加速配置
安装前检查
先确认 KVM 硬件支持已经就绪:
# 检查 CPU 是否有 VT-x / AMD-V
grep -E 'vmx|svm' /proc/cpuinfo
# 检查内核模块是否加载
lsmod | grep -E 'kvm|kvm_intel|kvm_amd'
# 检查 /dev/kvm 是否存在
ls -la /dev/kvm
任何一项缺失,KVM 都用不了。如果 CPU 有 vmx/svm 标志但 /dev/kvm 不存在,检查 BIOS 里虚拟化是否开启。
Debian / Ubuntu 系列
安装 QEMU
sudo apt update
sudo apt install -y qemu-system qemu-user qemu-utils
qemu-system:全系统模拟(所有架构)qemu-user:用户态模拟qemu-utils:qemu-img、qemu-io 等工具
安装 KVM + 管理工具
sudo apt install -y qemu-kvm libvirt-daemon-system virt-manager bridge-utils
配置用户权限
sudo usermod -aG kvm $USER
sudo usermod -aG libvirt $USER
sudo usermod -aG libvirt-qemu $USER
注销并重新登录,让组权限生效。
启动 libvirt 服务
sudo systemctl enable --now libvirtd
sudo systemctl status libvirtd
验证
kvm-ok
# 期望输出:KVM acceleration can be used
which qemu-system-x86_64
# 期望:/usr/bin/qemu-system-x86_64
RHEL / CentOS / Rocky / AlmaLinux
安装
sudo dnf install -y qemu-system-x86 qemu-img qemu-kvm libvirt virt-manager
启动服务
sudo systemctl enable --now libvirtd
sudo systemctl enable --now libvirt-guests
权限
sudo usermod -aG libvirt $USER
验证
sudo virt-host-validate
这个命令会做全面检查:KVM 硬件、内核模块、libvirt 权限、网络配置等。全部 PASS 才能放心用。
Arch Linux
安装
sudo pacman -S qemu qemu-arch-extra libvirt virt-manager bridge-utils
qemu:主包qemu-arch-extra:额外架构支持(ARM、PPC、SPARC 等)libvirt+virt-manager:图形化管理前端
启动服务
sudo systemctl enable --now libvirtd
权限
sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER
AppArmor / SELinux
某些发行版上 AppArmor 或 SELinux 会阻止 QEMU 访问某些路径。遇到权限相关问题,先检查:
# Debian/Ubuntu AppArmor
sudo aa-status
sudo aa-logprof # 学习模式下启动虚拟机,AppArmor 自动学习需要的权限
# RHEL/CentOS SELinux
getenforce # 期望:Enforcing 或 Permissive
sudo setsebool -P virt_use_sysfs on
sudo restorecon -Rv /var/lib/libvirt
通用验证与测试
安装完成后,跑一个最小命令验证 KVM 确实生效:
qemu-system-x86_64 -accel kvm -cpu host -smp 2 -m 256M -nographic
如果 KVM 正常,这条命令会启动后立即退出(因为没装系统),但不会有 KVM 不支持的警告。如果出现 KVM acceleration can't be used,回上面的检查步骤排查。
可选组件
| 组件 | 安装 | 用途 |
|---|---|---|
| virt-v2v | sudo apt install virt-v2v | VMware/VirtualBox 虚拟机转 QEMU |
| ovmf | sudo apt install ovmf | UEFI 固件(替代 SeaBIOS) |
| qemu-guest-agent | Guest 里装 | Host-Guest 通信,支持优雅关机 |
| spice-server | Guest 里装 | SPICE 协议支持(比 VNC 好) |
卸载
# Debian/Ubuntu
sudo apt remove --purge qemu-system qemu-user qemu-utils qemu-kvm
sudo apt autoremove
# RHEL
sudo dnf remove qemu-system-x86 qemu-img qemu-kvm
# Arch
sudo pacman -Rns qemu qemu-arch-extra