Monday, May 18, 2009

Free PC / Intel i86 Emulators, Virtualizers and Virtual Machines

Free PC / Intel i86 Emulators, Virtualizers and Virtual Machines
Intel x86 emulators imitate an Intel x86 (or AMD) machine (such as a Pentium or Athlon) on platforms that may or may not have an Intel/AMD processor. Using such an emulator, you can install and run i86-based operating systems like Windows even on systems like the Macintosh. Even if you are already using a machine with an Intel or AMD chip, they can be useful in allowing you to run two different operating systems simultaneously (eg to test software, etc). Since such software have to emulate all the processor's instructions, they can be excrutiatingly slow. If you are already using an x86 machine, you might want to choose a virtualizer or virtual machine instead, which only virtualizes hardware other than the CPU. This page also lists free virtualization software.
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, speed, etc, you might want to take a look at Parallels Desktop for Mac and Parallels Workstation, which allows you to run Windows (and other PC operating systems) on an Intel Mac OS X.
Free PC Emulators / IA-32 / x86 Emulators, Virtualization and Virtual Machines
VMWare Player and VMWare Server
VMWare provides two free virtualization software. VMWare Player allows you to use virtual machines created by other software (such as VMWare Server, 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.
Microsoft Virtual PC for Windows
Virtual PC for Windows, a virtualization software from Microsoft, is now available free of charge. Your host system must be running Windows. 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 virtualizers listed on this page instead.)
VirtualIron
VirtualIron allows you run up to 80 Linux and Windows virtual servers on a single server. It runs both 32 bit and 64 bit virtual machines. Supported host and guest operating systems include Linux (Red Hat Enterprise Linux and SUSE Enterprise Linux Server), Windows XP Professional 32-bit and Windows Server 2003 32-bit. Your virtualized nodes must have Intel Virtualization Technology (Intel VT) or AMD Virtualization (AMD-V) hardware support. You need to supply them with your email address to obtain a license key.
VirtualBox
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.
Q
Q is a cocoa 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 OS/X and requires a G4/G5 processor. 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. 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.
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).
OpenVZ
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
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 implements the Windows API in terms of X and Unix. You do not need to have Windows at all to run your Windows applications in WINE.
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
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