VMware and Qemu are two popular virtual machine applications which support Ubuntu as both host and guest operating system, although Xen is also supported but less often used.
By employing the KVM hypervisor on your Linux host computer, you can transform it into a comprehensive virtualization platform and provide each VM with an accurate simulation of physical hardware.
VMware
VMware is virtualization software that enables you to run other operating systems, like Fedora, on top of Windows without uninstalling or changing it completely. In addition, sharing files between host and guest operating systems is possible and even installing different versions of applications or programs in separate virtual machines is feasible.
Each virtual machine (VM) runs a Linux process that simulates the hardware and performs all typical functions associated with physical computers, including running its BIOS, memory and disks virtualized; multiple network adapters may also be supported along with hardware-based virtualisation extensions such as Intel VT or AMD-V virtualisation extensions.
VMware vSAN provides software-based storage that pools disk space and provisions it through smart policies, including protection limits, thin provisioning and erasure coding. It integrates seamlessly with vSphere High Availability for greater compute and storage availability. In addition, VMware offers networking virtualization product NSX which utilizes technology acquired through its 2012 acquisition of Nicira.
Qemu
Qemu is an open source virtualization software offering a flexible platform for running operating systems. It features network emulation, USB support and hardware acceleration for video graphics; paravirtualized block and network devices provide superior performance at lower overhead overhead; sharing folders or clipboard sharing can enable file transfers between host and VM and vice versa.
QEMU can emulat a standard graphics card and display text output directly in its window (using -curses). This enables a GUI using real keyboard and mouse.
QEMU supports USB emulation through two options, -device ehci,id=ehci and -device xhci,id=xhci. You may also configure it using udev rules files (see Wikibooks:QEMU/Images for more). QEMU utilizes Btrfs file system which supports Copy-on-Write technology which is essential in saving space on hosts while simultaneously offering the capability of reverting storage images back into previous state by creating overlay images based on them.
Microsoft Virtual PC
Microsoft Virtual PC is a desktop virtualization application that enables users to easily share full system images between host computers. Furthermore, this virtualization solution also enables them to build up collections of operating systems and hardware configurations – making testing software simpler without risking physical hardware.
Windows Virtual PC differs from Microsoft Virtual Server and Hyper-V by only officially supporting a limited range of desktop operating systems, though older systems can still be run using Virtual Machine Additions.
To share a folder with the guest OS, install Virtual Machine Additions and choose Folder Path, Folder Name and Auto-mount from its drop-down list. Your shared folder will appear as subfolder of media on Ubuntu – making IDE work with shared files easier; however this reduces performance; for best performance we suggest upgrading to KVM hypervisor which offers more robust capabilities.
Xen
Xen is an open source hypervisor included with the Linux kernel that offers both full and paravirtualization features, and works across various operating systems. The project is managed by the Linux Foundation.
Xen is unique among virtualization technologies because it uses its own hardware abstraction layer to provide a virtualized environment, using more efficient interfaces for accessing hardware devices which may improve performance while isolating drivers from each other and decreasing crash likelihood when one fails.
Xen’s user-friendly graphical and command line tools make managing virtual machine hosts Ubuntu server simple. Installed on any standard Linux system including desktop computers and servers, GRUB can be used to boot both dom0 and domU domains using its PvGrub2 image; its name and VIF must be unique for each domU instance.