Download QEMU
Linux
QEMU is packaged by most Linux distributions:
Arch: pacman -S qemu
Debian/Ubuntu: apt-get install qemu
Fedora: dnf install @virtualization
Gentoo: emerge —ask app-emulation/qemu
RHEL/CentOS: yum install qemu-kvm
SUSE: zypper install qemu
macOS
QEMU can be installed from Homebrew:
QEMU can be installed from MacPorts:
QEMU requires Mac OS X 10.5 or later, but it is recommended to use Mac OS X 10.7 or later.
Windows
Stefan Weil provides binaries and installers for both 32-bit and 64-bit Windows.
Source code
Grab the source code for the latest releases and compile it yourself! Detailed compilation instructions can be found in the wiki for Linux, Win32 and macOS.
- 5.1.0 Aug 11th 2020
signature — changes - 5.0.1 Sep 15th 2020
signature — changes - 4.2.1 Jun 25th 2020
signature — changes - 4.1.1 Nov 14th 2019
signature — changes
or stay on the bleeding edge with the git repository!
Build instructions
To download and build QEMU 5.1.0:
To download and build QEMU from git:
The latest development happens on the master branch. The stable trees are located in branches named stable-X.YY branch, where X.YY is the release version.
Version numbering
Since version 3.0.0, QEMU uses a time based version numbering scheme:
major incremented by 1 for the first release of the year minor reset to 0 with every major increment, otherwise incremented by 1 for each release from git master micro always 0 for releases from git master, incremented by 1 for each stable branch release
The implication of this is that changes in major version number do not have any bearing on the scope of changes included in the release. Non-backward compatible changes may be made in any master branch release, provided they have followed the deprecation policy which calls for warnings to be emitted for a minimum of two releases prior to the change.
Виртуализация операционных систем с помощью QEMU. Основы работы с эмулятором
Виртуализация — наиболее доступный способ запустить на одном ПК вторую операционную систему, не устанавливая ее непосредственно на жесткий диск. Вместо этого вторая ОС устанавливается на диск виртуальный, представленный специальным файлом-контейнером, созданным в гипервизоре — программе, позволяющей эмулировать работу гостевой системы в системе хостовой. Наибольшей популярностью среди домашних юзеров пользуются гипервизоры VirtualBox и VMware с мощным функционалом и наглядным GUI .
Но есть и другие, в чём-то даже более гибкие и продуктивные решения хотя и куда менее удобные в использовании. Например, QEMU — бесплатная программа с открытым исходным кодом, предназначенная для эмуляции программного обеспечения и операционных систем. Инструмент использует аппаратную виртуализацию, поддерживая два режима работы:
• Полная эмуляция — данный режим применяется для запуска операционных систем, в его рамках QEMU эмулирует физическое устройство со всеми его компонентами, встроенными и периферийными.
• Эмуляция пользовательского режима — дает возможность запускать программы, созданные для конкретной архитектуры на другой архитектуре, например, приложения ARM в x86 . Режим доступен только в хостовой системе Linux.
QEMU поддерживается эмуляция архитектуры x86 , ARM , MIPS , PowerPC , m68k , Alpha , SPARC , SH-4 , CRISv2 , MicroBlaze и это более солидный список, чем у того же Виртуалбокс.
Как установить QEMU в Windows
Скачать установочный файл эмулятора можно с официального сайта www.qemu.org/download/#windows,
есть редакции 32-битные и 64-битные, версию выбираем последнюю.
Устанавливается QEMU как обычная программа в папку Program Files\qemu , но можно выбрать и другое расположение.
Установку выполняем с параметрами по умолчанию, ничего менять не нужно, просто жмем в окне мастера «Next».
Виртуализация операционных систем в QEMU
В отличие от VirtualBox и подобных гипервизоров, QEMU не имеет графического интерфейса, работа с ней ведется через командную строку. Команд и параметров для создания и управления виртуальными машинами много, но для начала вам нужно знать хотя бы эти шесть.
• qemu-system — задает архитектуру виртуальной машины.
• qemu-img create — создает файл виртуального IMG -диска, на который будет устанавливаться операционная система.
• -m — выделяет виртуальной ОС указанный объем оперативной памяти.
• -hda — подключает созданный виртуальный диск.
• -boot IMG — указывает, что загрузка должна производиться с виртуального диска, вместо IMG следует указать имя IMG -файла.
• cdrom — содержит путь к установочному образу ISO , эмулирует дисковод.
Чтобы вам стало всё немного понятнее, установим и запустим с помощью QEMU какую-нибудь операционную систему. Для примера мы выбрали Windows XP, так как она легкая и занимает на диске мало места. QEMU у нас уже установлен, открываем командную строку, переходим в каталог установки и создаем виртуальный жесткий диск следующей командой:
qemu-img.exe create -f raw c.img 5000M
Файл qemu-img.exe в эмуляторе отвечает за создание IMG -образов, с — это название образа, 5000 — размер виртуального диска в мегабайтах. По умолчанию образ будет создан в папке QEMU .
Теперь сформируем следующую команду:
qemu-system-i386w.exe -boot c -m 350 -hda c.img -cdrom «E:\WinXP_SP3.iso»
Исполняемый файл в начале команды отвечает за создание виртуальной машины с архитектурой х86 , -boot с ключом -с сообщает, что грузиться она будет с диска, в значение параметра -hda подставляем созданный образ, а в качестве значения параметра –cdrom указываем путь к дистрибутиву Windows.
После выполнения команды появляется окошко QEMU с загрузочным меню, в котором мы выбираем установку на диск.
Далее проходим все этапы установки операционной системы вплоть до локальных настроек и загрузки рабочего стола.
Чтобы запустить закрытую виртуальную машину, выполните команду qemu-system-i386w.exe -hda name.img , где name — название вашего виртуального диска, чтобы удалить ставшую ненужной VM, просто удалите из каталога установки QEMU созданный IMG -образ.
Управлять QEMU можно с помощью клавиатуры и мыши, для переключения между эмулятором и хостовой машиной используйте комбинацию Ctrl + Alt + G . Запущенная с минимальными настройками ОС не будет иметь доступа к аудио- и сетевой карте, не будет также возможности обмена файлами между виртуальной и хостовой системами.
Нельзя сказать, что QEMU лучше или хуже VirtualBox либо VMware, это альтернативное средство виртуализации, имеющие как свои плюсы, так и минусы. QEMU менее удобен, требует знания документации и демонстрирует весьма небольшую производительность. Для ускорения работы в Windows требуется установка и настройка Диспетчера аппаратного ускорения HAXM, в Linux – подключение загружаемого модуля ядра KVM . С другой стороны, инструмент позволяет эмулировать работу устройств на базе разных архитектур, не поддерживаемые популярными гипервизорами.
Links
Contents
Development
Developers
A few blogs from developers are syndicated at Virt Tools Planet. For enrolling a blog into the planet, please submit a patch to this file to Dan Berrange.
Unofficial QEMU binaries
- Precompiled Windows versions, provided by Prashant Satish
- Precompiled Windows versions (32 and 64 bit), provided by Stefan Weil
- Precompiled Windows versions (currently only up to 2.6.0), provided by Eric Lassauge
- Slackware packages
Alternate QEMU repositories / Forks
- Openmoko (Neo1973) target
- Malc’s GIT repository including audio improvements, an x86 interpreter (useful for MSDOS demos heavily using self modifying code), full A/V capture
- Android emulation — see also http://gsoc11-qemu-android.blogspot.de/
- AR7 routers, TCG interpreter (maintained by Stefan Weil)
- Motorola 680×0 (not coldfire — maintained by Laurent Vivier)
- PA-RISC target — early stages (needs linux-user rework for stack growing up)
- kqemu archive includes patches for the former acceleration module
- qemu-linaro — obsolete (but includes OMAP3 support)
- Blackfin target (maintained by Mike Frysinger)
- pnacl port Portable Native Client (PNaCl) port runs in Chrome web browser
- 6502 CPU target
- AT91SAM9263 emulation
- Android Goldfish
- Android Ranchu
- Imagination META
- Macintosh 128k
- QEMU with Windbg stub
GUIs and management tools/systems
- libvirt provides an API for managing QEMU/KVM (and other hypervisors) exposed in C, Perl, Python, OCaml, Ruby, and Java, with bridges to AMQP/QMF and DMTF CIM.
- virt-install, virt-clone, virt-convert a set of command line tools for provisioning new VMs from install media, existing VMs and appliances, respectively. See also ‘virsh’ command line shell with libvirt.
- virt-manager, Virtual Machine Manager. A graphical desktop management app using libvirt. Can manage a single local host, or securely multiple remote hosts. Support QEMU, KVM, Xen and more
- AQEMU GUI for QEMU and KVM (Linux), docs (German)
- Ganeti, a cluster virtual server management software tool built on top of existing virtualization technologies such as Xen or KVM and other Open Source software.
- qemu-java, a full Java API to QEmu’s QApi, commandline image manipulation. This is a good foundation API for building integration testing systems, richer QEmu-based applications, and so forth.
- QtEmu, a graphical user interface for QEMU written in Qt5 for GNU/Linux, FreeBSD, Windows and MacOS
Legacy GUI front ends
These projects seem to be abandoned, thus these GUIs likely do not work with the latest version of QEMU anymore and the links are only provided here for historical reasons:
- qemudo, QEMU Web Interface
- JavaQemu, a GUI for QEMU written in Java