Чем распаковать IMG-образ Android: обзор инструментов и инструкции

Файл system.img, скачанный вместе с прошивкой, не открывается ни архиватором 7-Zip, ни WinRAR — и это нормально, потому что IMG-образы Android представляют собой образы файловых систем ext4, sparse-контейнеры или разделы boot особой структуры, а не обычные архивы. Распаковать такой файл можно утилитами simg2img, ext4_unpacker, Android Image Kitchen и рядом других инструментов — выбор зависит от типа конкретного образа.

Прежде чем выбирать программу, определите, какой именно образ у вас в руках: boot.img, system.img, vendor.img, super.img или recovery.img устроены по-разному, и универсального «открывашки» не существует. Ниже разберём типы образов, рабочие инструменты и порядок действий для каждого случая.

Какие бывают IMG-образы Android и почему это важно

Расширение .img у файлов прошивки — лишь условность. Внутри может быть файловая система ext4, «разреженный» (sparse) формат Android sparse image, образ erofs или контейнер с заголовком Android boot image, содержащий ядро и ramdisk. Программа, подходящая для одного типа, с другим либо выдаст ошибку, либо молча создаст битый файл.

Быстрая диагностика: откройте образ в любом HEX-редакторе или выполните в Linux команду file имя_файла.img. По первым байтам обычно видно тип:

  • 🔧 Сигнатура ANDROID! в начале — это boot/recovery/vendor_boot образ, распаковывается через Android Image Kitchen или unpackbootimg;
  • 📦 Значение 3A FF 26 ED (магическое число sparse) — «разреженный» образ, сначала конвертируется через simg2img;
  • 💾 Суперблок ext4 (смещение 0x438, байты 53 EF) — «сырой» образ, монтируется напрямую;
  • 🧩 Заголовок EROFS — сжатая файловая система, нужен инструмент fsck.erofs или extract.erofs.

Распаковка sparse-образов: simg2img

Заводские прошивки для fastboot чаще всего содержат system.img и vendor.img в формате Android sparse — так Google сокращает размер файлов, вырезая пустые блоки. Утилита simg2img входит в исходники AOSP и доступна в составе готовых сборок для Linux, а также в некоторых Windows-пакетах вроде Android Image Tool.

Порядок действий прост: поместите утилиту и образ в одну папку и выполните конвертацию в «сырой» образ.

simg2img system.img system_raw.img

На выходе получится образ ext4 полного размера — он может оказаться заметно больше исходного, убедитесь, что на диске достаточно места. Дальше system_raw.img монтируется в Linux командой sudo mount -o loop system_raw.img /mnt либо распаковывается инструментом ext4_unpacker под Windows.

⚠️ Внимание: если после конвертации образ не монтируется и не распаковывается, возможно, исходный файл был не sparse, а уже сырым — тогда simg2img выдаст ошибку «bad magic». Это нормально: пропустите этап конвертации и работайте с исходником напрямую.

Распаковка boot.img и recovery.img

Образы boot.img, recovery.img и vendor_boot.img — не файловые системы, а контейнеры с ядром, ramdisk и служебными заголовками. Их распаковывает Android Image Kitchen — набор скриптов, существующий в версиях для Windows и Linux. Достаточно перетащить файл на скрипт unpackimg (или запустить его из командной строки), и в рабочей папке появятся каталоги ramdisk и split_img с ядром и параметрами образа.

Альтернатива — утилита unpackbootimg из дерева исходников Android либо Magisk, который тоже умеет разбирать и пересобирать boot-образы (именно так работает его патчинг). Собранные обратно образы прошиваются через fastboot flash boot boot_new.img.

  • 🧰 Android Image Kitchen — распаковка и пересборка boot/recovery с сохранением параметров;
  • ⚙️ unpackbootimg / mkbootimg — классическая пара для ручной работы;
  • 🩹 Magisk — патчит boot.img и сохраняет результат, удобен для получения root.

Распаковка super.img и динамических разделов

На устройствах с динамическими разделами вместо отдельных system.img и vendor.img прошивка содержит один большой super.img. Это контейнер формата lpdump/lpunpack: внутри него лежат логические разделы system, vendor, product и другие.

Сначала super.img при необходимости конвертируется из sparse через simg2img, затем разбирается утилитой lpunpack:

simg2img super.img super_raw.img

lpunpack super_raw.img ./output

В папке output появятся отдельные образы разделов, с которыми дальше работают описанными выше способами. Утилита lpunpack собирается из исходников AOSP, но готовые бинарники встречаются в составе популярных наборов инструментов для прошивки.

📊 Какой IMG-образ вы чаще всего распаковываете?
system.img
boot.img
super.img
recovery.img

Сравнение инструментов

