Файл 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, но готовые бинарники встречаются в составе популярных наборов инструментов для прошивки.
Сравнение инструментов
Чтобы не подбирать программу методом проб и ошибок, сверьтесь с таблицей соответствия инструмента и типа образа.
| Инструмент | Тип образа | Платформа | Назначение |
|---|---|---|---|
| simg2img | sparse (system, super) | Linux, Windows (порты) | Конвертация в сырой ext4 |
| ext4_unpacker | raw ext4 | Windows | Извлечение файлов из образа |
| Android Image Kitchen | boot, recovery, vendor_boot | Windows, Linux | Распаковка и пересборка |
| lpunpack | super.img | Linux, Windows (порты) | Извлечение логических разделов |
| extract.erofs | EROFS-образы | Linux | Распаковка сжатых ФС |
Обратите внимание: архиваторы вроде 7-Zip и WinRAR корректно не открывают образы Android — иногда они частично «видят» ext4-разделы, но извлечённые таким способом файлы могут терять права доступа и симлинки, что критично для системных разделов.
Пошаговая инструкция: распаковка system.img на Windows
Типовой сценарий для пользователя Windows с заводской прошивкой выглядит так. Скачайте пакет инструментов, включающий simg2img и ext4_unpacker (либо Android Image Tool), положите рядом образ и выполните конвертацию, если образ sparse. Затем откройте полученный файл в ext4_unpacker и извлеките содержимое в отдельную папку.
☑️ Проверка перед распаковкой
Если 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.