QEMU是一套由法布里斯·贝拉(Fabrice Bellard)所编写的以GPL许可证分发源码的模拟处理器软件,在GNU/Linux平台上使用广泛。Bochs,PearPC等与其类似,但不具备其许多特性,比如高速度及跨平台的特性,通过KQEMU这个闭源的加速器,QEMU能模拟至接近真实电脑的速度。
0.9.1及之前版本的qemu可以使用kqemu加速器。在qemu1.0之后的版本,都无法使用kqemu,主要利用qemu-kvm加速模块,并且加速效果以及稳定性明显比kqemu好。
运作模式
QEMU有两种主要运作模式:
* User mode模拟模式,亦即是用户模式。QEMU能启动那些为不同中央处理器编译的Linux程序。而Wine及Dosemu是其主要目标。
* System mode模拟模式,亦即是系统模式。QEMU能模拟整个电脑系统,包括中央处理器及其他周边设备。它使得为跨平台编写的程序进行测试及除错工作变得容易。其亦能用来在一部主机上虚拟数部不同虚拟电脑。
QEMU的主体部份是在LGPL下发布的,而其系统模式模拟则是在GPL下发布;而kqemu这个加速器则是在免费但闭源的条件下发布的。使用kqemu可使QEMU能模拟至接近实机速度,但其在虚拟的操作系统是 Microsoft Windows 98或以下的情况下是无用的。
软件优点
默认支持多种架构。可以模拟 IA-32 (x86)个人电脑,AMD 64个人电脑,MIPS R4000, 升阳的SPARCsun3与PowerPC(PReP 及 Power Macintosh)架构;
可扩展,可自定义新的指令集;
开源,可移植,仿真速度快;
在支持硬件虚拟化的x86构架上可以使用KVM加速配合内核ksm大页面备份内存,速度稳定远超过VMware ESX;
增加了模拟速度,某些程序甚至可以实时运行;
可以在其他平台上运行Linux的程序;
可以储存及还原运行状态(如运行中的程序);
可以虚拟网络卡;
软件缺点
对微软Windows及某些主机操作系统的不完善支持(某些模拟的系统仅能运行);
对不常用的架构的支持并不完善;
除非使用kqemu或KVM加速器,否则其模拟速度仍不及其他虚拟软件,如VMware;
比其他模拟软件难安装及使用;
使用实例
以下的指令可以建立一个500MB大小的"qcow"格式的硬盘映像。
qemu-img create -f qcow c.img 500M。
而以下的指令会使虚拟机器在128MB内存,使用c.img这个用以上介绍的指令所建立的硬盘映像及以linux.iso为光盘映像的情况下运行。注意,如果使用物理光驱,请将-cdrom linux.iso这个参数变为 -cdrom /dev/cdrom或您所用的光驱。
qemu -clock dynticks -rtc-td-hack -localtime -hda c.img -cdrom linux.iso -boot d -m 128 -enable-audio -localtime。
如果想缺省使用全萤幕启动子操作系统,可作以上指令后再加上"-full-screen"这个参数,如想在运行时离开全萤幕,请使用组合键Ctrl-Alt-F便可。