QEMU эмулятор на Андроид: полное руководство по запуску

Запуск QEMU на Android упирается в одно ключевое ограничение: без аппаратной виртуализации эмуляция x86-системы на ARM-процессоре смартфона идёт через программную трансляцию команд, поэтому даже лёгкая ОС загружается минутами, а не секундами. Проверить, есть ли смысл продолжать, можно простым тестом — если ваше устройство имеет меньше 4 ГБ оперативной памяти, комфортной работы с полноценной виртуальной машиной ждать не стоит.

Тем не менее QEMU остаётся самым гибким способом запустить на смартфоне Linux-дистрибутив, старые версии Windows или специализированные системы. В этом материале разберём доступные способы установки, настройку виртуальной машины, типичные ошибки и реалистичные ожидания от производительности.

Что такое QEMU и как он работает на Android

QEMU — это открытый эмулятор и виртуализатор, который позволяет запускать операционные системы, собранные под одну архитектуру процессора, на устройстве с другой архитектурой. На Android чипы почти всегда построены на ARM, а большинство десктопных ОС — под x86/x86_64, поэтому QEMU выполняет динамическую трансляцию инструкций через встроенный транслятор TCG.

Именно TCG определяет скорость работы: каждая инструкция гостевой системы переводится в набор команд ARM «на лету». Это надёжно, но медленно. Аппаратное ускорение через KVM на большинстве Android-устройств недоступно — оно требует поддержки со стороны ядра и прав root, причём даже с root доступ к гипервизору встречается редко.

Способы установки QEMU на Android

Существует два основных пути: через терминальное окружение Termux и через готовые приложения-оболочки с графическим интерфейсом. Первый вариант гибче и актуальнее, второй — проще для новичка.

  • 📱 Termux — терминальная среда, где QEMU ставится из официального репозитория командой пакетного менеджера. Рекомендуемый способ.
  • 🖥️ Графические оболочки (например, приложения на базе QEMU с GUI) — позволяют настроить машину без командной строки, но часто содержат устаревшие версии эмулятора.
  • 🐧 Chroot/proot-окружения — установка QEMU внутри Linux-окружения на Android, вариант для опытных пользователей.
⚠️ Внимание: устанавливайте Termux только из официальных источников проекта (F-Droid или репозиторий разработчиков). Версия из Google Play давно не обновляется, и установка пакетов из неё может завершаться ошибками репозиториев.

Установка QEMU через Termux: пошаговая инструкция

Перед началом убедитесь, что на устройстве достаточно свободного места — образ диска гостевой системы может занимать несколько гигабайт. Затем выполните шаги в указанном порядке.

pkg update && pkg upgrade

pkg install qemu-system-x86-64

Для эмуляции 32-битных систем вместо пакета для x86_64 можно поставить qemu-system-i386 — он часто работает заметно быстрее, поскольку не тянет за собой 64-битную инфраструктуру. Если планируете запускать ARM-системы, существуют отдельные пакеты qemu-system-aarch64 и qemu-system-arm.

☑️ Подготовка к первому запуску

Выполнено: 0 / 5

После установки создайте виртуальный диск и запустите машину. Пример базовой команды:

qemu-img create -f qcow2 disk.qcow2 8G

qemu-system-x86_64 -m 1024 -hda disk.qcow2 -cdrom system.iso -boot d

Здесь -m 1024 задаёт объём оперативной памяти гостя в мегабайтах, а -boot d указывает загрузку с образа диска. Не выделяйте гостю больше половины реальной памяти устройства — иначе Android начнёт выгружать фоновые процессы, включая сам Termux.

Настройка производительности и вывода изображения

По умолчанию QEMU в Termux не имеет графического окна. Есть несколько способов увидеть рабочий стол гостевой системы:

  • 🖼️ VNC-сервер — запуск с параметром -vnc :1 и подключение через любой VNC-клиент на том же устройстве.
  • 🪟 X11-вывод — через окружение Termux:X11, если оно настроено.
  • ⌨️ Текстовый режим — параметр -nographic для систем, которым достаточно консоли (например, серверных Linux-сборок).

Для ускорения работы попробуйте уменьшить количество эмулируемых ядер до одного-двух — парадоксально, но на слабой программной трансляции меньшее число ядер иногда даёт более стабильную отзывчивость. Также отключайте в гостевой системе визуальные эффекты и используйте лёгкие окружения рабочего стола вроде LXDE или IceWM.

