Android boot system data

Как снять дамп разделов system, kernel, data, zImage на Андроид

вкл. 30 Март 2015 . Опубликовано в Android — Общее

Как снять дамп разделов system, kernel, data, zImage на Андроид. Многие начинающие ромоделы Android или гики не знают как снять образ с Android. В данной статье подробно рассказано как узнать нужные вам /dev/block , как снять дампы с них, разобрать их или в последствие восстановиться.

Для тех кто не много не понял о чем речь. В данной статье будет подробно рассказано как снять текущее состояние с разделов Android — system, data, efs, preload, cache или выдрать ядро (zImage / boot.img). С какой целью расписываться здесь не будет , так как это уже другая история.

Необходимо для снятия образа

1. Скачайте и установите на ПК фирменную программу сайта ADB RUN (если в курсе, что такое adb или установлено Android SDK, то устанавливать не нужно)

2. Android смартфон или планшет должен быть c Root правами

Подробно о Root Android:

4. Установить драйвера если вдруг не установлены

5. MicroUSB кабель

Инструкция как снять образ с Андроид

1. Подключите устройство Android к ПК

2. Запустите программу ADB RUN и перейдите в меню (7) Manual Command > (1) Adb

Узнаем /dev/block разделов

Что такое /dev/block/? /dev/block/ — это «диски» на которых находятся разделы system, data, cache

Вариант 1

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

Для того чтобы узнать /dev/block/ вводим команду

Получаем список где видим список с нашими разделами и к каким /dev/block/ они примонтированы

Вариант 2

Данный способ более сложный, но за то вы точно будете знать абсолютно все ваши разделы!

Вначале лучше воспользоваться файловым менеджером Android с Root доступом например как:

После того как установили перейдите по пути

Далее вам нужно найти папку by-name, она находиться в одной из под папок в platform

Например для некоторых устройств Samsung это выглядит так:

Для устройств на Tegra 3:

Для устройств на Omap:

Для некоторых Mediatek:

Для некоторых устройств Sony:

После того как выяснили где находиться папка by-name в программу ADB RUN набираем команду

где xxxxxxxx — точный путь до папки by-name

[Обновление]

В новых версиях программы ADB RUN (с версии 3.4x.xx) узнать все разделы стало гораздо проще! Все что вам необходимо это:

  • запустить ADB RUN
  • Перейти в раздел Memory and Partitions -> Partitions /dev/block/
  • Попробовать один из методов узнать ваши блоки

Снятие образа Android с выбранного раздела

И так когда мы уже знаем где находятся какие разделы, можно приступать к снятию образа Android (дампа) с выбранного раздела. Перед тем как начать убедитесь что у вас достаточно много свободной памяти на карте памяти!

1. Для того чтобы снять образ необходимо в ADB RUN зайти в меню (7) Manual Command > (1) Adb

2. Залогиниться в терминале под Root -ом

3. Набрать команду для снятия дампа

где XXXXXXXXX — раздел с которого вы снимаете

где NAME_razdel.img — имя которое вы присвоите при снятие образа с выборного раздела (давать имена лучше также как они указаны, если data то data)

Процедура снятия может занять определенное время, от 1 минуты до 15, в это время лучше не дергать ваш Android!

[Обновление]

В новых версиях ADB RUN появилась возможность быстро снять образ каждый раз не набирая столь длинные команды. Все что вам нужно это знать имя блока.

Когда вы уже знаете необходимый блок перейдите в ADB RUN:

  • С главного меню в раздел Backup -> Backup dev/block
  • Выбираем Backup
  • Указываем последние данные с блока (данные после block/)
  • Ждем пока снимется образ (не трогать Android)

Восстановление раздела из созданного образа Android (дампа раздела)

Когда вам будет необходимо выполнить восстановление из ранее созданного образа, нужно сделать вот, что:

Убедитесь что образ все еще находиться в разделе /sdcard — так как бекап создавался именно в этот раздел, либо переместите его обратно.

Читайте также:  Андроид озвучивание времени отключить

Прописать следующую команду:

где XXXXXXXXX — раздел на которой вы заливаете образ

где NAME_razdel.img — имя образа выборного раздела (давать имена лучше также как они указаны, если data то data)

Процедура восстановления может занять определенное время, от 1 минуты до 15, в это время лучше не дергать ваш Android!

[Обновление]

Для устройств Sony, HTC, Xiaomi и других устройств на которых есть режим Fastboot

могут выполнить восстановление следующим образом после ранее обязательного снятия boot.img (zImage) и system.img (factoryfs.img) обязательно скопируйте данные файлы на ПК:

1. Переведите Android в режим fastboot (bootloader) и подключить к ПК

2. Файлы boot.img и system.img переместить в папку C:/adb/progbin

3. Запустить ADB RUN и перейти в пункт Manual -> ADB

4. Набрать следующие команды (подробно о Fastboot)

Система будет восстановлена в исходное состояние! Можете продолжать эксперименты!

Источник

Снять образ с Android (снять дамп разделов system, kernel, data, zImage)

Многие начинающие ромоделы Android или гики не знают как снять образ с Android. В данной статье подробно рассказано как узнать нужные вам /dev/block, как снять дампы с них, разобрать их или в последствие восстановиться.

Для тех кто ничего не понял о чем речь. В данной статье будет подробно рассказано как снять текущее состояние с разделов Android — system, data, efs, preload, cache или выдрать ядро (zImage / boot.img). С какой целью расписываться здесь не будет, так как это уже другая история.

Необходимо для снятия образа

  1. Скачайте и установите на ПК фирменную программу сайта ADB RUN (если в курсе, что такое adb или установлено Android SDK, то устанавливать не нужно);
  2. Android смартфон или планшет должен быть c Root правами Подробно о Root Android:
    • Что такое Root?
    • Как получить Root?
  3. Активировать Отладка по USB;
  4. Установить драйвера если вдруг не установлены;
  5. USB кабель.

Инструкция как снять образ с Android

  1. Подключите устройство Android к ПК
  2. Запустите программу ADB RUN и перейдите в меню (a) Adb

Узнаем /dev/block разделов

Что такое /dev/block/? /dev/block/ — это «диски» на которых находятся разделы system, data, cache.

Вариант 1

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

Для того чтобы узнать /dev/block/ вводим команду:

adb shell mount

Получаем список, где видим список с нашими разделами и к каким /dev/block/ они примонтированы

Вариант 2

Подключаем Android к компьютеру в adb вводим:

Получаем весь список блоков.

Снятие образа Android с выбранного раздела

И так когда мы уже знаем где находятся какие разделы, можно приступать к снятию образа Android (дампа) с выбранного раздела. Перед тем как начать убедитесь что у вас достаточно много свободной памяти на карте памяти!

  1. Для того чтобы снять образ необходимо в ADB RUN зайти в меню (7) Manual Command > (1) Adb
  2. Залогиниться в терминале под Root -ом:

3. Набрать linux команду для снятия дампа:

dd if=/dev/block/XXXXX of=/sdcard/NAME_razdel.img

  • где XXXXXXXXX— раздел с которого вы снимаете
  • где NAME_razdel.img — имя которое вы присвоите при снятии образа с выборного раздела (давать имена лучше также как они указаны, если data то data)

Процедура снятия может занять определенное время, от 1 минуты до 15, в это время лучше не дергать ваш Android!

[Обновление]

В новых версиях ADB RUN появилась возможность быстро снять образ каждый раз не набирая столь длинные команды. Все что вам нужно это знать имя блока.

Когда вы уже знаете необходимый блок, перейдите в ADB RUN:

  • С главного меню в раздел Backup -> Backup dev/block
  • Выбираем Backup
  • Указываем последние данные с блока (данные после block/)
  • Ждем пока снимется образ (не трогать Android)

Восстановление раздела из созданного образа Android (дампа раздела)

Когда вам будет необходимо выполнить восстановление из ранее созданного образа, нужно сделать вот, что:

Убедитесь что образ все еще находиться в разделе /sdcard — так как бекап создавался именно в этот раздел, либо переместите его обратно.

Прописать следующую команду:

dd if=/sdcard/NAME_razdel.img of=/dev/block/XXXX

  • где XXXXXXXXX— раздел на которой вы заливаете образ
  • где NAME_razdel.img — имя образа выборного раздела (давать имена лучше также как они указаны, если data то data)

Процедура восстановления может занять определенное время, от 1 минуты до 30 в это время лучше не дергать ваш Android!

[Обновление]

Особенно актуально для тех кто не удачно выполнил S-OFF (или планирует выполнить) или неудачно прошил кастомную прошивку, либо после не удачных экспериментов!

Для устройств Sony, HTC, Xiaomi и других устройств на которых есть режим Fastboot могут выполнить восстановление следующим образом после ранее обязательного снятия boot.img (zImage) и system.img (factoryfs.img) скопируйте данные образы на ПК:

  1. Переведите Android в режим fastboot (bootloader) и подключить к ПК;
  2. Файлы boot.img и system.img переместить в папку C:/adb_run/bin;
  3. Запустить ADB RUN и перейти в пункт (a) ADB;
  4. Набрать следующие команды (подробно о Fastboot):
Читайте также:  Андроид файл трансфер для самсунг

fastboot flash boot boot.img

fastboot flash system system.img

