QEMU:通用开源机器模拟器与虚拟化器 #

QEMU 是什么? #

QEMU 是一款通用且完全开源的机器模拟器与虚拟化器(A generic and open source machine emulator and virtualizer),由 QEMU 项目团队持续维护,并作为 Software Freedom Conservancy 的成员项目运营。它的核心能力是让用户在一台物理机器上运行"另一台机器"——无论是另一个架构的操作系统,还是另一个架构上编译的 Linux/BSD 程序。

对于开发者、系统工程师和运维人员来说,QEMU 解决的是"没有对应硬件,却需要运行对应系统或程序"的痛点:想在 x86 笔记本上调试 ARM 开发板系统,想在 Mac 上运行 Windows 虚拟机,或想在服务器上以接近原生的速度跑批量虚拟机,QEMU 都能提供统一的解决方案。它既可以作为纯软件模拟器独立工作,也可以配合 KVM、Xen 等 hypervisor 实现硬件加速,是当今开源虚拟化生态中最底层、最通用的基础设施之一。

QEMU 有哪些亮点特色? #

  • 全系统模拟(Full-system emulation):可以在任意支持的架构上运行任意机器的操作系统,从处理器、内存到外设都可由软件完整模拟,无需目标硬件即可完成系统级开发与调试。

  • 用户模式模拟(User-mode emulation):可以在任意支持的架构上直接运行面向其他 Linux/BSD 目标编译的程序,无需启动完整虚拟机,特别适合交叉编译验证与跨架构程序测试。

  • 接近原生的虚拟化性能:通过与 KVM、Xen 配合,QEMU 能够以接近原生(near native performance)的速度运行虚拟机,兼顾了模拟器的灵活性与虚拟化方案的高性能。

  • 完全开源、许可清晰:项目以 GNU 通用公共许可证(GPL v2 或更高版本)发布,网站内容同时采用 GPL v2+ 与 CC BY-SA 4.0 双许可,用户可以自由使用、修改和分发。

  • 跨平台覆盖完整:官方提供 Linux、macOS、Windows 三大平台的安装与编译路径,Linux 主流发行版均有打包,macOS 可通过 Homebrew 与 MacPorts 安装,Windows 则提供 32 位与 64 位二进制安装包。

  • 灵活的获取方式:既可以从下载页获取官方签名源码包自行编译,也可以直接使用 git 仓库跟进 master 分支的最新开发进展,稳定分支以 stable-X.YY 命名,满足从尝鲜到生产的多种需求。

  • 成熟的生态与周边工具:QEMU 与 KVM、Xen、libvirt、libguestfs、virt-manager 等项目深度集成,管理工具可以自动处理设备配置等底层细节,降低普通用户的使用门槛。

  • 活跃的社区支持:提供面向用户的 qemu-discuss@nongnu.org 邮件列表、多个技术邮件列表、IRC(irc.oftc.net 的 #qemu,同时可通过 Matrix 访问)以及官方 bug 跟踪系统,开发者遍布全球各时区。

QEMU截图

免费下载 QEMU #

以下为官方提供的 Windows 平台安装包,点击链接即可下载。QEMU 的 Windows 二进制与安装程序由 Stefan Weil 维护,同时提供 32 位与 64 位两个版本。

文件名 描述 大小 下载
qemu-w32-setup-20221230.exe Windows 32 位安装程序 152.4 MB 夸克网盘
qemu-w64-setup-20260811.exe Windows 64 位安装程序 197.0 MB 夸克网盘

提示:除 Windows 安装包外,Linux 与 macOS 用户可直接通过各发行版的包管理器安装,或从官网下载源码包自行编译,详见下方"QEMU 如何安装?"。

QEMU 如何使用? #

QEMU 的使用方式取决于你想做什么。对新手而言,建议按以下顺序上手:

  1. 确认使用场景。如果只是想运行某个架构的操作系统(例如在 x86 电脑上跑 ARM Linux),使用的是"全系统模拟";如果只是想在当前系统里运行另一个架构的单个程序,使用的是"用户模式模拟";如果需要跑多个虚拟机并追求高性能,则使用"虚拟化"模式(配合 KVM 或 Xen)。

  2. 准备系统镜像。全系统模拟需要一份磁盘镜像作为虚拟硬盘,通常先用 QEMU 自带的镜像工具创建一个空镜像文件,再把操作系统安装 ISO 挂载上去启动安装流程。

  3. 启动模拟器/虚拟机。通过命令行参数指定架构、内存大小、磁盘镜像、光盘镜像以及网络设备等。QEMU 支持大量目标架构,不同架构对应不同的可执行文件前缀(如 qemu-system-x86_64、qemu-system-aarch64 等)。

  4. 考虑使用管理工具。官网在支持页面明确指出:对于复杂的网络与存储配置,通常推荐使用 libvirt 项目的 virt-manager 等管理工具来配置和运行 QEMU,因为这些工具会替你处理设备的底层细节,大多数用户无需自行学习。

  5. 查阅官方文档。QEMU 的主文档区是遇到使用问题时的第一选择,其内容大多从 QEMU git 源码树自动生成;此外 QEMU wiki 中还保留了尚未并入源码树的用户文档与开发者文档。

对于源码编译安装的用户,官网给出的构建流程为:下载 qemu-11.1.2.tar.xz → 解压 → cd qemu-11.1.2 → ./configure → make。从 git 构建则先执行 git clone https://gitlab.com/qemu-project/qemu.git,再进入目录执行同样的 ./configure 与 make。

QEMU 的常见问题? #

QEMU 是免费的吗?

是的。QEMU 是完全开源的项目,以 GNU 通用公共许可证(GPL v2 或更高版本)发布,源码、二进制与文档均可免费获取和使用,不存在付费版本或功能阉割。项目由 Software Freedom Conservancy 提供组织支持,并接受赞助。

QEMU 支持哪些操作系统?

QEMU 可在 Linux、macOS 与 Windows 上运行。Linux 方面,Arch、Debian/Ubuntu、Fedora、Gentoo、RHEL/CentOS、SUSE 等主流发行版都提供官方打包;macOS 可通过 Homebrew 或 MacPorts 安装;Windows 则提供 32 位与 64 位二进制及安装程序,也可通过 MSYS2 安装。

QEMU 和 KVM、Xen 是什么关系?

QEMU 本身是模拟器,而 KVM 和 Xen 是虚拟化 hypervisor。当 QEMU 与它们配合使用时,虚拟机可以接近原生性能运行,这也是生产环境中最常见的部署方式。官网首页将"虚拟化"与"全系统模拟""用户模式模拟"并列为三大核心功能。

Windows 32 位还能用吗?

可以使用。官网下载页说明 Stefan Weil 同时提供 32 位和 64 位 Windows 的二进制与安装程序。但需要注意,如果通过 MSYS2 安装,则 32 位 Windows 不受支持(MINGW64 需 Windows 7 及以上,UCRT64 需 Windows 8.1 及以上)。

QEMU 的版本号是怎么编排的?

自 3.0.0 起,QEMU 采用基于时间的版本编号方案:主版本号(major)在每年首个版本时加 1;次版本号(minor)随主版本号重置为 0,否则每次从 git master 发布时递增;修订号(micro)对 git master 发布始终为 0,稳定分支每发布一次递增 1。官网特别说明,主版本号变化并不代表改动范围变大,非向后兼容的变更可能出现在任意 master 分支版本中,但必须遵循弃用政策(至少提前两个版本发出警告)。

遇到问题该去哪里求助?

官网支持页面给出的渠道包括:面向用户问题的 qemu-discuss@nongnu.org 邮件列表、面向技术或架构问题的其他邮件列表、IRC 频道 irc.oftc.net 的 #qemu(也可通过 Matrix 访问),以及官方 bug 跟踪系统。需要注意,QEMU 开发者主要关注最新版本与 master 分支,不负责为旧版本或第三方发行的 QEMU 二进制提供支持;如果是发行版打包相关的问题,应优先咨询对应发行版的支持渠道。

QEMU 如何安装? #

Windows #

  1. 下载适用于你系统的安装程序:32 位系统使用 qemu-w32-setup-*.exe,64 位系统使用 qemu-w64-setup-*.exe(由 Stefan Weil 维护)。
  2. 双击运行安装程序,按向导提示完成安装,建议勾选将 QEMU 加入系统 PATH 环境变量。
  3. 或者通过 MSYS2 安装:先按 MSYS2 官方流程完成环境部署,执行 pacman -Syu 更新软件包,然后按系统版本选择命令——
    • 64 位 Windows 7 及以上(MINGW64):pacman -S mingw-w64-x86_64-qemu
    • 64 位 Windows 8.1 及以上(UCRT64):pacman -S mingw-w64-ucrt-x86_64-qemu
  4. 注意:MSYS2 不支持 32 位 Windows。部分 QEMU 相关工具位于独立软件包中,可在 MSYS2 的 mingw-w64-qemu 页面查看详情。

Linux #

QEMU 已被大多数 Linux 发行版收录,推荐直接使用包管理器安装:

  1. Arch:pacman -S qemu
  2. Debian/Ubuntu:
    • 全系统模拟:apt-get install qemu-system
    • 模拟 Linux 二进制程序:apt-get install qemu-user-static
  3. Fedora:dnf install @virtualization
  4. Gentoo:emerge --ask app-emulation/qemu
  5. RHEL/CentOS:yum install qemu-kvm
  6. SUSE:zypper install qemu

官网提示:在大多数发行版上,上述命令安装的是元包(meta-packages),会一并拉取包含所有可用目标模拟器二进制的其他软件包。如果你只需要其中一部分目标架构,建议先查看发行版的软件包列表再决定。

macOS #

  1. 使用 Homebrew 安装:brew install qemu
  2. 或使用 MacPorts 安装:sudo port install qemu
  3. 版本要求:QEMU 需要当前可用的最新 macOS 版本。对上一个版本的官方支持会在新版本发布两年后、或 Apple 停止支持该版本时终止(以先到者为准)。

从源码编译安装(全平台) #

  1. 下载最新源码包,例如:wget https://download.qemu.org/qemu-11.1.2.tar.xz
  2. 解压并进入目录:tar xvJf qemu-11.1.2.tar.xz && cd qemu-11.1.2
  3. 配置并编译:./configure 然后 make
  4. 官方发布的源码包由发布经理使用指定的 GPG 公钥签名,建议下载后校验签名(公钥指纹:CEACC9E15534EBABB82D3FA03353C9CEF108B584,Michael Roth)。
  5. 如需跟进开发前沿,可克隆 git 仓库:git clone https://gitlab.com/qemu-project/qemu.git,随后同样执行 ./configure 与 make。最新开发发生在 master 分支,稳定分支命名为 stable-X.YY。
  6. 各平台的详细编译指南(Linux、Win32、macOS)可在官网 wiki 中查阅。

QEMU 如何卸载? #

官网未提供专门的卸载说明,以下为各平台的标准做法:

Windows #

  1. 打开"控制面板 → 程序和功能"(或"设置 → 应用 → 已安装的应用")。
  2. 在列表中找到 QEMU,点击"卸载"并按向导提示完成。
  3. 如果通过 MSYS2 安装,则使用包管理器卸载:在对应的 MINGW64 或 UCRT64 终端中执行 pacman -R mingw-w64-x86_64-qemu(或 mingw-w64-ucrt-x86_64-qemu)。
  4. 如安装目录下仍残留镜像文件、配置或日志,可手动删除安装目录与用户目录下的相关文件夹。

Linux #

  1. 使用与安装时相同的包管理器卸载,例如 Debian/Ubuntu:apt-get remove qemu-system(如需一并清除配置文件,可使用 apt-get purge qemu-system)。
  2. Fedora:dnf remove @virtualization;Arch:pacman -R qemu;Gentoo:emerge --unmerge app-emulation/qemu;SUSE:zypper remove qemu。
  3. 自行编译安装的用户,可在源码目录中执行 make uninstall(若 Makefile 支持),或手动删除 ./configure 阶段指定的安装前缀目录下的文件。
  4. 用户级配置通常位于个人主目录(如 ~/.config、~/.qemu 等),如有需要可手动清理;虚拟机磁盘镜像属于用户数据,卸载程序不会自动删除,请按需保留或清理。

macOS #

  1. Homebrew 安装:执行 brew uninstall qemu。
  2. MacPorts 安装:执行 sudo port uninstall qemu。
  3. 如需清理残留的配置与缓存,可检查 ~/Library 及 Homebrew/MacPorts 的缓存目录,手动删除相关文件。
  4. 自行编译安装的用户,按编译时的安装前缀手动删除对应文件即可。
相关标签
QEMU开源虚拟机硬件模拟器全系统模拟用户模式模拟KVM 虚拟化Xen 虚拟化跨平台虚拟化工具源码编译虚拟机免费开源模拟器