Образ 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 — образ готов к монтированию.
Инструменты для распаковки на Windows и Linux
На Linux работать с образами удобнее: там есть нативная поддержка ext4 и большинство утилит изначально написаны под эту систему. На Windows потребуются либо портированные версии инструментов, либо подсистема WSL (Windows Subsystem for Linux).
| Инструмент | Назначение | Платформа |
|---|---|---|
| simg2img | Конвертация sparse-образа в raw ext4 | Linux, Windows (порт) |
| ext4_unpacker / DiskInternals Linux Reader | Просмотр и извлечение файлов из ext4 | Windows |
| 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
На 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 для смартфона?
Да, само извлечение файлов происходит на компьютере и никак не затрагивает устройство. Риск возникает только при прошивке изменённого образа обратно — для этого нужен разблокированный загрузчик и резервная копия.