4.6 KiB
website | obj | repo | rev |
---|---|---|---|
https://www.qemu.org | application | https://github.com/qemu/qemu | 2024-05-02 |
QEMU
QEMU is an open-source emulator and virtualizer that enables running operating systems and various software applications on different hardware architectures. It supports emulation of various CPU architectures, including x86, ARM, PowerPC, and SPARC, among others. It allows running virtual machines.
QCow Image
qcow is a file format for disk image files used by QEMU. It stands for "QEMU Copy On Write" and uses a disk storage optimization strategy that delays allocation of storage until it is actually needed. Files in qcow format can contain a variety of disk images which are generally associated with specific guest operating systems. Three versions of the format exist: qcow, qcow2 and qcow3 which use the .qcow, .qcow2 and .qcow3 file extensions, respectively.
Create a new image: qemu-img create -f qcow2 -s 10G my_image.qcow2
Usage
x86
To use QEMU, you typically need a disk image containing the operating system you want to emulate.
qemu-system-x86_64 -drive <disk_image>
Options
Option | Description | Example |
---|---|---|
-cpu <cpu> |
Specifies the CPU model or architecture to emulate. This flag is useful for emulating different CPU types. | qemu-system-x86_64 -cpu host |
-smp <smp> |
Specifies the number of CPU cores to emulate in the virtual machine. | qemu-system-x86_64 -hda <disk_image> -smp 4 |
-m <mem> |
Sets the amount of RAM to allocate for the virtual machine. | qemu-system-x86_64 -m 2G -hda <disk_image> |
-netdev <netdev> |
Configures networking for the virtual machine. | qemu-system-x86_64 -hda <disk_image> -netdev user,id=network0 |
-device <device> |
Adds a specific device to the virtual machine, such as a network interface card (NIC), graphics card, or sound card. | qemu-system-x86_64 -hda <disk_image> -device e1000,netdev=network0 |
-display <display> |
Specifies the display driver to use for the virtual machine. Useful for setting up a graphical interface. | qemu-system-x86_64 -hda <disk_image> -display gtk |
-monitor |
Opens a monitor console for managing and interacting with the virtual machine during runtime. | qemu-system-x86_64 -hda <disk_image> -monitor stdio |
-vga <vga> |
Specifies the graphics card model to emulate. Options include cirrus, std, vmware, qxl, and virtio. | qemu-system-x86_64 -hda <disk_image> -vga virtio |
-enable-kvm |
Enables KVM (Kernel-based Virtual Machine) acceleration if supported by the host system. This improves performance significantly. | qemu-system-x86_64 -hda <disk_image> -enable-kvm |
-drive <drive> |
Allows more advanced configuration of disk drives, including specifying disk format, caching mode, and other options. | qemu-system-x86_64 -drive file=<disk_image>,format=qcow2,cache=writeback |
-cdrom <cdrom> |
Specifies the CD-ROM image to use for booting or installing from a CD. | qemu-system-x86_64 -cdrom <cdrom_image> |
-soundhw <soundhw> |
Specifies the sound hardware to emulate in the virtual machine. | qemu-system-x86_64 -hda <disk_image> -soundhw hda |