System img распаковка: полное руководство по извлечению образа раздела Android

Образ system.img, скачанный вместе с заводской прошивкой, не открывается обычным архиватором — попытка распаковать его через 7-Zip либо выдаёт ошибку, либо показывает пустую структуру, потому что это файловая система ext4 или sparse-образ Android, а не ZIP-архив. Чтобы извлечь из него системные приложения, файлы конфигурации или библиотеки, образ сначала нужно преобразовать в читаемый формат, а затем смонтировать или распаковать специализированной утилитой.

В этой статье разберём, какие форматы бывают у system.img, чем отличается разреженный образ от «сырого», какие инструменты применяются на Windows и Linux, и как действовать, если прошивка упакована в payload.bin или файл формата .dat. Инструкция подходит для извлечения файлов без прошивки устройства — то есть без риска для смартфона.

Что такое system.img и зачем его распаковывать

Файл system.img — это образ системного раздела Android-устройства. В нём хранятся предустановленные приложения, системные библиотеки, шрифты, конфигурации и сама оболочка операционной системы. Производители распространяют этот файл в составе заводских прошивок для восстановления устройства через fastboot или фирменные утилиты.

Распаковка нужна в нескольких ситуациях: разработчики извлекают системные APK для анализа, энтузиасты вытаскивают шрифты, обои или приложения из чужих прошивок, а исследователи безопасности изучают содержимое раздела. Ещё одна частая задача — модификация прошивки: файлы извлекают, изменяют и собирают образ обратно.

Форматы образов: sparse, raw, ext4 и payload.bin

Прежде чем распаковывать, определите формат файла — от этого зависит выбор инструмента. Производители используют несколько вариантов упаковки, и универсального способа «открыть всё» не существует.

  • 📦 Sparse image (разреженный образ) — сжатый формат Android, в котором пустые блоки не занимают место. Распознаётся по характерному заголовку; конвертируется утилитой simg2img.
  • 💾 Raw ext4 — «сырой» образ файловой системы, который можно напрямую смонтировать в Linux или открыть программами чтения ext4.
  • 🗜️ payload.bin — контейнер обновлений OTA-формата, встречается в прошивках Google Pixel, устройств на чипах Qualcomm и ряде других. Распаковывается специальными скриптами.
  • 📄 system.new.dat / system.new.dat.br — блочный формат обновлений, требует конвертации через brotli и скрипты sdat2img.

Быстрая проверка формата: откройте файл в hex-редакторе или выполните в Linux команду file system.img. Если в выводе упоминается Android sparse image — перед монтированием потребуется конвертация. Если ext4 filesystem — образ готов к монтированию.

📊 С каким форматом system.img вы столкнулись?
Sparse (simg2img)
Raw ext4
payload.bin
system.new.dat.br

Инструменты для распаковки на Windows и Linux

На Linux работать с образами удобнее: там есть нативная поддержка ext4 и большинство утилит изначально написаны под эту систему. На Windows потребуются либо портированные версии инструментов, либо подсистема WSL (Windows Subsystem for Linux).

ИнструментНазначениеПлатформа
simg2imgКонвертация sparse-образа в raw ext4Linux, Windows (порт)
ext4_unpacker / DiskInternals Linux ReaderПросмотр и извлечение файлов из ext4Windows
mount (loop)Монтирование raw-образа как дискаLinux
payload-dumper-goРаспаковка payload.bin из OTA-прошивокWindows, Linux
sdat2img + brotliКонвертация system.new.dat(.br) в образWindows, Linux

Обратите внимание: точные названия и доступность утилит могут меняться, поэтому скачивайте их только из официальных репозиториев или проверенных источников вроде GitHub-страниц проектов. Сторонние «сборники» иногда содержат вредоносный код.

Пошаговая распаковка sparse-образа через simg2img

Самый распространённый сценарий — конвертация разреженного образа в ext4 и его последующее монтирование. В Linux последовательность выглядит так:

simg2img system.img system_raw.img

mkdir system_mount

sudo mount -o loop,ro system_raw.img system_mount

После выполнения этих команд содержимое раздела появится в каталоге system_mount в режиме только для чтения (флаг ro защищает исходный образ от случайных изменений). Отсюда файлы можно копировать обычным способом.