Система будет восстановлена в исходное состояние! Можете продолжать эксперименты!

На этом все! Подписывайтесь и Оставайтесь с сайтом Android +1! Удачи!

Источник

Разделы внутренней памяти ROM Android — проясним наболевшее о разметке системной памяти

На просторах Рунета сложно найти конструктивную и грамотно-поданную информацию об устройстве операционной системы Android. В большинстве своем, информация имеет раздробленный и неполных характер, отсутствует вводная часть с базовыми понятиями, что делает ее трудной для восприятия и понимания новичкам. При отсутствии базовых знаний устройства и алгоритма работы операционной системы Android невозможно производить отладку или кастомизацию прошивок, заниматься разработкой под ОС Android. Именно это и натолкнуло меня на написание данной статьи, в которой я попытаюсь, обычным и понятным языком, донести «сложные» вещи.

Материал направлен, в первую очередь, на изучение обычными пользователями и представлен в качестве вводного экскурса в мир операционных систем Android. Поэтому здесь будет представлена сжатая и поверхностная информация без технических углублений и нюансов. Данный материал будет полезен всем, кто занимается перепрошивкой и кастомизацией прошивок, разработкой под ОС Android, ремонтом мобильных компьютерных систем и обычному пользователю, для лучшего понимания принципов работы и возможностей своего Android’а.

Разделы внутренней памяти Android

Внутренняя память устройства на андроиде разбита на несколько логических дисков (разделов). Приведем классическую разметку памяти:

Bootloader – здесь находится программа (загрузчик), позволяющая запускать операционную систему Android, Recovery и другие сервисные режимы.

Recovery – как видно из названия, тут установлено инженерное меню восстановления или просто Рекавери.

Boot – сердце Андроид ОС, тут находится ядро, драйвера и настройки управления процессором и памятью.

System – системный раздел, в котором находятся все, необходимые для работы Android ОС, файлы, это как папка Windows на вашем диске С:\ (здесь и далее будev проводить ассоциацию с ОС Windows)

Data – раздел для установки приложений и хранения их данных. (Program files)

User – это всем известная sdcard или, проще говоря, место под пользовательские файлы (Мои документы).Здесь мы вынуждены сделать отступление, т.к. размещение данного раздела имеет несколько вариантов:

  • Раздел отсутствует во внутренней памяти, а вместо него используется внешний накопитель — самый популярный вариант. (рис.1)
  • В устройствах со встроенной памятью большого размера, данный раздел видится как sdcard, а внешняя карта памяти видится как sdcard2 или extsd (могут быть и другие варианты названия). Обычно, встречается на устройствах с Android 3.2. (Рис.2 Вариант 1)
  • Данный вариант пришел на смену предыдущему варианту, вместе с Андроид 4.0. Раздел User заменили папкой media на разделе Data, что позволило использовать всю доступную пользователю память для установки программ и хранения данных, а не то количество, что выделил нам производитель. Иными словами sdcard и data являются одним целым. (Рис.2 Вариант 2)

Bootloader, Recovery, adb и fastboot

Теперь, когда мы знаем, что и где находится, давайте разберемся для чего оно там и как эта информация может быть нам полезна.

Начнем с Bootloader. Это загрузчик, который запускает Андроид, рекавери и т.п. Когда мы нажимаем кнопку включения, запускается загрузчик и, если нет дополнительных команд (зажатых клавиш), запускает загрузку boot. Если же была зажата комбинация клавиш (у каждого устройства она своя) то запускает, в зависимости от команды, recovery, fastboot или apx. На рисунке ниже наглядно показано, что запускает Bootloader и как взаимосвязаны разделы.

Как видно из рисунка №3, раздел Recovery не влияет на загрузку Андроид ОС, но зачем же он тогда нужен? Давайте попробуем разобраться.

Recovery (рекавери) по сути является маленькой утилитой на ядре Linux и загружается не зависимо от Андроид. Его штатный функционал не богат: можно сбросить аппарат до заводских настроек или же обновить прошивку(заранее скачанную на sdcard). Но, благодаря народным умельцам, у нас есть модифицированные рекавери, через которые можно устанавливать модифицированные (кастомные) прошивки, настраивать андроид, создавать резервные копии и многое другое. Наличие или отсутствие рекавери, а также его версия не влияют на работоспособность Андроид ОС (очень частый вопрос на форумах).

Особо внимательные читатели могли заметить на Рис.3 некий Fastboot. Это интерфейс для работы напрямую с разделами внутренней памяти, при помощи командной строки. Через него можно прошить рекавери, ядро или новую версию прошивки, или же форматировать (удалить всю информацию) тот или иной раздел.

