Emulator Comparison
This is a comparison of the various emulators that you can use to test your operating system without having to reboot your computer or risk your hardware.
This page or section is a work in progress and may thus be incomplete. Its content may be changed in the near future. |
General
Cost/License | Method | Debugging | Configuration | |
---|---|---|---|---|
Bochs | Free / LGPL | Full emulation (slow) | Yes, built-in | Command line, script file, interactive menus |
QEMU | Free / GPL | Emulation/dynamic translation | Yes, via GDB stub | Command line (optional GUI) |
VirtualBox | Free / mixed | Virtualization | Yes, built-in | GUI, command line (optional) |
Microsoft Virtual PC | Free | Virtualization (on PC), Emulation (on Mac) | No | GUI, command line (optional) |
VMWare Virtual Server 2 | Free | Virtualization | Yes, via GDB stub | Web interface, non-free Windows client (VI3) |
Microsoft Hyper-V | Free | Virtualization, Emulation on legacy devices | Yes, via WinDBG | GUI, command line (PowerShell) |
Overall, VirtualBox offers the richest set of features, along with very fast performance. Bochs is by far the slowest, but that is because of its full emulation, which gives it the highest accuracy.
None of them are necessarily "better" than the others. This comparison is just to point out their differences. It can't hurt to use more than one emulator (or several), in order to test your OS on a variety of platforms without using real hardware.
Supported Host Platforms
Windows | Linux (x86) | Mac OS X | Others | |
---|---|---|---|---|
Bochs | Yes (binaries) | Yes (binaries) | Yes (must compile source code) | Others (by source code) |
QEMU | Yes | Yes | Yes | PowerPC and others (by source code) |
VirtualBox | Yes | Yes | Yes | Solaris |
Microsoft Virtual PC | Yes* | No | Maybe (yes for PowerPCs, no for Intel Macs) | * requires AMD-VT or Intel VM support |
VMWare Virtual Server 2 | Yes | Yes | No | No |
Microsoft Hyper-V | Yes | No | No | No |
Supported Guest Systems
x86-32 | x86-64 | Others | |
---|---|---|---|
Bochs | Yes | Yes | No |
QEMU | Yes | Yes | Yes: ARM, SPARC, MIPS, MIPS64, m68k, PowerPC |
VirtualBox | Yes | Yes | No |
Microsoft Virtual PC | Yes | No | No |
VMWare Virtual Server 2 | Yes | Yes | No |
Microsoft Hyper-V | Yes | Yes | No |
Supported Hardware
SMP | Graphics support | Sound | Network | USB | |
---|---|---|---|---|---|
Bochs | Yes (up to 8) | VBE, VGA (partial), BGA, Cirrus Logic GD54xx | SB-16 | NE2000 | Yes |
QEMU | Yes | VBE, VGA (partial), Cirrus Logic GD54xx, (BGA?) | SB-16, ES1370 | RealTek 8139C | Yes |
VirtualBox | Yes | VBE, OpenGL virtualization, VGA (decent), BGA, VBoxVideo | SB-16 and AC'97 | Several different NICs | Yes |
Microsoft Virtual PC | No ? | VBE, VGA (very good), S3 Trio64V2 | SB-16 | DEC 21140 | Yes |
VMWare Virtual Server 2 | Yes | VBE, VMWare Guest Tools video driver | Yes | Yes | Yes |
Microsoft Hyper-V | Yes | VBE, ??? | Yes | Yes | No |
Supported Disk Image Formats
This chart shows the file formats for an emulated hard disk. The emulators usually support only a flat image for a floppy and an ISO image file for CD-ROMs.
Flat | Concatenated | Sparse/Stackable | Journaling | Growing | VMWare format | |
---|---|---|---|---|---|---|
Bochs | Yes | Yes | Yes | Yes | Yes | Yes |
QEMU | Yes | No | Yes | No | No | Yes |
VirtualBox | Yes | No | No | No | Yes | Yes |
Microsoft Virtual PC | Yes | No | Yes | No | Yes | No |
- A flat image offers no special features and takes up the full amount of disk space that it emulates.
- The concatenated format allows several separate files to emulate one combined hard disk; useful for partitions.
- A sparse image does not store blank space, so you could emulate a 1 GB hard disk, but it would only take up 200 MB of space if it had 800 MB free space.
- Stackable images allow a "base" read-only image. Any changes are stored in a new image that is layered on top. Useful if you want to remove any changes to a "good" disk.
- Journaling images keep track of changes made by each session, and they can be undone/redone in order.
- Growing images are similar to sparse images. They start small when the emulated disk is empty and expand as more data is written.
- Apparently, the VMWare format for disks is popular because several emulators support it.