Free PC / Intel x86 Emulators and Virtual Machines
Emulation / Virtualization of Intel/AMD x86-based Machines
Free PC / Intel i86 Emulators and Virtual Machines
Virtual Machines ("VM") allow you to run another operating system (or even the same one) on top of the current system you're currently running. For example, it's possible to run (say) Windows XP on your Windows 7 machine in a separate window. This requires that your computer currently uses an x86 (32 or 64 bit) processor (be it Intel or AMD). The virtual machine then virtualizes the hardware so that the guest operating system (the one you're running in a separate window) thinks it the only one running on the machine. The programs running in the guest are isolated from your main computer, making such a system very useful for programmers, webmasters using multiple browsers, and even just the ordinary person who wants to test different software without the latter harming their real machine. And it's also useful if you use a Mac, and want to run Windows programs alongside your Mac software.
Emulators are slightly different. They allow you to run an operating system that requires (say) an Intel/AMD x86 processor on a completely different CPU (processor). For example, it may allow you to run Windows XP on a PowerPC processor (something that normally won't work, since Windows XP requires an x86 processor). In other words, unlike the VM which only has to virtualize some of the hardware, emulators have to emulate everything, including the CPU. As such, emulators tend to be much slower than VMs.
This page lists both VMs and emulators for the Intel/AMD x86 (32 or 64 bits) processors (meaning that they either emulate the x86 or are virtual machines that run on the x86). The guest "machines" they create may or may not (depending on which software you choose) be able to provide access to your real computer's USB drives, CD/DVD drives, printers, network, etc.
Requirements: Some of the virtual machine software require your computer to have a processor (CPU) with hardware virtualization support. As far as I know, all modern AMD Athlon 64 bit CPUs have this (note: I said Athlon, not the budget Sempron). Things are more confusing where Intel CPUs are concerned, since the support for hardware virtualization (or "VT" as Intel calls it) seems a bit haphazard across their product range (that is, even if you have a higher-end CPU, it doesn't necessarily mean the chip has VT support). To check if your Intel chip has VT support, look for it in Intel's Virtualization Technology List. Even worse, even if your chip has such support, some computer manufacturers may have disabled it in the BIOS.
Some additional useful terminology that you may find useful: in the world of emulators and virtual machines, the host refers to your real, physical computer that you're currently using to read this page. For example, if you're using a computer running Mac OS X, then that computer is your host computer, Mac OS X is your host operating system, and so on. If you run a virtual machine on that computer, and install (say) Windows 7 into that virtual machine, then that Windows 7 is the guest operating system.
Note that this page does not list commercial PC emulators and virtualization software. If you need a commercial solution for their support, completeness of implementation, stability, speed, etc, you might want to take a look at VMWare Workstation if you use Windows, or Parallels Desktop for Mac and Parallels Workstation, if you use Mac OS X.
Free PC Emulators / IA-32 / x86 / x64 (x86-64) Emulators, Virtualization and Virtual Machines
- VMWare Player
VMWare Player allows you to use virtual machines created by the commercial VMWare Workstation, Virtual PC or the free third-party command-line VMX-Builder. It allows you to run operating systems like Linux, Windows, FreeBSD, etc, on top of your existing Windows or Linux system. VMware Server allows you to create and use virtual servers. The site also provides a number of prebuilt virtual machines for free operating systems (like Linux), including something they call a "browser appliance" — a complete system running under their virtualisation software (VMWare Player or others) that allows you to surf the Internet safely without jeopardising your main machine even if your browsing leads you to unsafe sites. Instead of cleaning up your machine with an antivirus program or an anti-spyware software, you simply ditch the changes made in the virutal machine and restart it. (Note: to download it, scroll down to find the line that says "VMWare Player" and click the "Download Product" button beside it. I'm unable to link directly to the download page since they made such a link version-dependent [at the time I wrote this], and my link will break every time they issue a new version. Since it isn't too difficult to locate the line, I decided to simply link to the general product download page.)
- Microsoft Virtual PC for Windows 7
This is a special version of the free Microsoft Virtual PC software (see elsewhere on this page) designed specifically for users of Windows 7 Professional, Ultimate and Enterprise. (If you don't have those exact versions of Windows, try one of the other software listed below.) It requires your computer to have hardware virtualization support in the CPU. The raison d'être of this virtual machine is to allow you to run Windows XP programs in a virtual mode alongside your Windows 7 programs in a highly integrated fashion. Unlike the typical virtual machine, your programs act and behave as though they are directly running within your host system itself, and can interact not only with your hardware but also your desktop, documents, music and video folders. In other words, this is meant as a backward compatibility tool for you to run older programs on Windows 7. You should not use this if your intention is to test/debug programs and want to protect your main system. You can apparently also run Vista and Windows 7 as guest machines.
- Microsoft Virtual PC for Windows Vista and XP
Virtual PC for Windows, a virtualization software from Microsoft, is now available free of charge. Your host system must be running Windows Vista or XP. It officially supports running virtual machines with Windows loaded (you must have an additional licence for the copy of Windows running in your virtual machine). Unofficially, Linux also runs in the virtualizer, but poorly since Microsoft does not provide the necessary drivers (called "Virtual Machine Additions") for the current Linux distributions. (If you plan to use Linux, you should consider the other virtual machines listed on this page instead.)
VirtualBox is a virtualization solution that runs on Windows and Linux 32-bit hosts, and supporting, as guest OSes, Windows NT 4.0, 2000, XP, Server 2003, Vista, DOS/Windows 3.x, Linux and OpenBSD. It supports shared folders and virtual USB controllers in addition to the usual floppy and CDROM drive support. Note that the downloadable binaries can only be used for personal use or evaluation purpose.
- QEMU on Windows
QEMU on Windows is an emulator for x86, ARM, SPARC and PowerPC (see elsewhere on this page for more information). This site contains a Windows port with downloadable binaries.
- QEMU CPU Emulator
QEMU supports the emulation of x86 processors, ARM, SPARC and PowerPC. Host CPUs (processors that can run the QEMU emulator) include x86, PowerPC, Alpha, Sparc32, ARM, S390, Sparc64, ia64, and m68k (some of these are still in development). When emulating a PC (x86), supported guest operating systems include MSDOS, FreeDOS, Windows 3.11, Windows 98SE, Windows 2000, Linux, SkyOS, ReactOS, NetBSD, Minix, etc. When emulating a PowerPC, currently tested guest OSes include Debian Linux.
- Xen Virtual Machine Monitor
Xen is an open source virtual machine that allows you to run multiple guest operating systems partitioned in their own virtual machines. It currently runs on Linux (as the host operating system). Supported guest operating systems include Linux, Windows XP (work in progress), NetBSD and FreeBSD. Unlike some of the other virtual machines and emulators, however, Xen requires you to have a modified version of the operating system as the guest OS.
- Bochs IA-32 Emulation Project
Bochs is an open source emulator for IA-32 (Intel x86) machines. It has the ability to emulate a 386, 486, Pentium, Pentium Pro, AMD64, with or without MMX, SSE, SSE2 and 3DNow, with common I/O devices (such as a SoundBlaster sound card, a NE2000 compatible network card, etc) and a custom BIOS. You can run Windows 95/NT, Linux and DOS as guest operating systems in that machine. Your guest OS will be installed in a large file which the emulator will use to mimic a hard disk for the emulated machine. Supported platforms (and here I mean platforms on which Bochs will run) include Win32 (Windows 9x/ME/2k/XP), Macintosh, Mac OS X, BeOS, Amiga MorphOS, OS/2, and Unix/X11 systems (including Linux).
- JPC: The Pure Java x86 PC Emulator
JPC is a PC emulator written using the Java programming language, and thus runs on any computer that has the Java runtime environment installed (eg Windows, Linux, Mac OS X, etc). At the time this mini-review was written, the emulator is able to run all versions of DOS as well as some versions of Linux and OpenBSD. Note: if you need to run serious programs (other than DOS games), you should probably choose one of the other emulators on this page. The emulator is probably intended more for academic interest and amusement than serious emulation tasks. (It is after all an emulator running on a virtual machine.)
OpenVZ is a server virtualization software built on Linux. If you have ever signed up with a web hosting company that provides virtual private servers (VPS), they are probably running some sort of server virtualization software like this. The software allows you to create isolated environments to run individual copies of operating systems and provide a supposedly secure virtual environment (VE) that behaves like standalone servers.
- DOSEMU DOS Emulation on Linux
DOSEMU is a well-known DOS emulator that runs in Linux (host OS). It can even run Windows 3.x in DOS emulation.
- DOSBox, an x86 Emulator with DOS
DOSBox is an x86 emulator with a built-in DOS. It was created primarily to run DOS games. It emulates a 286/386 in real and protected modes, XMS/EMS, a graphics card (VGA/EGA/CGA/VESA/Hercules/Tandy), SoundBlaster/Gravis Ultra sound card, etc. You can apparently even run the old 16-bit Windows 3.1 in the emulator. Host operating systems (ie, platforms on which you can run the DOSBox emulator) include Windows, Linux, Mac OS X, BeOS, FreeBSD, MorphOS and Amiga68k.
WINE, which stands for WINE Is Not an Emulator, allows you to run Windows programs in Linux and other Unix-type systems. It is a layer that emulates the Windows API on Unix systems running X. You do not need to have Windows at all to run your Windows applications in WINE. If you are looking for Windows emulators or clones, you may also want to check out the Free Windows Clones, Emulators and Emulation Layers page.
- Plex86 x86 Virtualization Project
Plex86 is a virtual machine for running Linux on x86 machines. It only runs on a Linux running on an x86 machine.
Minde is an emulator that allows you to run some DOS applications, demos and games under Linux.
- PCEmu 8086 PC Emulator for X
PCEmu emulates a basic 8086 PC with a VGA text-only display, allowing you to run some DOS programs. It runs under Linux. The program is no longer maintained.
[Update: the Q website seems to have disappeared. For the record, it was previously at
http://www.kju-app.org/.] Q is a port of QEMU (see elsewhere on this page) that allows you to run Windows, Linux, etc, on your Mac. You can exchange files between your host and guest operating systems. Q runs on Mac OS X running on either an Intel processor or the older PowerPC G4/G5 processor. Depending on whether you run it on OS X Lion or earlier, it can emulate a PC (x86 or x86_64 processor), a PowerPC (PPC), a G3, a Sun4m (32 bit Sparc processor), Sun4u (64 bit Sparc processor), Malta (32 bit MIPS processor) and a Mac99 PowerMac. (The Sparc, MIPS and possibly x86_64 guests are not available on Lion, at the time I write this.) It emulates a Soundblaster 16 card, a Cirrus CLGD 5446 PCI VGA card (or a dummy VGA card with Bochs VESA extensions), a PS/2 mouse and keyboard, 2 PCI IDE interfaces with hard disk and CD-ROM support, a floppy disk, NE2000 PCI network adapters and serial ports.
How to Link to This Page
It will appear on your page as: