Menu
Platform virtualization software, specifically emulators and hypervisors, are software packages that emulate the whole physical computer machine, often providing multiple virtual machines on one physical platform. The inclusion of a template for Mac OS-X is controversial at best as there is no guarantee that Mac OS-X will work on QEMU at all. Even if it did, the end user license states that Mac OS-X is to be installed only on Macintosh systems, and hence the use of Mac OS-X here would violate Apple’s license agreement. QEMU for Windows is experimental software and might contain even serious bugs, so use the binaries at your own risk. History 2019-07-31: New QEMU installers (4.1.0-rc3). Virt-install is a command line tool for creating new KVM, Xen, or Linux container guests using the 'libvirt' hypervisor management library. See the EXAMPLES section at the end of this document to quickly get started. Virt-install tool supports both text based & graphical installations, using VNC or SDL graphics, or a text serial console. The guest can be configured to use one or more virtual.
Platform virtualization software, specifically emulators and hypervisors, are software packages that emulate the whole physical computer machine, often providing multiple virtual machines on one physical platform. The table below compares basic information about platform virtualization hypervisors.
General[edit]
Name | Creator | Host CPU | Guest CPU | Host OS | Guest OS | License |
---|---|---|---|---|---|---|
bhyve | FreeBSD | x86-64 | x86, x86-64 | FreeBSD, Illumos | FreeBSD, FreeNAS, pfSense, OpenBSD, Linux, Windows, Illumos[1] | BSD |
Bochs | Kevin J. Lawton | Any | x86, x86-64 | Windows, Linux, FreeBSD, Unix/X11, Mac OS 9, macOS, BeOS, MorphOS, OS/2[2][3] | Windows, Linux, DOS, BSD, OS/2, Haiku | LGPL |
Containers, or Zones | Sun Microsystems | x86, x86-64, SPARC (portable: not tied to hardware) | Same as host | Solaris 10, Solaris 11, OpenSolaris 2009.06, illumos distributions | Solaris (8, 9, 10, 11), illumos, Linux (BrandZ) | CDDL |
Cooperative Linux (coLinux) | Dan Aloni, other developers | x86 | Same as host | Windows 2000, XP, 2003, Vista | Linux | GPL version 2 |
CHARON | Stromasys | x86, x86-64 | PDP-11, VAX, Alpha, HP3000, Sparc | Windows, Linux | VMS, OpenVMS, Tru64 UNIX, MPE/iX, RSX-11, RT11, RSTS, Solaris, SunOS | Proprietary |
Denali | University of Washington | x86 | x86 | Denali | Ilwaco, NetBSD | Not distributed |
DOSBox | Peter Veenstra, Sjoerd with community | Any | x86 | Linux, Windows, classic Mac OS, macOS, BeOS, FreeBSD, NetBSD, OpenBSD, Solaris, QNX, IRIX, MorphOS, AmigaOS, Maemo, Symbian | Internally emulated DOS shell; classic PC booter games, unofficially Windows 1.0 to 98 | GPL |
DOSEMU | Community project | x86, x86-64 | x86 | Linux | DOS | GPL version 2 |
FreeBSD Jail | Poul-Henning Kamp / FreeBSD | Any running FreeBSD or DragonFly BSD | Same as host | FreeBSD, DragonFly BSD | same as host (shared *BSD kernel), plus LinuxABI through compat layer | BSD |
GNOME Boxes | GNOME | Unix-like | Unix-like | LGPLv2 | ||
GXemul | Anders Gavare | Any | ARM, MIPS, Motorola 88000, PowerPC, SuperH | Unix-like | NetBSD, OpenBSD, Linux, Ultrix, Sprite | BSD |
Hercules | Roger Bowler | Any | z/Architecture | Windows, FreeBSD, NetBSD, Linux, macOS | Linux on z Systems, z/OS, z/VM, z/VSE, OS/360, DOS/360, DOS/VS, MVS, VM/370, TSS/370 | QPL |
Hyper-V (2008) | Microsoft | x86-64 with Intel VT-x or AMD-V | x86-64, x86 (up to 8 physical CPUs) | Windows Server 2008 (R2) w/Hyper-V role, Microsoft Hyper-V Server | Supported drivers for Windows 2000, Windows 2003, Windows 2008, Windows XP, Windows Vista, FreeBSD, Linux (SUSE 10 released, more announced) | Proprietary |
Hyper-V (2012) | Microsoft | x86-64 with Intel VT-x or AMD-V | x86-64, (up to 64 physical CPUs) | Windows 8, 8.1, 10, and Windows Server 2012 (R2) w/Hyper-V role, Microsoft Hyper-V Server | Supported drivers for Windows NT, FreeBSD, Linux (SUSE 10, RHEL 6, CentOS 6) | Proprietary. Component of various Windows editions. |
iCore Virtual Accounts | iCore Software | x86 | x86 | Windows XP | Windows XP | Proprietary |
INTEGRITY | Green Hills Software | ARM, x86, PowerPC | Same as host | Linux, Windows | INTEGRITY native, Linux, Android, AUTOSAR, Windows (on some platforms) | Proprietary |
Integrity Virtual Machines | Hewlett-Packard | IA-64 | IA-64 | HP-UX | HP-UX, Windows, Linux (OpenVMS announced) | Proprietary |
JPC (Virtual Machine) | Oxford University | Any running the Java Virtual Machine | x86 | Java Virtual Machine | DOS, Linux, Windows up to 3.0 | GPL version 2 |
KVM | Qumranet, now Red Hat | x86, x86-64, IA-64, with x86 virtualization, s390, PowerPC,[4]ARM[5] | Same as host | Linux, FreeBSD, illumos | FreeBSD, Linux, Solaris, Windows, Plan 9 | GPL version 2 |
Linux-VServer | Community project | x86, x86-64, IA-64, Alpha, PowerPC 64, PA-RISC 64, SPARC64, ARM, S/390, SH/66, MIPS | Compatible | Linux | Linux variants | GPL version 2 |
LynxSecure | LynuxWorks | x86 | x86 | No host OS | LynxOS, Linux, Windows | Proprietary |
LXC | Community project, Canonical Ltd. | x86, x86-64, IA-64, PowerPC 64, SPARC64, Itanium, ARM | Same as host | Linux | Linux variants | GPL version 2 |
OKL4 Microvisor | Open Kernel Labs, acquired by General Dynamics Corporation | ARM, x86, MIPS | ARM (v5, v6, v7; paravirtualization), ARMv7VE (hardware virtualization) | No Host OS | Various OSes and RTOSes including Linux, Android, QNX | Proprietary |
OpenVZ | Community project, supported by SWsoft, now Parallels, Inc. | x86, x86-64, IA-64, PowerPC 64, SPARC64 | Same as host | Linux | same as host (shared Linux kernel), choice of userland distribution | GPL |
Oracle VM Server for x86 | Oracle Corporation | x86, x86-64 | x86, x86-64 | No host OS | Microsoft Windows, Oracle Linux, Red Hat Enterprise Linux, Solaris | GPLv2, Oracle VM Server; Manager is proprietary |
OVPsim | OVP | x86 | OR1K, MIPS32, ARC600/700, ARM; and public API which enables users to write custom processor models, RISC, CISC, DSP, VLIW all possible | Microsoft Windows, Linux | Depends on target machine, for example includes MIPS Malta that runs Linux or SMP-Linux; and includes public API which enables users to write custom peripheral and system models | Proprietary, Apache 2.0 for models |
Parallels Desktop for Mac | Parallels, Inc. | x86 | x86, x86-64 | macOS | DOS, Windows, Linux, macOS, FreeBSD, OS/2, eComStation, Solaris, Haiku | Proprietary |
Parallels Workstation (discontinued 2013) | Parallels, Inc. | x86 | x86 | Windows, Linux | Windows, Linux, FreeBSD, OS/2, eComStation, DOS, Solaris, Haiku | Proprietary |
PearPC | Sebastian Biallas | x86, x86-64, PowerPC | PowerPC | Windows, Linux, OS X, FreeBSD, NetBSD | Mac OS X, Darwin, Linux | GPL |
PikeOS | SYSGO AG | PowerPC, x86, ARM, MIPS, SPARC, SuperH | Same as host | No host OS, Linux or Windows as dev. hosts | PikeOS native, Linux, POSIX, AUTOSAR, Android, RTEMS, OSEK, ARINC 653 APEX, ITRON | Proprietary |
Proxmox VE | Proxmox | x86-64 | x86, x86-64 | Debian Based | Windows, Linux, Linux variants, Solaris, FreeBSD, OSx86 (as FreeBSD), virtual appliances, Netware, OS/2, SCO, BeOS, Haiku, Darwin | AGPLv3 |
Oracle VM Server for SPARC (LDoms) | Oracle Corporation | UltraSPARC T1, UltraSPARC T2, UltraSPARC T2+, SPARC T3, SPARC T4 | Compatible | Solaris 10, Solaris 11 | Oracle support: Solaris; unsupported: Linux, FreeBSD | Proprietary |
PowerVM | IBM | POWER4, POWER5, POWER6, POWER7, POWER8 | POWER4/5/6/7/8, x86 (PowerVM-Lx86) | PowerVM Firmware | Linux PowerPC, x86; AIX, IBM i | Proprietary |
QEMU | Fabrice Bellard, other developers | x86, x86-64, IA-64, PowerPC, SPARC 32/64, ARM, S/390, MIPS | x86, x86-64, Alpha, ARM, CRIS, LM32, M68k, MicroBlaze, MIPS, OpenRisc32, PowerPC, S/390, SH4, SPARC 32/64, Unicore32, Xtensa | Windows, Linux, macOS, Solaris, FreeBSD, OpenBSD, BeOS | Changes regularly[6] | GPL/LGPL |
QEMU w/ kqemu module | Fabrice Bellard | x86, x86-64 | Same as host | Linux, FreeBSD, OpenBSD, Solaris, Windows | Changes regularly[6] | GPL/LGPL |
QEMU w/ qvm86 module | Paul Brook | x86 | x86 | Linux, NetBSD, Windows | Changes regularly | GPL |
QuickTransit | Transitive Corp. | x86, x86-64, IA-64, POWER | MIPS, PowerPC, SPARC, x86 | Linux, OS X, Solaris | Linux, OS X, Irix, Solaris | Proprietary |
RTS Hypervisor | Real-Time Systems GmbH | x86, x86-64 | x86, x86-64 | No host OS | Windows, Linux, Windows Embedded, QNX, RTOS-32, VxWorks, OS-9, T-Kernel | Proprietary |
ScaleMP vSMP Foundation | ScaleMP | x86, x86-64 | Same as host | No host OS | Linux | Proprietary |
SIMH | Bob Supnik, The Computer History Simulation Project | Alpha, ARM, HPPA, x86, IA-64, x86-64, M68K, MIPS, MIPSel, POWER, s390, SPARC | Data GeneralNova, Eclipse; Digital Equipment CorporationPDP-1, PDP-4, PDP-7, PDP-8, PDP-9, PDP-10, PDP-11, PDP-15, VAX; GRI Corporation GRI-909; IBM1401, 1620, 1130, 7090/7094, System/3; Interdata (Perkin-Elmer) 16b/32b systems; Hewlett-Packard 2114, 2115, 2116, 2100, 21MX; Honeywell H316/H516; MITSAltair 8800 with 8080 and Z80; Royal McBeeLGP-30, LGP-21; Scientific Data SystemsSDS 940 | BSD, Linux, Solaris, VMS, Windows | Depends on target machine, includes NetBSD/VAX, OpenBSD/VAX, VAX/VMS, Unix v6, Unix v7, TOPS-10, TOPS-20, ITS | BSD-like, unique |
Simics | Wind River | x86, x86-64 | 8051, 68000, ARM (v4, v5, v6, v7), MIPS32, MIPS64, Cavium cnMIPS, Broadcom XLR MIPS, Freescale (e300, e500, e600, e5500, e6500), IBM (POWER, PPC44x, PPC46x, 47x), SPARC v8 (LEON), SPARC v9 (UltraSparc), x86 (from 80286 to Sandy Bridge), x86-64 (from Pentium4 to Sandy Bridge), TI TMS320C64xx, Renesas H8, Renesas SH | Windows 32-bit and 64-bit, Linux 32-bit and 64-bit | Depends on target machine, typically runs unmodified software stacks from the corresponding real target, including VxWorks, VxWorks 653, OSE, QNX, Linux, Solaris, Windows, FreeBSD, RTEMS, TinyOS, Wind River Hypervisor, VMware ESX, and others | Proprietary |
Sun xVM Server | Sun Microsystems | x86-64, SPARC | Same as host | No host OS | Windows XP, 2003 Server (x86-64 only), Linux, Solaris | GPL version 3 |
SVISTA 2004 | Serenity Systems International | x86 | x86 | Windows, OS/2, Linux | Windows, Linux, OS/2, BSD | Proprietary |
TRANGO | TRANGO Virtual Processors, Grenoble, France | ARM, XScale, MIPS, PowerPC | Paravirtualized ARM, MIPS, PowerPC | No host OS, Linux or Windows as dev. hosts | Linux, eCos, µC/OS-II, WindowsCE, Nucleus, VxWorks | Proprietary |
User Mode Linux | Jeff Dike, other developers | x86, x86-64, PowerPC | Same as host | Linux | Linux | GPL version 2 |
VirtualBox | Innotek, acquired by Oracle Corporation | x86, x86-64 | x86, x86-64 (with Intel VT-x or AMD-V, and VirtualBox 2 or later) | Windows, Linux, macOS, Solaris, FreeBSD, eComStation | DOS, Linux, macOS,[7] FreeBSD, Haiku, OS/2, Solaris, Syllable, Windows, and OpenBSD (with Intel VT-x or AMD-V, due to otherwise tolerated incompatibilities in the emulated memory management).[8] | GPL version 2; full version with extra enterprise features is proprietary: |
Virtual Iron 3.1 | Virtual Iron Software, Inc., acquired by Oracle | x86 VT-x, x86-64 AMD-V | x86, x86-64 | No host OS | Windows, Linux | Proprietary, some components GPLv2[9] |
Virtual PC 2007 (discontinued) | Connectix and Microsoft | x86, x86-64 | x86 | Windows Vista (Business, Enterprise, Ultimate), XP Pro, XP Tablet PC Edition | DOS, Windows, OS/2, Linux (SUSE, Xubuntu), OpenSolaris (Belenix) | Proprietary |
Windows Virtual PC (discontinued) | Connectix and Microsoft | x86, x86-64 with Intel VT-x or AMD-V | x86 | Windows 7 | Windows XP, Windows Vista, Windows 7, Windows Server 2003, Windows Server 2008 | Proprietary |
Virtual PC 7 for Mac | Connectix and Microsoft | PowerPC | x86 | Mac OS X | Windows, OS/2, Linux | Proprietary |
VirtualLogix VLX | VirtualLogix | ARM, TI DSP C6000, x86, PowerPC | Same as host | No host OS | Linux, Windows XP, C5, VxWorks, Nucleus, DSP/BIOS, proprietary | Proprietary |
Virtual Server 2005 R2 | Connectix and Microsoft | x86, x86-64 | x86, x86-64 | Windows Server 2003, 2008, XP (Requires IIS) | Windows NT, 2000, 2003, 2008, Linux (Red Hat, SUSE, Ubuntu) | Proprietary |
CoWare | x86, x86-64, SPARC v9 | Devices including (multi) cores from ARM, MIPS, PowerPC, ToshibaMeP, Renesas SH, Texas Instruments, Tensilica, ZSP | Windows, Linux, Solaris | Depends on guest CPU; includes: Linux (various flavors), µITRON (various flavors), Windows CE, Symbian, more | Proprietary | |
Virtuozzo | SWsoft, now Virtuozzo Inc | x86, IA-64, x86-64 | same as host | Linux | save as host (shared Linux kernel) | Proprietary |
vkernel | Matthew Dillon / DragonFly BSD | x86-64 | same as host | DragonFly BSD | any compatible vkernel binary of DragonFly | BSD |
VMM | OpenBSD | x86, x86-64 | same as host | OpenBSD | OpenBSD and Linux guests | BSD |
VMware ESX Server | VMware | x86, x86-64 | x86, x86-64 | No host OS | Windows, Linux, Solaris, FreeBSD, OSx86 (as FreeBSD), virtual appliances, Netware, OS/2, SCO, BeOS, Haiku, Darwin, others: runs arbitrary OS[a] | Proprietary |
VMware ESXi | VMware | x86, x86-64 | x86, x86-64 | No host OS | Same as VMware ESX Server | Proprietary |
VMware Fusion | VMware | x86, x86-64 | x86, x86-64 | macOS | Same as VMware ESX Server | Proprietary |
VMware Server | VMware | x86, x86-64 | x86, x86-64 | Windows, Linux | Same as VMware ESX Server | Proprietary |
VMware Workstation | VMware | x86-64[b] | x86, x86-64 | Windows, Linux | Same as VMware ESX Server | Proprietary |
VMware Player, later VMware Workstation Player | VMware | x86-64[c] | x86, x86-64 | Windows, Linux | Same as VMware ESX Server | Proprietary, free for personal non-commercial use[10][11] |
Wind River Hypervisor | Wind River | x86, x86-64, PowerPC, ARM | Same as host | No host OS | Linux, VxWorks, unmodified guests (including MS Windows and RTOSes such ach OSE, QNX and others), bare metal virtual board | Proprietary |
Xen | Xensource, Now Citrix Systems | x86, x86-64, ARM, IA-64 (inactive), PowerPC (inactive) | Same as host | GNU/Linux, Unix-like | GNU/Linux, FreeBSD, MiniOS, NetBSD, Solaris, Windows 7/XP/Vista/Server 2008 (requires Intel VT-x (Vanderpool) or AMD-V (Pacifica)-capable CPU), Plan 9 | GNU GPLv2 + |
XCP-ng | By Vates SAS | x86, x86-64, ARM, IA-64 (inactive), PowerPC (inactive) | Same as host | No host OS | GNU/Linux, FreeBSD, MiniOS, NetBSD, Solaris, Windows, Windows Server 2008 (with Intel VT-x or AMD-V), Plan 9 | GNU GPLv2 +[12] |
XenServer | By Citrix Systems | x86, x86-64, ARM, IA-64 (inactive), PowerPC (inactive) | Same as host | No host OS | GNU/Linux, FreeBSD, MiniOS, NetBSD, Solaris, Windows 7/XP/Vista/Server 2008 (with Intel VT-x or AMD-V), Plan 9 | GNU GPLv2 + |
XtratuM | Universidad Politecnica de Valencia | x86, x86; SPARC v8 LEON2/3 | Same as host | No host OS | GPOS: Linux, RTOS: PartiKle, RTEMS | GPL |
z/VM | IBM | z/Architecture | z/Architecture, z/VM does not run on predecessor mainframes | No host OS, itself (single or multiple levels/versions deep; e.g., VM/ESA running in z/VM 4.4 in z/VM 5.2 in z/VM 5.1.) | Linux on zSeries, z/OS, z/VSE, z/TPF, z/VM, VM/CMS, MUSIC/SP, OpenSolaris for System z, predecessors | Proprietary |
z LPARs | IBM | z/Architecture | z/Architecture | Integrated in firmware of System z mainframes | Linux on zSeries, z/OS, z/VSE, z/TPF, z/VM, MUSIC/SP, and predecessors | Proprietary |
Name | Creator | Host CPU | Guest CPU | Host OS(s) | Guest OS(s) | License |
Features[edit]
![Qemu mac os x Qemu mac os x](/uploads/1/2/6/2/126263074/498024148.png)
Name | Guest OS SMP available | Runs arbitrary OS | Supported guest OS drivers | Method of operation | Typical use | Speed relative to host OS | Commercial support available |
---|---|---|---|---|---|---|---|
Containers, or Zones | Yes, over 500-way on current systems | No | Uses native device drivers | Operating system-level virtualization | Server consolidation with workload isolation, single workload containment, hosting, dev/test/prod | Near native | Yes |
Hyper-V Server 2008 R2 | Yes, up to 4 VCPUs per VM | Yes | Yes | Virtualization | Server consolidation, service continuity, dev/test, desktop virtualization, cloud computing | Up to near native[citation needed][3] | Yes |
OpenVZ | Yes | No | Compatible | Operating system-level virtualization | Virtualized server isolation | Up to near native[citation needed][4] | Yes |
KVM | Yes[13] | Yes | Yes | AMD-V and Intel-VT-x | Virtualized server isolation, server/desktop consolidation, software development, cloud computing, other purposes | Up to near native[citation needed][5] | Yes[14] |
Linux-VServer | Yes | No | Compatible | Operating system-level virtualization | Virtualized server isolation and security, server consolidation, cloud computing | Up to near native[citation needed][6] | Yes |
Oracle VM Server for x86 | Yes | Yes | Yes | Paravirtualization and hardware virtualization | Server consolidation and security, enterprise and business deployment | Up to near native[citation needed] | Yes |
Oracle VM Server for SPARC (LDoms) | Yes | Yes, but needs porting[15] | Yes | Paravirtualization and hardware virtualization | Server consolidation and security, enterprise and business deployment | Up to near native[citation needed] | Yes |
OVPsim | Yes | Yes | ? | Full system simulation with optional component virtualization | Software development (early, embedded), advanced debug for single and multicore software, compiler and other tool development, computer architecture research, hobbyist | Depends on target architecture (full and slow hardware emulation for guests incompatible with host)[citation needed] | Yes, with commercial license from Imperas[16] |
PikeOS | Yes | Yes, but modifications required as paravirtualization is used | Yes | Paravirtualization | Safety and security critical embedded systems. | Up to near native[citation needed] | Yes |
ScaleMP vSMP Foundation | Yes, up to 8,192 CPUs and 64 TB per VM[citation needed] | Yes | Yes | Virtualization | Server consolidation, Cloud computing | ? | Yes |
Simics | Yes | Yes | Yes | Full system simulation of processors, MMUs, devices, disks, memories, networks, etc. | Software development, advanced debug for single and multicore software, compiler and other tool development, computer architecture research, bug transportation, automated testing, system architecture, long-term support of safety-critical systems, early hardware availability, virtual prototyping | Depends on host machine and target architecture. Runs at near-native speeds for x86-on-x86 using VT-x, cross-simulation of other architectures can be faster or slower than real-time depending on how fast the target is and how big the target is (number of processors, number of target machines, and how much the simulation can be parallelized) | Yes |
Sun xVM Server | Yes | Yes | Yes | Paravirtualization and porting or hardware virtualization | Servers, Development | Up to near native[citation needed] | Yes |
SVISTA 2004 | No | ? | ? | ? | Hobbyist, Developer, Business workstation | ? | ? |
TRANGO | Yes | Yes[7] | Yes | Paravirtualization and porting or hardware virtualization | Mob. phone, STB, routers, etc. | Near native[8][citation needed] | ? |
User Mode Linux | ? | No | special guest kernel+modules required | Porting | Developer (as a separate machine for a server or with X11 networking) | Non-significantly slower than native [9] (all calls to kernel are proxied)[citation needed] | ? |
OKL4 Microvisor | Yes | Yes, (either with para-virtualization or HW virtualization) | Yes | Paravirtualization, Hardware assisted virtualization | Mobile, embedded, security, safety critical, networking, legacy OS, etc. | Near native | Yes |
Oracle VirtualBox | Yes | Yes | Yes | Virtualization | Business workstation, server consolidation, service continuity, developer, hobbyist | Up to near native[citation needed] | Yes (with commercial license) |
Virtual Iron 3.1 | Yes, up to 8 way | Yes | Yes | Native virtualization | Server consolidation, service continuity, dev/test | ? | Yes |
Virtual PC 2007 | No | Yes | Yes | Virtualization, guest calls trapping where supported | Hobbyist, Developer, Business workstation | Up to near native[citation needed] with virtual machine additions | ? |
Windows Virtual PC | Yes | Yes | Yes | Hardware virtualization | Developer, Business workstation, support for Compatibility with Windows XP applications | Up to near native[citation needed] with virtual machine additions | No |
Virtual PC 7 for Mac | No | Yes | Yes | dynamic recompilation (guest calls trapping where supported) | Hobbyist, Developer, Business workstation | Slow[citation needed] | ? |
Virtual Server 2005 R2 | No | Yes | Yes | Virtualization (guest calls trapping where supported) | Server, server farm | Up to near native with virtual machine additions but slower than with hypervisor due to proxied calls[citation needed] | ? |
Yes | Yes | Yes ( Same compiled Software image as for the real device) | Full-system virtualization (Processor Core ISA + Hardware + External connections) | Early embedded software development and integration (from driver to application), Multi-core software debugging and optimization | Depending on the system characteristics and the software itself, ranges from faster than real time to slow[citation needed]. | Yes | |
Virtuozzo | Yes | No | Compatible | Operating system-level virtualization | Server consolidation, service continuity, disaster recovery, service providers | Up to near native[citation needed] | Yes |
VMware ESXi Server 5.5 (vSphere) | Yes, add-on, up to 64 way | No | Yes | Virtualization | Server consolidation, service continuity, dev/test, cloud computing, business critical applications, Infrastructure as a Service IaaS | Up to near native[citation needed] | Yes |
VMware ESX Server 4.0 (vSphere) | Yes, add-on, up to 8 way | Yes | Yes | Virtualization | Server consolidation, service continuity, dev/test, cloud computing | Up to near native[citation needed] | Yes |
VMware ESX Server 3.0 | Yes, add-on, up to 4 way | Yes | Yes | Virtualization | Server consolidation, service continuity, dev/test | Up to near native[citation needed] | Yes |
VMware ESX Server 2.5.3 | Yes, add-on, 2 way | Yes | Yes | Virtualization | Server consolidation, service continuity, dev/test | Up to near native[citation needed] | Yes |
VMware Fusion | Yes | Yes | Yes | Virtualization | Hobbyist, Developer, Tester, Business workstation | Up to near native[citation needed] | Yes |
VMware Server | Yes (2-way) | Yes | Yes | Virtualization | Server/desktop consolidation, dev/test | Up to near native[citation needed] | Yes |
VMware Workstation | Yes (2-way) | Yes | Yes | Paravirtualization (VMI) and virtualization | Technical professional, advanced dev/test, trainer | Up to near native[citation needed] | Yes |
VMware Player | Yes[17] | Yes | Yes | Virtualization | Technical professional, advanced dev/test, trainer, end user on prebuilt machines | Up to near native[citation needed] | No |
Xen | Yes, v4.0.0: up to 128 VCPUs per VM | Yes | Yes | Paravirtualization and porting or hardware virtualization | Virtualized server isolation, server/desktop consolidation, software development, cloud computing, other purposes. Xen powers most public cloud services and many hosting services, such as Amazon Web Services, Rackspace Hosting and Linode. | Up to native[18] | Yes |
XCP-ng | Yes | Yes | Yes | Paravirtualization and porting or hardware virtualization | Virtualized server isolation, server/desktop consolidation, software development, cloud computing, desktop virtualization, public cloud services, hostings services and other purposes. | Up to native[citation needed] | Yes |
XenServer | Yes | Yes | Yes | Paravirtualization and porting or hardware virtualization | Virtualized server isolation, server/desktop consolidation, software development, cloud computing, other purposes. Xen powers most public cloud services and many hosting services, such as Amazon Web Services, Rackspace Hosting and Linode. | Up to native[18] | Yes |
XtratuM | Yes | No | Yes | Paravirtualization | Embedded, safety critical, secure | ? | Yes |
z/VM | Yes, both real and virtual (guest perceives more CPUs than installed), incl. dynamic CPU provisioning and reassignment | Yes | Yes, but not required | Virtualization (among first systems to provide hardware assists) | Servers | Near native[10] | Yes |
z LPARs | Yes, both real and virtual (guest perceives more CPUs than installed), incl. dynamic CPU provisioning and reassignment; up to 64 real cores | Yes | Yes, but not required | Microcode and hardware hypervisor | Servers | Native: System z machines always run with at least one LPAR | Yes |
Name | Guest OS SMP available | Runs arbitrary OS | Supported guest OS drivers | Method of operation | Typical use | Speed relative to host OS | Commercial support available |
- ^ Providing any virtual environment usually requires some overhead of some type or another. Native usually means that the virtualization technique does not do any CPU level virtualization (like Bochs), which executes code more slowly than when it is directly executed by a CPU. Some other products such as VMWare and Virtual PC use similar approaches to Bochs and QEMU, however they use a number of advanced techniques to shortcut most of the calls directly to the CPU (similar to the process that JIT compiler uses) to bring the speed to near native in most cases. However, some products such as coLinux, Xen, z/VM (in real mode) do not suffer the cost of CPU-level slowdowns as the CPU-level instructions are not proxied or executing against an emulated architecture since the guest OS or hardware is providing the environment for the applications to run under. However access to many of the other resources on the system, such as devices and memory may be proxied or emulated in order to broker those shared services out to all the guests, which may cause some slow downs as compared to running outside of virtualization.
- ^ OS-level virtualization is described as 'native' speed, however some groups have found overhead as high as 3% for some operations, but generally figures come under 1%, so long as secondary effects do not appear.
- ^ See[19] for a paper comparing performance of paravirtualization approaches (e.g. Xen) with OS-level virtualization
- ^ Requires patches/recompiling.
- ^ Exceptional for lightweight, paravirtualized, single-user VM/CMS interactive shell: largest customers run several thousand users on even single prior models. For multiprogramming OSes like Linux on zSeries and z/OS that make heavy use of native supervisor state instructions, performance will vary depending on nature of workload but is near native. Hundreds into the low thousands of Linux guests are possible on a single machine for certain workloads.
Image type compatibility[edit]
Name | floppy | ISO | folders on host | physical disk / device | raw / flat (whole disk) | raw / flat (partition) | hdd (Parallels) | QCOW (QEMU) | QCOW2 (QEMU) | QED (QEMU) | VDI (VirtualBox) | VHD (Connectix Virtual PC) | VHDX (Hyper-V) | VMDK (VMware) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bochs[20] | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | No | v3, v4 |
Containers, or Zones | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Cooperative Linux (coLinux) | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
CHARON | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Denali | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
DOSBox | Yes | Yes | Yes | ? | Yes | ? | No | No | DOSBox-X fork | No | No | No | No | No |
DOSEMU | ? | ? | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
FreeBSD Jail | No | No | Yes | No | No | No | No | No | No | No | No | No | No | No |
GXemul | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Hercules | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Hyper-V (2008 R2) | ? | Yes | ? | Yes | ? | ? | ? | ? | ? | ? | No | Yes | No | No |
Hyper-V (2012) | ? | Yes | ? | Yes | ? | ? | ? | ? | ? | ? | No | Yes | Yes | No |
Hyper-V (2012 R2) | Yes | Yes | ? | Yes | ? | ? | ? | ? | ? | ? | No | Yes | Yes | No |
iCore Virtual Accounts | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Integrity Virtual Machines | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
JPC (Virtual Machine) | Yes | Yes | Yes | ? | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? |
KVM | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | ? | Yes |
Linux-VServer | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
LynxSecure | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
LXC | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
OpenVZ | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Oracle VM Server for x86 | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Oracle VM Server for SPARC (LDoms) | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
OVPsim | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Parallels Desktop for Mac | ? | ? | ? | ? | ? | ? | Yes | ? | ? | ? | ? | ? | ? | ? |
Parallels Workstation | ? | ? | ? | ? | ? | ? | Yes | ? | ? | ? | ? | ? | ? | ? |
PearPC | No | Yes | No | Yes | Yes | No | No | No | No | No | No | No | No | No |
PikeOS | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
PowerVM | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
QEMU | ? | Yes | ? | ? | Yes | Yes | ? | Yes | Yes | ? | Yes | Yes | ? | Yes |
QEMU w/ kqemu module | ? | ? | ? | ? | ? | ? | ? | Yes | No | No | ? | ? | ? | ? |
QEMU w/ qvm86 module | ? | ? | ? | Yes | Yes | ? | ? | Yes | Yes | ? | ? | ? | ? | Yes |
QuickTransit | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
ScaleMP vSMP Foundation | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
SIMH | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Simics | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Sun xVM Server | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
SVISTA 2004 | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
TRANGO | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
User Mode Linux | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
VirtualBox | Yes | Yes | No | Yes[21] | Yes[21] | Yes[21] | up to v2 | Yes | read-only | Yes | Yes | Yes | Can read existing disks, but not create new disks. | Yes |
Virtual Iron 3.1 | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Virtual PC 2007 | Yes | Yes | ? | ? | ? | ? | No | No | No | No | No | Yes | No | No |
Windows Virtual PC | Yes | Yes | ? | ? | ? | ? | No | No | No | No | No | Yes | Yes | No |
Virtual PC 7 for Mac | Yes | Yes | No | No | No | No | No | No | No | No | No | Yes | No | No |
VirtualLogix VLX | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Virtual Server 2005 R2 | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | |
Virtuozzo | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
VMware ESX Server | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | Yes | ? | ? |
VMware ESXi | Yes | Yes | No | Yes | No | No | No | No | No | No | No | No | No | Yes |
VMware Fusion | ? | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | Yes |
VMware Server | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | Yes |
VMware Workstation | Yes | Yes | ? | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | Yes |
VMware Player | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | Yes |
Wind River Hypervisor | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Wind River VxWorks MILS Platform | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Xen | Yes | Yes | ? | Yes | Yes [22] | ? | ? | Yes [22] | Yes [22] | ? | ? | Yes [22] | ? | ? |
XCP-ng | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
XenServer | Yes | Yes | ? | Yes | Yes [22] | ? | ? | Yes [22] | Yes [22] | ? | ? | Yes [22] | ? | ? |
XtratuM | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
z/VM | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
z LPARs | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Name | floppy | ISO | folders on host | physical disk / device | raw / flat (whole disk) | raw / flat (partition) | hdd (Parallels) | QCOW (QEMU) | QCOW2 (QEMU) | QED (QEMU) | VDI (VirtualBox) | VHD (Connectix Virtual PC) | VHDX (Hyper-V) | VMDK (VMware) |
Other features[edit]
Name | Can boot an OS on another disk partition as guest | USB support | GUI | Live memory allocation | 3D acceleration | Snapshots per VM | Snapshot of running system | Live migration | Shared folders | Shared clipboard | PCI passthrough |
---|---|---|---|---|---|---|---|---|---|---|---|
KVM | Yes | Yes | Yes[23] | Yes | Yes (via AIGLX) | Yes | Yes[24] | Yes[25] | Yes | ||
User Mode Linux | Yes | No | No | No | No | No | Yes | N/A | |||
Containers, or Zones | Yes | Yes | Yes | Yes | Not needed | Yes[26] | Yes | No | Yes | Not needed | Not needed |
DosBox | No | No | SVN builds only | No | Glide (SVN builds only) | No | Yes | No | No | No | No |
Oracle VirtualBox (formerly OSE, GPLv2), with Guest Additions (GPLv2)[27] | Yes | USB 1.1 only | Yes | Yes | No | Yes branched[28] | Yes | Yes | with Guest Additions[29] | with Guest Additions[29] | No |
Oracle VirtualBox with Extension Pack (PUEL) and Guest Additions (GPLv2)[27] | Yes | Yes | Yes | Yes | OpenGL 2.0 and Direct3D 8/9[30] | Yes branched[28] | Yes | Yes | Yes | Yes | Linux only[31] |
Oracle VM Server for SPARC (LDoms) | Yes | USB 2.0 | Yes | Yes | No | Yes | No | Yes | Yes | No | Yes |
OKL4 Microvisor | Yes | Yes | VMs only | Yes | Yes | No | Static assignment | ||||
Virtual Iron 4.2 | Yes | ||||||||||
Virtual PC 2007 | No | No | Yes | No | No | No | Yes | Yes | |||
Windows Virtual PC | No | partially | Yes | No | No | No | Yes | Yes | |||
VirtualPC 7 for Mac | No | Yes | Yes | Yes | No | No | Yes | Yes | |||
Microsoft Virtual Server 2005 R2 | No | Yes | No | No | ? | Yes | No | ||||
Microsoft Hyper-V Server 2008 R2 | Yes | Partial support over remote desktop connections [11] | Yes | Yes | DirectX 9.0c [12] (via RemoteFX) | Yes branched | Yes | Yes | No | ||
Microsoft Hyper-V Server 2012 R2 | Yes | Yes | Yes | Yes | DirectX 9.0c [13] (via RemoteFX) | Yes branched | Yes | Yes | No | ||
Virtuozzo | Yes | Yes | Yes | Yes | No | Yes | |||||
VMware ESX Server 3.0 atp | Yes | No | ? | Yes | Yes | No | |||||
VMware ESX Server 2.5.3 | Yes | No | No | ||||||||
VMware ESX Server 4.0 (vSphere) | Yes | Yes | Yes | Yes | Yes | ? | Yes | Yes | Yes[32] | ||
VMware Fusion 2.0 | Yes | Yes | Yes | No | DirectX 9 Shader model 2 | No | No | ||||
VMware Server | Yes | Yes | Yes | Yes | No | 1 | Yes | No | Yes | Yes | |
VMware Workstation 5.5 | Yes | Yes | Yes | Yes | Experimental support for DirectX 8; also supported with VMGL[33] | Yes branched | Yes | No | Yes | Yes | No |
VMware Workstation 6.0 | Yes | Yes | Yes | Yes | Experimental support for DirectX 8; Also supported with VMGL[33] | Yes branched | Yes | No | Yes | Yes | No |
VMware Workstation 7.0 and 8.0 | Yes | Yes | Yes | Yes | Support for DirectX 9.0c Shader Model 3 and OpenGL 2.13D.[34] | Yes branched | Yes | No | Yes | Yes | No |
VMware Player | Yes | Yes | Yes | Yes | supported with VMGL[33] | No | No | No | Yes | No | |
Wind River hypervisor | Yes | Yes | Yes | Yes | Yes | No | |||||
Wind River VxWorks MILS Platform | Yes | ||||||||||
Xen | Yes | Yes[35] | Yes[23] | Yes | Supported with VMGL[33] | ? | Yes | Yes | Yes | ||
XCP-ng | Yes | Yes | Yes | Yes | Yes | Yes | |||||
XenServer | Yes | Yes[23] | Yes | Supported with VMGL[33] | Yes | Yes | Yes | Yes | |||
z/VM | Yes | Not applicable | Yes (zURM/HMC) | Yes | Not applicable | Yes (2011) | Not applicable | Not applicable | |||
z LPARs | Yes | Not applicable | Yes (HMC) | Yes | Not applicable | Yes (2007) | Not applicable | Not applicable | |||
Name | Can boot an OS on another disk partition as guest | USB | GUI | Live memory allocation | 3D acceleration | Snapshots per VM | Snapshot of running system | Live migration | Shared folders | Shared clipboard | PCI passthrough |
- ^ Windows Server 2008 R2 SP1 and Windows 7 SP1 have limited support for redirecting the USB protocol over RDP using RemoteFX.[36]
- ^ Windows Server 2008 R2 SP1 adds accelerated graphics support for certain editions of Windows Server 2008 R2 SP1 and Windows 7 SP1 using RemoteFX.[37][38]
Restrictions[edit]
This table is meant to outline restrictions in the software dictated by licensing or capabilities.
Name | Maximum host cores / CPUs | Maximum host memory | Maximum host disk volume size | Maximum number of guest VM running | Maximum number of logical CPU per VM guest | Maximum amount of memory per VM guest | Maximum number of SCSI + IDE disks per VM guest | Maximum disk size per VM guest |
---|---|---|---|---|---|---|---|---|
Containers, or Zones | No theoretical limit (largest SPARC has 384 physical cores) | 32 TB (largest SPARC) | No limit | 8191 | No limit | No limit | No limit | No limit |
VMware Player 4.0[39] | 4 cores[d][40] | No limit | N/A | ? | 8 | 8 GB (32-bit); 64 GB (64-bit) | ? | 2 TB |
VMware Server 2.0[41] | 16 CPUs | No limit | N/A | 64 | 2 | 8 GB | 4 IDE; 60 SCSI | 950 GB |
VMware vSphere Hypervisor (ESXi) 4.1[42] | 160 logical cores | 1 TB | 2 TB minus 512 bytes | 320 | 8 | 255 GB | 4 IDE; 60 SCSI | 2 TB minus 512 bytes |
VMware vSphere ESXi 5.0[43] | 160 logical cores | 2 TB | 64 TB | 512 | 32 | 1 TB | 4 IDE; 60 SCSI | 2 TB minus 512 bytes |
VMware vSphere Hypervisor (ESXi 5.5) (free)[44] | 16 NUMA Nodes / 320 logical CPUs | 4 TB | Depending on filesystem | 512 | 8 | 1 TB | 4 IDE; 60 SCSI | 62 TB |
VMware vSphere Hypervisor (ESXi 5.5)[45] | 16 NUMA Nodes / 320 logical CPUs | 4 TB | Depending on filesystem | 512 | 64 | 1 TB | 4 IDE; 60 SCSI | 62 TB |
VirtualBox 4.1.x | 256 logical cores (Windows version limited to 64)[46] | No limit | No limit | No limit[47] | 32 | 1 TB[48] | 4 IDE; no limit for SATA, SCSI, SAS | 2 TB[49] |
Microsoft Hyper-V Server R2[50] | 64 cores / 8 CPUs[51] | 1 TB | No limit | 384 | 4 | 64 GB | 4 IDE; 256 SCSI | 2 TB |
Microsoft Hyper-V Server 2012[52] | 320 cores / 64 CPUs | 4 TB | No limit | 1024 | 64 | 1 TB | 4 IDE; 256 SCSI | 64 TB |
Xen[53] | 4095 CPUs | 16TB | No limit | No limit | 512 PV / 128 HVM | 512GB PV / 1TB HVM | ? | ? |
XCP-ng | 4095 CPUs | 16TB | No limit | No limit | 512 PV / 128 HVM | 512GB PV / 1TB HVM | ? | ? |
Xen Server[53] | 4095 CPUs | 16TB | No limit | No limit | 512 PV / 128 HVM | 512GB PV / 1TB HVM | ? | ? |
Note: No limit means no enforced limit. For example, a VM with 1 TB of memory cannot fit in a host with only 8 GB memory and no memory swap disk, so it will have a limit of 8 GB physically.
See also[edit]
Notes[edit]
- ^Can run a guest OS without modifying it, and hence is generally able to run any OS that could run on a physical machine the VM simulates.
- ^Older versions of VMware Workstation support x86.
- ^Older versions of VMware Player/VMware Workstation Player support x86.
- ^Version 3.0.0 and earlier allowed 8 cores.
References[edit]
- ^'Bhyve supports Windows'. Retrieved 22 December 2015.
- ^'1.8. Supported Platforms'. Bochs.sourceforge.net. Retrieved 22 February 2015.
- ^'3.4. Compiling Bochs'. Bochs.sourceforge.net. Retrieved 22 February 2015.
- ^'PowerPC - KVM'. Linux-kvm.org. Retrieved 22 February 2015.
- ^'Development Preview of KVM Virtualization on Red Hat Enterprise Linux Server for ARM'. redhat.com. Retrieved 15 May 2017.
- ^ ab'QEMU Official OS Support List Version 2.0'. Claunia.com. Archived from the original on 15 August 2011. Retrieved 22 February 2015.
- ^Oracle VM VirtualBox User Manual, Chapter 3: Configuring virtual machines | Mac OS X guests
- ^'virtualbox.org • View topic - Theo de Raadt discourages VirtualBox usage.'forums.virtualbox.org. Retrieved 15 October 2017.
- ^'Oracle and Virtual Iron'. Oracle.com. 13 May 2009. Retrieved 22 February 2015.
- ^'VMware Player Pro FAQs: Create and run virtual machines | United States'. Vmware.com. 17 October 2014. Retrieved 22 February 2015.
- ^[1]Archived 15 June 2011 at the Wayback Machine
- ^'Licenses - xcp-ng/xcp Wiki'. Retrieved 22 January 2019.
- ^'Main Page - KVM'. Linux-kvm.org. Retrieved 8 October 2013.
- ^Look at RedHat or Novell for details
- ^Logical Domains#Supported guest operating systems
- ^'Welcome to'. Imperas. 12 March 2014. Retrieved 22 February 2015.
- ^[2]Archived 2008-08-10 at the Wayback Machine
- ^ ab'A Performance Comparison of Hypervisors for Cloud Computing'. Digitalcommons.unf.edu. Retrieved 22 February 2015.
- ^Soltesz, S.; et al. (2007). 'Container-based Operating System Virtualization'(PDF). EuroSys. ACM SIGOPS. Archived from the original(PDF) on 20 July 2014. Retrieved 15 July 2014.
- ^'8.19. Disk Image Modes'. Bochs.sourceforge.net. Retrieved 8 October 2013.
- ^ abc'Chapter 9. Advanced topics'. Virtualbox.org. Retrieved 8 October 2013.
- ^ abcdefgh'Xen blktap2 driver'. Retrieved 3 February 2014.
- ^ abc'Virtual Machine Manager'. Archived from the original on 10 June 2007. Retrieved 20 February 2010.
- ^'Sheepdog is a distributed storage system for KVM'. Archived from the original on 22 February 2013. Retrieved 20 May 2010.
- ^'KVM Migration'. Retrieved 20 May 2010.
- ^'beadm in Non-Global Zones - Creating and Administering Oracle® Solaris 11.2 Boot Environments'. oracle.com. 11 November 2014.
- ^ ab'What are 'VirtualBox Guest Additions'?'. Retrieved 12 April 2019.
- ^ ab'VirtualBox Changelog 3.1'. Archived from the original on 28 September 2010. Retrieved 1 October 2010.
- ^ ab'Introduction to Guest Additions'. Retrieved 12 April 2019.
- ^'VirtualBox Changelog 3.0'. Archived from the original on 3 December 2009. Retrieved 30 June 2009.
- ^'VirtualBox manual: PCI passthrough'. Retrieved 12 May 2012.
- ^'VMware VMDirectPath I/O'. Retrieved 12 May 2012.
- ^ abcde'VMGL (formerly Xen-GL)'. Archived from the original on 4 November 2007.
- ^'VMware Workstation Features, Multiple OS, Run Linux on Windows - United States'. Vmware.com. Retrieved 8 October 2013.
- ^'Xen USB Passthrough'. Retrieved 12 April 2018.
- ^'Configuring USB Device Redirection with Microsoft RemoteFX Step-by-Step Guide'. Technet.microsoft.com. 16 February 2011. Retrieved 8 October 2013.
- ^'Microsoft RemoteFX'. Technet.microsoft.com. 23 February 2011. Retrieved 8 October 2013.
- ^'Hardware Considerations for RemoteFX'. Technet.microsoft.com. 8 February 2011. Retrieved 8 October 2013.
- ^'Getting Started with VMware Player'(PDF). Vmware.com. Retrieved 22 February 2015.
- ^'Folding@Home - VMWare Player 3.0 and Folding Bigadv Support'. LinuxForge.net. Retrieved 8 October 2013.
- ^'VMware Server User's Guide'(PDF). Vmware.com. Retrieved 22 February 2015.
- ^'Configuration Maximums : Sphere 4.1'(PDF). Vmware.com. Retrieved 22 February 2015.
- ^'Configuration Maximums : Sphere 5.0'(PDF). Vmware.com. Retrieved 22 February 2015.
- ^'Free Virtualization with VMware vSphere Hypervisor (ESXi)' (in Dutch). Vmware.com. Retrieved 17 January 2014.
- ^'Configuration Maximums VMware® vSphere 5.5'(PDF). VMWare Inc. 30 October 2013. Retrieved 23 December 2013.
- ^'Changelog-4.0 – Oracle VM VirtualBox'. Virtualbox.org. Retrieved 8 October 2013.
- ^'Chapter 1. First steps'. Virtualbox.org. Retrieved 22 February 2015.
- ^'Oracle revs VirtualBox, mushrooms memory : Virtual iron more supple than real iron'. Theregister.co.uk. Retrieved 8 October 2013.
- ^The command-line version allows a virtual disk image of more than 2 TB.
- ^'Requirements and Limits for Virtual Machines and Hyper-V in Windows Server 2008 R2'. Retrieved 10 February 2015.
- ^Protalinski, Emil (1 September 2009). 'Microsoft Hyper-V Server 2008 R2 arrives for free'. Ars Technica. Retrieved 8 October 2013.
- ^'Hyper-V Scalability in Windows Server 2012'. Technet.microsoft.com. Retrieved 22 February 2015.
- ^ ab'Xen Project Release Features - Xen'. wiki.xen.org. Retrieved 14 August 2018.
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Comparison_of_platform_virtualization_software&oldid=912264565'
Wikipedia (QEMU)
QEMU (Quick EMUlator) is a generic, open source hardware emulator and virtualization suite. Often it is used in conjunction with acceleration in the form of a Type-I hypervisor such as KVM (Kernel-based Virtual Machine) or Xen. If no accelerator is used, QEMU will run entirely in user-space using its built in binary translator TCG (Tiny Code Generator). Using QEMU without an accelerator is relatively inefficient and slow.
Note
This article typically uses KVM as the accelerator of choice due to its GPL licensing and availability. Without KVM nearly all commands described here will still work (unless KVM specific).
This article typically uses KVM as the accelerator of choice due to its GPL licensing and availability. Without KVM nearly all commands described here will still work (unless KVM specific).
- 1Installation
- 1.3USE flags
- 2Configuration
- 2.4Front ends
- 4Troubleshooting
Installation
BIOS and UEFI firmware
In order to utilize KVM either Vt-x or AMD-V must be supported by the processor. Vt-x or AMD-V are Intel and AMD's respective technologies for permitting multiple operating systems to concurrently execute operations on the processors.
To inspect hardware for virtualization support issue the following command:
For a period manufacturers were shipping with virtualization turned off by default in the system BIOS. Note that changing this feature in the BIOS may actually require full removal of power from the system to take effect. If restarting the system does not work try shutting down, unplugging the system and pressing the power button in an unplugged state to discharge any residual energy from the power supply unit (PSU). Reapply power to the system to verify success.
If KVM support is available there should be a 'kvm' device listed at /dev/kvm. This will take effect after the system has booted to a KVM enabled kernel.
Kernel
Activate the following kernel options:
KERNEL
KERNELEnable KVM support for Intel processors (CONFIG_KVM_INTEL)
KERNELEnable KVM support for AMD processors (CONFIG_KVM_AMD)
Warning
If both 'KVM for Intel processors support' and 'KVM for AMD processors support' are set as built into the kernel (
If both 'KVM for Intel processors support' and 'KVM for AMD processors support' are set as built into the kernel (
*
) an error message will appear from kprint from early boot. Since the system has only one type processor (Intel or AMD) enabling one or both options as modules (M
) will make the error message disappear.Needed for
vhost-net
USE flag (recommend):KERNELOptional advanced networking support
Needed for 802.1d Ethernet bridging:
python
USE flag is needed for file capabilities support:KERNELEnabling Linux file capabilities support
When using the ext4 filesystem, enable the
filecaps
USE flag if stats support is needed:![Qemu Mac Manual Qemu Mac Manual](/uploads/1/2/6/2/126263074/873900279.jpg)
USE flags
Review the possible USE flags for QEMU:
USE flags forapp-emulation/qemuQEMU + Kernel-based Virtual Machine userland tools
accessibility | Adds support for braille displays using brltty |
aio | Enables support for Linux's Async IO |
alsa | Enable alsa output for sound emulation |
bzip2 | Use the bzlib compression library |
capstone | Enable disassembly support with dev-libs/capstone |
curl | Support ISOs / -cdrom directives vis HTTP or HTTPS. |
fdt | Enables firmware device tree support |
filecaps | Use Linux file capabilities to control privilege rather than set*id (this is orthogonal to USE=caps which uses capabilities at runtime e.g. libcap) |
glusterfs | Enables GlusterFS cluster fileystem via sys-cluster/glusterfs |
gnutls | Enable TLS support for the VNC console server. For 1.4 and newer this also enables WebSocket support. For 2.0 through 2.3 also enables disk quorum support. |
iscsi | Enable direct iSCSI support via net-libs/libiscsi instead of indirectly via the Linux block layer that sys-block/open-iscsi does. |
jpeg | Enable jpeg image support for the VNC console server |
lzo | Enable support for lzo compression |
ncurses | Enable the ncurses-based console |
nfs | Enable NFS support |
numa | Enable NUMA support |
pin-upstream-blobs | Pin the versions of BIOS firmware to the version included in the upstream release. This is needed to sanely support migration/suspend/resume/snapshotting/etc... of instances. When the blobs are different, random corruption/bugs/crashes/etc... may be observed. |
png | Enable png image support for the VNC console server |
pulseaudio | Enable pulseaudio output for sound emulation |
python | Add optional support/bindings for the Python language |
rbd | Enable rados block device backend support, see http://ceph.newdream.net/wiki/QEMU-RBD |
sdl | Enable the SDL-based console |
snappy | Enable support for snappy compression |
spice | Enable Spice protocol support via app-emulation/spice |
ssh | Enable SSH based block device support via net-libs/libssh2 |
static | Build the User and Software MMU (system) targets as well as tools as static binaries |
static-user | Build the User targets as static binaries |
systemtap | Enable SystemTAP/DTrace tracing |
tci | Enable the TCG Interpreter which can speed up or slowdown workloads depending on the host and guest CPUs being emulated. In the future it will be a runtime option but for now its compile time. |
usb | Enable USB passthrough via dev-libs/libusb |
usbredir | Use sys-apps/usbredir to redirect USB devices to another machine over TCP |
vde | Enable VDE-based networking |
vhost-net | Enable accelerated networking using vhost-net, see http://www.linux-kvm.org/page/VhostNet |
virgl | Enable experimental Virgil 3d (virtual software GPU) |
virtfs | Enable VirtFS via virtio-9p-pci / fsdev. See http://wiki.qemu.org/Documentation/9psetup |
vnc | Enable VNC (remote desktop viewer) support |
vte | Enable terminal support (x11-libs/vte) in the GTK+ interface |
xattr | Add support for getting and setting POSIX extended attributes, through sys-apps/attr. Requisite for the virtfs backend. |
xen | Enables support for Xen backends |
xfs | Support xfsctl() notification and syncing for XFS backed virtual disks. |
Data provided by the Gentoo Package Database · Last update: 2019-08-20 06:49 More information about USE flags
Note
More than one USE flag (
More than one USE flag (
gtk
, ncurses
, sdl
or spice
) can be enabled for graphical output. If graphics are desired it is generally recommended to enable more than one graphical USE flag.USE_EXPAND
Additional ebuild configuration frobs are provided as the USE_EXPAND variables QEMU_USER_TARGETS and QEMU_SOFTMMU_TARGETS. See app-emulation/qemu for a list of all the available targets (there are a heck of a lot of them; most of them are very obscure and may be ignored; leaving these variables at their default values will disable almost everything which is probably just fine for most users).
For each target specified, a qemu executable will be built. A
softmmu
target is the standard qemu use-case of emulating an entire system (like VirtualBox or VMWare, but with optional support for emulating CPU hardware along with peripherals). user
targets execute user-mode code only; the (somewhat shockingly ambitious) purpose of these targets is to 'magically' allow importing user-space linux ELF binaries from a different architecture into the native system (that is, they are like multilib, without the awkward need for a software stack or CPU capable of running it).In order to enable QEMU_USER_TARGETS and QEMU_SOFTMMU_TARGETS we can edit the variables globally in /etc/portage/make.conf, i.e.:
Or, we can edit the /etc/portage/package.use file(s). Two equivalent syntaxes are available: traditional 'use-flag' syntax, i.e.:
FILE
/etc/portage/package.use
and, a newer sexy USE_EXPAND-specific syntax:
Emerge
After reviewing and adding any desired USE flags, emerge app-emulation/qemu:
Configuration
Networking
For Networking configuration, see the networking options documentation.
IPv6
Qemu Mac Manual Software
For IPv6 networking see the IPv6 subarticle.
Permissions
In order to run a KVM accelerated virtual machine without logging as root, add normal users to the kvm group. Replace
<username>
in the example command below with the appropriate user(s):Front ends
To make life easier, there are multiple user-friendly front ends to QEMU:
Name | Package | Homepage | Description |
---|---|---|---|
AQEMU | app-emulation/aqemu | https://sourceforge.net/projects/aqemu/ | Graphical interface for QEMU and KVM emulators, using Qt5. |
GNOME Boxes | gnome-extra/gnome-boxes | https://wiki.gnome.org/Apps/Boxes | GNOME App to manage virtual and remote machines |
libvirt | app-emulation/libvirt | https://www.libvirt.org/ | C toolkit to manipulate virtual machines. |
QtEmu | https://gitlab.com/qtemu/gui | Qt-based front-end for QEMU. | |
qt-virt-manager | app-emulation/qt-virt-manager | https://f1ash.github.io/qt-virt-manager/ | A graphical user interface for libvirt written in Qt5. |
virt-manager | app-emulation/virt-manager | https://virt-manager.org | A graphical tool for administering virtual machines. |
virt-manager
Note
When using virt-manager, be sure to enable the
When using virt-manager, be sure to enable the
usbredir
USE flag on the qemu package for correct operation.Qemu Mac Manual Pdf
After emerging, to run virt-manager as a normal user, ensure each user has been added to the libvirt group:
Uncomment the following lines from the libvirtd configuration file:
FILE
/etc/libvirt/libvirtd.conf
Be sure to have the user log out then log in again for the new group settings to be applied.
Issue the following command to restart the libvirtd service under OpenRC:
Issue the following command to restart the libvirtd service under systemd:
virt-admin should now be launchable as a regular user.
Note
If permission denied issues are experienced when loading ISO images user directories (somewhere beneath /home/) then the /var/lib/libvirt/images/ directory can be used to store the images.
If permission denied issues are experienced when loading ISO images user directories (somewhere beneath /home/) then the /var/lib/libvirt/images/ directory can be used to store the images.
Usage
The following sub-articles provide instructions on QEMU usage:
- Usage options - Contains common options used with QEMU.
- Linux guest - Describes the configuration steps needed to setup Linux to run on QEMU.
- Windows guest - Describes the configuration steps needed to setup Windows to run on QEMU.
- OS2WarpV3 guest - Describes the configuration steps needed to setup OS2WarpVs=3 to run on QEMU.
Troubleshooting
'kvm: already loaded the other module'
Sometimes during the early boot splash the error message 'kvm: already loaded the other module' can be seen. This message indicates both the Intel and the AMD kernel virtual machine settings have been enabled in the kernel. To fix this, enable as a module or disable either the Intel or AMD KVM option specific to the system's processor in the kernel configuration. For example, if the system has an Intel processor enable the Intel KVM, then make sure the AMD KVM is set as a module (M) or is disabled (N). The relevant options to enable or disable can be found in the kernel's .config file via the CONFIG_KVM_INTEL and CONFIG_KVM_AMD variables or in the configuration section above.
Creating TUN/TAP device - No such file or directory
Sometimes this error can occur if TUN/TAP support cannot be found in the kernel.To solve this, try loading the driver:
If that works, add this to a file in /etc/modules-load.d/ to load on startup:
Download Qemu
FILE
/etc/modules-load.d/qemu-modules.conf
See also
- QEMU/KVM_IPv6_Support — describes IPv6 support in QEMU/KVM.
- Comparison of virtual machines — compares the features of several platform virtual machines.
External resources
Install Qemu On Mac
- https://www.linux-kvm.org/page/KvmOnGentoo - The Gentoo article on the KVM wiki
- https://wiki.qemu.org/Main_Page - The Official QEMU wiki