Чтобы не подбирать программу методом проб и ошибок, сверьтесь с таблицей соответствия инструмента и типа образа.

ИнструментТип образаПлатформаНазначение
simg2imgsparse (system, super)Linux, Windows (порты)Конвертация в сырой ext4
ext4_unpackerraw ext4WindowsИзвлечение файлов из образа
Android Image Kitchenboot, recovery, vendor_bootWindows, LinuxРаспаковка и пересборка
lpunpacksuper.imgLinux, Windows (порты)Извлечение логических разделов
extract.erofsEROFS-образыLinuxРаспаковка сжатых ФС

Обратите внимание: архиваторы вроде 7-Zip и WinRAR корректно не открывают образы Android — иногда они частично «видят» ext4-разделы, но извлечённые таким способом файлы могут терять права доступа и симлинки, что критично для системных разделов.

Пошаговая инструкция: распаковка system.img на Windows

Типовой сценарий для пользователя Windows с заводской прошивкой выглядит так. Скачайте пакет инструментов, включающий simg2img и ext4_unpacker (либо Android Image Tool), положите рядом образ и выполните конвертацию, если образ sparse. Затем откройте полученный файл в ext4_unpacker и извлеките содержимое в отдельную папку.

☑️ Проверка перед распаковкой

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

Если ext4_unpacker сообщает об ошибке чтения — вероятные причины: образ оказался в формате erofs (тогда нужен extract.erofs под Linux или WSL), файл повреждён при скачивании, либо это не system-раздел, а что-то иное. Проверьте целостность архива прошивки и повторно идентифицируйте формат.

⚠️ Внимание: модифицированный и пересобранный образ может не прошиться или вызвать bootloop, особенно на устройствах с проверкой целостности (AVB/dm-verity). Перед прошивкой изменённых разделов изучите, как отключена или обходится верификация именно на вашей модели, — универсального способа нет.
Почему Linux удобнее для работы с образами

В Linux образы ext4 монтируются напрямую командой mount -o loop, утилиты simg2img, lpunpack и extract.erofs собираются из исходников AOSP без портов, а скрипты кухонь работают нативно. Под Windows часть задач решается через WSL — подсистему Linux, где доступны те же инструменты.

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

Самая частая проблема — ошибка bad magic или «invalid sparse format» при работе simg2img. Она означает, что файл не является sparse-образом: либо он уже в сыром виде, либо это boot-образ, либо файл повреждён. Проверьте заголовок и выберите другой инструмент.

Вторая типичная ситуация — распакованные файлы «не работают» после пересборки: устройство не загружается. Причина чаще всего в потере прав доступа и контекстов SELinux при распаковке на Windows-разделе NTFS, где эти атрибуты не сохраняются. Решение — работать в Linux/WSL и пересобирать образ с корректным файлом контекстов.

  • ❌ «Bad magic» — неверно определён тип образа, проверьте заголовок;
  • 🐢 Не монтируется после simg2img — возможно, формат erofs, а не ext4;
  • 🔁 Bootloop после пересборки — потеряны права/контексты SELinux или сработала проверка AVB;
  • 📉 Образ «пустой» после распаковки — файл был повреждён при скачивании, перекачайте прошивку.

FAQ: частые вопросы

Можно ли открыть IMG-образ Android архиватором 7-Zip?

Надёжно — нет. 7-Zip иногда частично отображает содержимое ext4-образов, но не сохраняет права доступа и символические ссылки, поэтому для системных разделов такой способ не подходит. Используйте ext4_unpacker, монтирование в Linux или профильные кухни.

Чем распаковать boot.img на Windows?

Самый простой вариант — Android Image Kitchen для Windows: перетащите файл на скрипт распаковки, и содержимое (ядро и ramdisk) появится в рабочих папках. Также boot-образ умеет разбирать Magisk при патчинге.

Что делать, если system.img не открывается ни одной программой?

Проверьте заголовок файла командой file в Linux/WSL или в HEX-редакторе. Возможно, это образ erofs (нужен extract.erofs), часть super.img (нужен lpunpack) или повреждённый файл — перекачайте прошивку из источника.

Можно ли распаковать IMG-образ прямо на смартфоне?

Теоретически — да, через Termux с установленными утилитами, но на практике это неудобно: образы занимают много места, а операции требуют root и достаточного объёма памяти. Рациональнее работать на ПК.

Чем пересобрать образ обратно после редактирования?

Для boot/recovery — тем же Android Image Kitchen или mkbootimg. Для system-разделов — make_ext4fs/mkfs.erofs с корректными контекстами SELinux, затем при необходимости img2simg для обратной конвертации в sparse. Пересборку безопаснее выполнять в Linux или WSL.