Linux is well served when it comes to virtualisation, which is not surprising when you consider the huge server hosting market that uses virtual machines and Linux, but very little in the way of truly free software. VMware's products are unashamedly commercial, aimed mainly at the enterprise sector. Sun's VirtualBox is available free of charge, but the open source version is crippled, with key features like USB missing. But there is another option, and the basis of it lives in the Linux kernel.
KVM (Kernel-based Virtual Machine) is a full virtualisation solution for Linux on x86 hardware containing virtualisation extensions (Intel VT or AMD-V). All recent Intel and AMD CPUs (32 and 64 bit) include virtualisation extensions in the silicon, the kernel's KVM modules make good use of this, all you need is a program to run virtual machines on this.
Qemu started life as a CPU emulator, so you could run PPC code on an x86 for example, albeit slowly. The KVM version uses the kernel extensions to provide full virtualisation running at native speed, and the whole thing is open source.
Qemu-kvm is a command line program, which is both good and bad. Bad because setting up VMs can be tricky, good because running VMs can be done automatically from a startup service, which means no need to load up a GUI to run the VM, especially useful if the VM is running as a headless server anyway. It is also good because it is possible to create separate front ends, like Virtual Machine Manager, that add a GUI like VMware Workstation and VirtualBox use, so you get the best of both worlds.
This runs on 32 and 64 bit systems, and on 64 bit systems can emulate both types of processor. As a way of running virtual machines, qemu-kvm is fast and easy, but you may well want to add a GUI to simplify management.
A truly free, not to mention fast and flexible, virtualisation solution.