QEMU(Quick Emulator)是一款开源的虚拟化软件,支持硬件虚拟化、全虚拟化和半虚拟化,能够模拟多种计算机架构(如x86、ARM、MIPS等),广泛应用于开发测试、跨平台兼容性验证和服务器虚拟化场景,相比商业虚拟机软件,QEMU以轻量、灵活和高扩展性著称,尤其适合技术爱好者和企业进行定制化虚拟环境搭建,本文将从准备工作、详细安装步骤、配置优化及常见问题解决等方面,系统介绍QEMU虚拟机的安装与使用。
安装前准备工作
在开始安装QEMU前,需确认系统环境及依赖工具是否完备,以确保虚拟机稳定运行。
系统要求
- 宿主机系统:支持Linux(推荐Ubuntu 20.04+、CentOS 7+)、macOS(10.15+)或Windows(10+,需通过WSL2间接支持);
- CPU虚拟化:需开启CPU虚拟化技术(Intel VT-x或AMD-V),可在BIOS/UEFI中检查并启用;
- 内存与存储:建议至少8GB可用内存(虚拟机分配2GB以上),10GB以上空闲磁盘空间用于存放虚拟磁盘及镜像文件。
安装依赖工具
QEMU的完整功能依赖多个辅助工具,需提前安装:
- Linux(Ubuntu/Debian):
sudo apt update && sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
qemu-kvm提供核心虚拟化能力,libvirt为虚拟化管理工具,virt-manager提供图形化界面。 - Linux(CentOS/RHEL):
sudo yum install -y qemu-kvm libvirt virt-install bridge-utils virt-manager
- macOS:通过Homebrew安装:
brew install qemu
- Windows:需先安装WSL2(Windows Subsystem for Linux),并在WSL2中安装Ubuntu子系统,再按Linux步骤配置。
下载操作系统镜像
准备待安装的操作系统镜像文件(如Ubuntu、CentOS、Windows等),推荐从官方渠道下载并验证SHA256校验和,确保镜像完整性,Ubuntu 22.04 LTS桌面版镜像可从官网获取。
QEMU虚拟机详细安装步骤
以下以Linux宿主机(Ubuntu为例)为例,介绍通过命令行和图形化界面两种方式安装QEMU虚拟机。
创建虚拟磁盘
虚拟磁盘是虚拟机的“硬盘”,推荐使用qcow2格式(支持快照、动态扩容),创建一个20GB的虚拟磁盘:
qemu-img create -f qcow2 ubuntu-vm.qcow2 20G
参数说明:-f qcow2指定格式,ubuntu-vm.qcow2为磁盘文件名,20G为初始容量。
启动虚拟机并安装操作系统
(1)命令行方式(推荐熟悉命令行的用户)
使用qemu-system-x86_64命令启动虚拟机,参数需根据实际需求调整:
qemu-system-x86_64 \ -m 4G \ # 分配4GB内存 -smp 2 \ # 分配2个CPU核心 -cpu host \ # 使用宿主机CPU型号(提升性能) -hda ubuntu-vm.qcow2 \ # 指定虚拟磁盘 -cdrom ubuntu-22.04.3-desktop-amd64.iso \ # 挂载操作系统镜像 -boot d \ # 从光驱启动 -enable-kvm \ # 启用KVM加速(需宿主机支持) -net nic \ # 配置网络网卡 -net user \ # 使用NAT网络模式 -vga std # 设置显卡标准模式
启动后,会弹出虚拟机窗口,按照操作系统安装向导完成安装(如选择语言、分区、用户配置等),安装完成后,移除镜像文件并重启:
qemu-system-x86_64 -hda ubuntu-vm.qcow2 -boot c -enable-kvm # 从硬盘启动
(2)图形化界面方式(适合新手)
通过virt-manager工具可简化操作:
- 终端输入
virt-manager,打开“虚拟机管理器”; - 点击“文件”→“新建虚拟机”,选择“本地安装介质”,上传操作系统镜像;
- 分配内存、CPU核心数及磁盘空间(建议至少2GB内存、20GB磁盘);
- 配置网络(默认NAT模式,可改为桥接模式以实现局域网访问);
- 完成配置后启动虚拟机,后续安装步骤与物理机一致。
不同宿主机的特殊配置
- macOS:需额外下载OVMF(UEFI固件)文件,启动命令添加
-bios /usr/local/share/qemu/OVMF_CODE.fd; - Windows(WSL2):需确保WSL2的虚拟化功能已开启,并在Ubuntu子系统中安装QEMU,磁盘文件路径需使用WSL2的挂载点(如
/mnt/c/...)。
虚拟机配置与优化
安装完成后,可通过以下方式提升虚拟机性能和可用性。
网络配置
- NAT模式(默认):虚拟机通过宿主机共享网络,IP地址由DHCP分配(宿主机IP通常为
168.122.1); - 桥接模式:虚拟机直接连接局域网,与宿主机处于同一网段,需配置网桥:
sudo brctl addbr br0 # 创建网桥 sudo brctl addif br0 ens33 # 将物理网卡(如ens33)加入网桥 sudo ip addr add 192.168.1.100/24 dev br0 # 为网桥分配IP sudo ip link set br0 up
启动虚拟机时添加
-net bridge,br=br0参数。
共享文件夹
实现宿主机与虚拟机文件传输:
- Linux虚拟机:安装
qemu-guest-agent,宿主机启动时添加-virtfs local,path=/host/path,mount_tag=share,security_model=passthrough,id=share参数,虚拟机内挂载mount -t 9p share /mnt/share; - Windows虚拟机:安装“QEMU Guest Agent”或“VirtualBox Guest Additions”,通过共享文件夹功能实现。
性能优化
- 启用KVM加速:宿主机支持时,务必添加
-enable-kvm参数,可提升50%以上性能; - 磁盘优化:使用
qcow2格式并配置预分配(-o preallocation=metadata),减少磁盘碎片; - 资源限制:通过
-m、-smp限制虚拟机资源,避免宿主机卡顿(如-m 2G -smp 1)。
快照管理
快照可保存虚拟机状态,便于回滚,通过qemu-img管理:
# 创建快照 qemu-img snapshot -c before-update ubuntu-vm.qcow2 # 查看快照列表 qemu-img snapshot -l ubuntu-vm.qcow2 # 恢复快照 qemu-img snapshot -r before-update ubuntu-vm.qcow2
或使用virsh snapshot-create-as命令(结合libvirt时)。
常见问题与解决
-
启动失败提示“no bootable device”
- 原因:镜像启动模式与虚拟机BIOS不匹配(如UEFI镜像在BIOS模式下启动)。
- 解决:使用
isohybrid工具转换镜像(isohybrid ubuntu.iso),或启动时添加-bios bios.bin指定BIOS固件。
-
网络无法连接
- 原因:
libvirtd服务未启动或防火墙阻止。 - 解决:
sudo systemctl start libvirtd,或关闭防火墙测试(sudo ufw disable)。
- 原因:
-
性能卡顿
- 原因:未启用KVM加速或CPU虚拟化未开启。
- 解决:检查BIOS中VT-x/AMD-V是否启用,启动命令添加
-enable-kvm。
-
磁盘空间不足
- 原因:虚拟磁盘容量不足。
- 解决:动态扩容磁盘(
qemu-img resize ubuntu-vm.qcow2 +10G),然后在虚拟机内分区扩容(Linux用growpart/resize2fs,Windows用磁盘管理工具)。
QEMU作为一款功能强大的虚拟化工具,通过灵活的配置和丰富的扩展能力,能够满足从个人开发到企业级应用的多场景需求,结合libvirt、virt-manager等辅助工具,可进一步简化管理流程,本文介绍的安装步骤和优化技巧,旨在帮助读者快速上手QEMU虚拟机,充分发挥其在虚拟化环境中的优势,在实践中,建议根据具体需求调整参数,逐步探索高级功能(如设备直通、多架构模拟等),以提升虚拟机的实用性和效率。











