---
## 1. **虚拟化功能**
QEMU 可以虚拟化一整台计算机,包括 CPU、内存、硬盘、网络设备等。
- **加速虚拟化(KVM)**:当与 KVM(Kernel-based Virtual Machine)结合使用时,QEMU 能够通过硬件支持(如 Intel VT 或 AMD-V)显著提升性能。
- **支持多架构**:支持包括 x86、x86-64、ARM、MIPS、RISC-V、PowerPC 和 SPARC 等在内的多种 CPU 架构。
---
## 2. **设备仿真**
QEMU 可以模拟不同的硬件设备,帮助开发者在不需要真实硬件的情况下测试和运行程序。
- 适合嵌入式开发人员测试特定架构上的程序。
- 提供与实际硬件环境接近的仿真效果。
---
## 3. **软件开发和调试**
QEMU 是操作系统开发者的理想工具,可以用于以下场景:
- 测试不同架构上的操作系统。
- 调试未完成的系统内核。
- 在仿真环境中运行交叉编译的程序。
---
## 4. **快照与迁移**
QEMU 支持对虚拟机状态的快照和保存,方便用户恢复到之前的某个状态。同时,它还能将运行中的虚拟机迁移到另一台物理主机上。
---
## 5. **高可定制性**
- 支持自定义虚拟硬件配置,比如 CPU 核数、内存大小、网络拓扑。
- 提供多个命令行选项,满足高级用户的个性化需求。
---
## 常见用例
1. **虚拟机管理**:在桌面或服务器上运行虚拟机(结合 KVM)。
2. **嵌入式开发**:模拟 ARM 或 RISC-V 的硬件环境。
3. **操作系统学习**:测试运行多个系统(如 Linux、Windows、FreeBSD 等)。
4. **软件测试**:跨平台软件开发和调试。
---
## 示例:使用 QEMU 启动一个 Linux 镜像
```bash
qemu-system-x86_64 -hda linux.img -m 1024 -enable-kvm
```
- `qemu-system-x86_64`:指定模拟的 CPU 架构(x86-64)。
- `-hda linux.img`:指定虚拟机的硬盘镜像。
- `-m 1024`:为虚拟机分配 1024MB 内存。
- `-enable-kvm`:启用 KVM 加速。
---
**总结:** QEMU 是一个功能强大且灵活的工具,无论是虚拟化还是设备仿真,都能胜任多种场景。它在开源社区中备受欢迎,并在虚拟化和嵌入式开发领域有广泛的应用。