

This provides the possibility for reverting the emulated disk's contents to an earlier state. The QCOW2 format also allows the creation of overlay images that record the difference from another (unmodified) base image file. This way, an emulated 120 GB disk may occupy only a few hundred megabytes on the host. Virtual disk images can be stored in a special format ( qcow or qcow2) that only takes up as much disk space as the guest OS actually uses.

USB devices can be completely emulated, or the host's USB devices can be used, although this requires administrator privileges and does not work with all devices. The virtual machine can interface with many types of physical host hardware, including the user's hard disks, CD-ROM drives, network cards, audio interfaces, and USB devices. QEMU supports the emulation of various architectures, including x86, MIPS64 (up to Release 6), SPARC (sun4m and sun4u), ARM (Integrator/CP and Versatile/PB), SuperH, PowerPC ( PReP and Power Macintosh), ETRAX CRIS, MicroBlaze, and RISC-V.

Guest operating systems do not need patching in order to run inside QEMU. QEMU can save and restore the state of the virtual machine with all programs running. Xen Hosting QEMU is involved only in the emulation of hardware the execution of the guest is done within Xen and is totally hidden from QEMU. It is still involved in the emulation of hardware, but the execution of the guest is done by KVM as requested by QEMU. KVM Hosting Here QEMU deals with the setting up and migration of KVM images. QEMU can boot many guest operating systems, including Linux, Solaris, Microsoft Windows, DOS, and BSD it supports emulating several instruction sets, including x86, MIPS, 32-bit ARMv7, ARMv8, PowerPC, SPARC, ETRAX CRIS and MicroBlaze.

It can be used to provide virtual hosting of several virtual computers on a single computer. System emulation In this mode QEMU emulates a full computer system, including peripherals. Fast cross-compilation and cross-debugging are the main targets for user-mode emulation. System calls are thunked for endianness and for 32/64 bit mismatches. QEMU has multiple operating modes: User-mode emulation In this mode QEMU runs single Linux or Darwin/ macOS programs that were compiled for a different instruction set. Various parts are released under the BSD license, GNU Lesser General Public License (LGPL) or other GPL-compatible licenses. QEMU was written by Fabrice Bellard and is free software, mainly licensed under the GNU General Public License (GPL for short).