📊 Какую систему вы планируете запускать в QEMU на Android
Linux-дистрибутив
Windows XP или старше
Современная Windows
Другое (DOS, BSD и т.п.)

Сравнение способов запуска

СпособСложностьАктуальность QEMUГибкость настройки
Termux + пакет qemu-systemСредняяВысокаяМаксимальная
GUI-приложения на базе QEMUНизкаяЧасто устаревшаяОграниченная
QEMU внутри proot/chroot LinuxВысокаяЗависит от дистрибутиваВысокая
QEMU с KVM (root, кастомное ядро)Очень высокаяЗависит от сборкиМаксимальная, но редко доступна

Как видно из таблицы, Termux остаётся оптимальным балансом между простотой и контролем. GUI-оболочки удобны для быстрого эксперимента, но версии эмулятора в них нередко отстают на несколько лет, что сказывается на совместимости с современными образами систем.

Типичные проблемы и их решения

Наиболее частая жалоба — гостевая система загружается десятки минут или зависает на чёрном экране. Обычно это не ошибка, а следствие медленной программной трансляции: проверьте, что выделили достаточно памяти, и запаситесь терпением. Если процесс Termux внезапно завершается, вероятная причина — система Android выгрузила его из-за нехватки ОЗУ; уменьшите значение параметра -m.

⚠️ Внимание: эмуляция x86 на ARM сильно нагружает процессор и разряжает батарею, устройство может ощутимо нагреваться. Не оставляйте длительные сессии QEMU без присмотра на зарядке и следите за температурой корпуса.

Если при установке пакета возникают ошибки репозитория, выполните termux-change-repo и выберите другой зеркальный сервер — это штатный механизм Termux для смены источника пакетов. При ошибках вида «command not found» проверьте, что пакет установлен именно для нужной архитектуры: qemu-system-x86-64 и qemu-system-i386 — разные пакеты.

Почему нельзя просто включить аппаратное ускорение

KVM требует поддержки гипервизора в ядре Android и прав root. На большинстве серийных прошивок ядро собрано без нужных модулей, поэтому даже с root-доступом KVM в QEMU обычно недоступен. Реалистичная альтернатива — использовать ARM-гостевые системы, где трансляция не нужна, либо мириться со скоростью TCG.

Реалистичные сценарии применения

Честно оценим, для чего QEMU на смартфоне действительно пригоден. Запуск современной Windows с комфортной скоростью — практически нереален без аппаратной виртуализации. А вот следующие задачи вполне выполнимы:

  • 💾 Запуск DOS и ретро-систем для старого софта и игр.
  • 🐧 Лёгкие Linux-дистрибутивы в консольном режиме для обучения и экспериментов.
  • 🧪 Тестирование загрузочных образов и проверка ISO перед записью.
  • 📚 Изучение архитектуры виртуализации и принципов работы эмуляторов.

Если ваша цель — полноценный Linux на смартфоне, рассмотрите альтернативу: proot-окружения в Termux запускают Linux-приложения без эмуляции процессора и работают в разы быстрее. QEMU оправдан именно тогда, когда нужна изолированная виртуальная машина или система под чужую архитектуру.

Часто задаваемые вопросы

Можно ли запустить Windows 10/11 в QEMU на Android?

Технически установка возможна, но из-за программной трансляции TCG процесс займёт часы, а работа системы будет крайне медленной. Практический смысл имеют только старые версии Windows (XP и ранее) либо ARM-сборки систем.

Нужен ли root для QEMU на Android?

Нет, базовая эмуляция через Termux работает без root-прав. Root требуется только для попыток задействовать аппаратную виртуализацию KVM, которая на большинстве устройств всё равно недоступна из-за ограничений ядра.

Почему Termux не находит пакет qemu?

Возможная причина — устаревшая версия Termux из Google Play или неработающее зеркало репозитория. Установите актуальную сборку Termux из F-Droid, выполните pkg update, а при необходимости смените зеркало через termux-change-repo.

Сколько оперативной памяти выделять виртуальной машине?

Ориентируйтесь на половину реального объёма ОЗУ устройства или меньше. Для лёгких Linux-систем обычно достаточно 512–1024 МБ. Чрезмерное выделение памяти приводит к тому, что Android принудительно завершает процесс Termux.

Чем QEMU отличается от эмуляторов вроде Limbo?

Приложения вроде Limbo — это графические оболочки над тем же QEMU, но часто с устаревшими версиями эмулятора. Прямая установка через Termux даёт актуальную версию и полный контроль над параметрами запуска, ценой необходимости работать с командной строкой.