☑️ Чек-лист перед распаковкой system.img

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

На Windows без WSL можно использовать портированный simg2img.exe из командной строки, а затем открыть полученный raw-образ в программе с поддержкой ext4, например DiskInternals Linux Reader. Такие программы позволяют просматривать файловую систему и копировать файлы без монтирования.

⚠️ Внимание: распакованный raw-образ может занимать заметно больше места, чем исходный sparse-файл, потому что сжатые пустые блоки «разворачиваются» в полный размер раздела. Перед началом проверьте свободное место на диске.

Распаковка payload.bin и файлов .dat.br

Если в скачанной прошивке вместо готового system.img лежит файл payload.bin, сначала нужно извлечь образы из этого контейнера. Для этого применяются утилиты семейства payload-dumper, которые распаковывают все разделы прошивки в указанную папку:

payload-dumper-go -o extracted payload.bin

В результате в папке extracted появятся system.img, vendor.img и другие разделы, с которыми дальше работают описанным выше способом. Учтите, что извлечение занимает время, а суммарный объём распакованных разделов может быть значительным.

Для прошивок с файлами system.new.dat.br порядок другой: сначала файл декомпрессируется утилитой brotli в system.new.dat, затем скрипт sdat2img с помощью прилагающегося файла system.transfer.list собирает из него образ. Оба шага выполняются из командной строки.

Зачем нужен файл system.transfer.list

Это служебный файл, в котором описан порядок блоков данных внутри system.new.dat. Без него скрипт sdat2img не сможет правильно собрать образ, поэтому transfer.list всегда распространяется вместе с .dat-файлом в одном архиве прошивки.

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

Чаще всего распаковка прерывается сообщением bad magic или подобным — это означает, что утилита не распознала формат. Возможная причина: файл не является sparse-образом (например, это уже raw ext4), либо образ зашифрован производителем. Проверьте тип файла командой file и попробуйте смонтировать его напрямую.

Вторая частая проблема — ошибка монтирования wrong fs type в Linux. Она возникает, если образ имеет нестандартные параметры файловой системы или повреждён. Попробуйте добавить опции монтирования или проверить целостность файла по контрольной сумме, если она указана на странице загрузки прошивки.

⚠️ Внимание: некоторые производители шифруют или подписывают образы разделов, и такие файлы невозможно распаковать стандартными утилитами — simg2img выдаст ошибку формата. В этом случае ищите альтернативную версию прошивки (например, fastboot-пакет вместо OTA) или специализированные решения под конкретного вендора.

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

Можно ли изменить файлы и собрать образ обратно

Да, это стандартная практика при создании кастомных прошивок. После редактирования файлов raw-образ отмонтируется командой umount, а затем при необходимости конвертируется обратно в sparse-формат утилитой img2simg:

sudo umount system_mount

img2simg system_raw.img system_new.img

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

⚠️ Внимание: прошивка модифицированного system.img на устройство — необратимая операция с риском получить незагружающийся смартфон. Извлечение файлов для чтения безопасно, а вот запись изменённого раздела выполняйте только при наличии полной резервной копии и проверенной инструкции именно для вашей модели.

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

Чем открыть system.img без Linux?

На Windows установите WSL и выполняйте команды simg2img внутри него, либо используйте портированные Windows-версии утилит и программы чтения ext4, например DiskInternals Linux Reader. Полноценной графической программы «открыть одним кликом» для sparse-образов не существует.

Почему 7-Zip или WinRAR не открывают system.img?

Потому что это образ файловой системы ext4 или разреженный формат Android, а не архив. Архиваторы работают с ZIP, RAR и подобными контейнерами, поэтому образ сначала нужно конвертировать и смонтировать.

Что делать, если simg2img выдаёт ошибку bad magic?

Это значит, что файл не является sparse-образом. Проверьте его тип командой file system.img: возможно, это уже raw ext4 (тогда монтируйте напрямую), либо образ зашифрован производителем — тогда стандартные утилиты не помогут.

Как извлечь system.img из прошивки, где лежит только payload.bin?

Используйте утилиту семейства payload-dumper: она распакует все разделы из контейнера в указанную папку, после чего с полученным system.img работают обычным способом через simg2img и монтирование.

Безопасна ли распаковка system.img для смартфона?

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