Запуск 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.
☑️ Подготовка к первому запуску
После установки создайте виртуальный диск и запустите машину. Пример базовой команды:
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 | Гибкость настройки |
|---|---|---|---|
| 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 даёт актуальную версию и полный контроль над параметрами запуска, ценой необходимости работать с командной строкой.