Раз уж зашла речь об интерфейсах, хочу рассказать о еще одном, довольно известном,- adb (android debugbridge). Это, так называемый, режим отладки и назван он так неспроста – через него можно отслеживать работу, как системы в целом, так и отдельных приложений. Но это еще не все, при помощи adb можно получить полный доступ к файловой системе устройства и изменять системные файлы или же вытянуть важную информацию, когда ваш девайс завис на загрузке. Все функции режима отладки описывать не буду т.к. моя цель донести общую информацию, а не подробный обзор о функциях того или иного режима.

Читайте также:  Tablets run by android

Архитектура файлов и папок системы ОС Android

Разобравшись с теорией, давайте запустим Андроид ОС.

Нажимаем кнопку питания — запускается Bootloader, который загружает Ядро (boot), оно, в свою очередь, запускает систему (System), ну, а она уже подгружает программы (data) и пользовательское пространство (user). (Рис.3)

А теперь перейдем в корневой каталог и посмотрим на внутренности самой Android OS:

В этой схеме мы привели, только необходимые для ознакомления, директории. На самом деле их гораздо больше и на обзор только одной папки System понадобится целая статья.

И так, папка data. Как можно догадаться из названия, она как-то связана с данными, но с какими? Да практически со всеми, это и данные о синхронизации и аккаунтах, пароли к точкам доступа wifi и настройки vpn, и так далее. Среди всего прочего тут можно обнаружить папки app, data и dalvik-cache – рассмотрим их назначение:

  • app – сюда устанавливаются программы и игры.
  • data – здесь хранятся данные приложений, их настройки, сэйвы игр и прочая информация.
  • dalvik-cache — программная область кэш-памяти для программы Dalvik. Dalvik это Java-виртуальная машина, которая является основой для работы программ, имеющих *.apk расширение.
  • Для того, чтобы сделать запуск программ быстрее — создается их кэш.

Папка System хранит в себе системные данные и все необходимое для работы ОС. Давайте рассмотрим некоторые из этих папок:

  • app – здесь находятся системные приложения (смс, телефон, календарь, настройки и т.п.), а так же приложения установленные производителем устройства (фирменные виджеты, живые обои и т.д.).
  • fonts – системные шрифты
  • media – содержит стандартные мелодии звонков, уведомлений, будильников и звуков интерфейса, а так же загрузочную анимацию (bootanimation)
  • build.prop – Этот файл упоминается, чуть ли не первым, в разговорах и статьях о тонкой настройке системы. В нем содержится огромное количество настроек, таких как плотность экрана, время задержки сенсора приближения, управление wifi, имя и производитель устройства и многие другие параметры.

Права суперпользователя Root в ОС Android

Как и в любой Linux-подобной системе, в операционной системе Android доступ к системным файлам и директориям осуществляется при наличии прав суперпользователя Root. В даном разделе мы решили рассмотреть принцип работы прав суперпользователя ОС Android, возможность редактирования системных файлов или логических разделов файлового пространства при наличии прав суперпользователя Root.

— Знать что в какой папке это хорошо, но можно ли что-то с этим сделать?

— Да! Но нужны права суперпользователя (root) или, если проводить аналогию с Windows, права Администратора. Изначально все устройства на Андроид идут без root прав для конечного пользователя, т.е. покупая девайс, мы не являемся в нем полноценными хозяевами. Это сделано как для защиты от вредоносных программ, так и от самого пользователя – ведь, в неумелых руках, полный доступ к системе может привести к «смерти» операционной системы и последующей необходимости в перепрошивке устройства.

«Ну и в чем польза такой опасной штуки?» — спросите Вы.

  • Возможность делать резервные копии данных и восстанавливать их после прошивки или случайного удаления.
  • Тонкая настройка системы вручную или при помощи специальных программ.
  • Удаление системных приложений, мелодий, обоев и т.п.
  • Изменение внешнего вида ОС (например, отображение заряда батареи в процентах)
  • Добавление функционала (поддержка ad-hoc сетей, к примеру)

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

— Это все здорово, но теперь любая программа сможет получить доступ к «сердцу» операционки и моим данным?

— Нет. Вы сами решаете разрешить, тому или иному приложению, получить root доступ, или нет. Для этого существует программа Superuser или ее продвинутая сестра SuperSU. Без этой или подобной программы воспользоваться root не возможно.

Как видите, Андроид не такая уж и сложная операционная система для понимания пользователя. Если вы ранее имели опыт работы с Linux-подобными операционными системами, вы найдете много схожего с Android системами и это сходство обосновано. Android система является производной и построенной на базе ядра Linux. Надеюсь, после прочтения статьи, вы узнали что-то новое или получили ответ на давно интересовавший вопрос.

Источник

Оцените статью