Настройка Wi-Fi

Копирование прошивки android. Как сделать резервную копию некоторых приложений

Копирование прошивки android. Как сделать резервную копию некоторых приложений

После того как мы скачали все необходимое, можно, например, создать в корне какого-нибудь папку Android и разложить распакованное содержимое архивов по папкам, т.е. драйвера в папку Drivers, Platform Tools в отдельную папку, SP Flash Tool в отдельную, MTK Droid Tools тоже в отдельную.

Далее включаем на своем устройстве Режим разработчика и активируем отладку по USB. Т.е. сначала заходим в Настройки -> О телефоне (Об устройстве) и кликаем несколько раз (5-7) по надписи «Номер сборки», до появления сообщения о том что Режим разработчика активирован. Далее переходим в меню Настройки -> Для разработчиков и ставим галочку на «Отладка по USB»:

После этого подключаем устройство к ПК и устанавливаем драйвера ADB (т.е. либо запустив AdbDriverInstaller.exe из архива, либо открыв диспетчер устройств и указав вручную путь к драйверам в папке Android ADB driver x64 для неизвестного устройства). В результате должно получиться так (Диспетчер устройств):

Устройство Android ADB Interface в диспетчере устройств подтверждает что у нас все готово к следующему шагу.

Ждем пока устройство определится в нем и нажимаем кнопку «Карта блоков»:

После чего нажимаем кнопку «Создать scatter файл» и сохраняем получившийся файл (у меня он назывался MT6582_Android_scatter.txt) на диск. На этом этап подготовки закончен и можно приступать непосредственно к чтению данных.

Открываем получившийся файл в Notepad++ или Word (обратите внимание, обычный блокнот не подойдет) и находим в нем строчку partition_name: CACHE:

И запоминаем то, что у вас написано в графе linear_start_addr, в данном случае это — 0x3E900000.

Отключаем телефон от ПК и выключаем его, т.е. держим кнопку выключения питания и выбираем в меню «Отключение питания», также можно отсоединить и вставить батарею. Далее запускаем SP Flash Tool и переходим в нем на закладку Readback. Далее нажимаем кнопку Add. В результате в таблице появится одна строка:

Кликаем по ней, у нас появляется запрос выбора места сохранения файла ROM_0, выбираем папку, в которую мы его хотим сохранить и на следующем экране в поле Length вводим запомненное нами ранее число (linear_start_addr):

В итоге должно получиться что-то вроде этого:

После чего подключаем выключенный телефон (!) к ПК. В этот момент желательно открыть диспетчер устройств. Пока никакие кнопки в SP Flash Tool на этом экране не нажимаем!

В момент подключения у вас определится неизвестное устройство MT65xx PreLoader и ОС предложит вам установить драйвера на него. На картинке ниже это наглядно показано. Лучше сразу перед подключением телефона открыть диспетчер устройств, чтобы «отловить» момент появления MT65xx PreLoader. Если устройство появится, а ОС не предложит автоматически установить драйвера, то это надо сделать вручную, кликнув правой кнопкой мыши на устройстве MT65xx PreLoader.

Выбираем «Выполнить поиск драйверов на этом компьютере» и указываем папку в которой находится распакованное содержимое архива mtk_xp_vista_7_8_x32_x64.zip (т.е. к этому моменту вы должны распаковать архив куда-нибудь). После того как драйвера успешно установятся, картинка в диспетчере устройств должна поменяться на такую:

Если драйвера установились — можно переходить к следующему шагу. Обратите внимание, что при подключении телефона Preloader USB VCOM Port может появляться всего на несколько секунд — это нормально, наша задача на этом этапе установить драйвера телефона, чтобы он определялся именно как Preloader USB VCOM Port, а не неизвестное устройство MT65xx PreLoader. Если вы вдруг не успели установить драйвера, а телефон включился — вытаскиваем батарею, отсоединяем телефон, вставляем батарею, подключаем телефон и повторяем процедуру.

Как только мы убедились что драйвера у нас установлены — отсоединяем телефон от ПК. Выключаем его, в открытом у нас SP Flash Tool нажимаем кнопку Readback и подключаем выключенный телефон к ПК. После этого у нас пойдет процесс считывания прошивки из телефона:

Многие пишут о затруднениях возникающих именно на этом шаге. Попробую объяснить чуть подробнее. После того как вы нажимаете кнопку Readback — SP Flash Tool переходит в режим ожидания подключения телефона, т.е. подразумевается что до этого вы успели отловить момент когда выключенный телефон у вас определяется как MT65xx PreLoader и установить на него драйвера, чтобы в COM-портах у вас появился Preloader USB VCOM Port. Если вдруг по каким-то причинам SP Flash Tool написал об ошибке, или телефон не успел подключиться — может помочь следующая методика (все описанное справедливо только если вы корректно установили драйвера и при подключении телефона у вас появляется именно Preloader USB VCOM Port): отключаем телефон от ПК, вынимаем батарею, нажимаем кнопку Readback, подключаем телефон с вытащенной батареей. В SP Flash Tool пойдет красная полоска (Download), за это время быстро вставляем батарею назад, если мы успели, то пойдет синяя полоска Readback с процентами, как на картинке:

Ждем пока процесс завершится. Создание backup’а может занимать 10-15 минут. Просто смотрим на бегущие проценты и ничего не трогаем 😉 По окончании процедуры чтения у вас появится надпись Readback Ok:

Пока у нас делается Backup самое время пояснить что же такое scatter файл и что представляет собой файл ROM_0, который мы получим на выходе. Память телефона — это обычная EMMC Flash, которая разбита на определенные разделы. Scatter файл это и есть файл описания разделов (так, например в Scatter’е есть разделы PRELOADER, RECOVERY, LOGO, ANDROID и т.п.). Назначение разделов различно, так, например в Recovery — содержится образ recovery, в logo — логотип, использующийся при загрузке системы, в Android — образ system и т.п. Файл ROM_0, который мы получаем на выходе по сути представляет собой сплошной дамп EMMC Flash в одном файле. Но чтобы воспользоваться полученным backup’ом прошивки, например, для восстановления другого аналогичного аппарата — нам еще будет необходимо разбить его на разделы. Здесь я опишу несколько способов как это сделать. Первый и самый распространенный — через MTK Droid Tools. Допустим у нас уже есть файл ROM_0 сделанный с помощью SP Flash Tool.

Включаем питание устройства (телефона) и даем ему загрузиться, после чего вновь запускаем MTK Droid Tools (режим отладки по USB на телефоне при этом, естественно, должен быть включен, а драйвера ADB установлены на ПК), переходим на закладку root, backup, recovery и нажимаем кнопку «Создать бэкап из ROM_ флэштула»:

Выбираем получившийся у нас на предыдущем шаге ROM_0 и в окне лога видим примерно следующее:

— Папка сохранения на компьютере: E:\Android\MtkDroidTools\backups\KINGSING_S1_141117_ForFlashtoolFromReadBack_150512-005322\
— scatter сохранен в файле:
E:\Work\Мегафон Login Plus\MtkDroidTools\backups\KINGSING_S1_141117_ForFlashtoolFromReadBack_150512-005322\MT6582_Android_scatter.txtкопирование завершено
— preloader.bin …скопировано … cut OK
— MBR …скопировано
— EBR1 …скопировано
— pro_info …скопировано
— nvram.bin …скопировано
— protect_f …скопировано
— protect_s …скопировано
— seccfg …скопировано
— uboot.bin …скопировано
— boot.img …скопировано

Ну и т.д. Теперь в папке сохранения, у меня это E:\Android\MtkDroidTools\backups\ у нас появляется папка с полным backup’ом нашей прошивки, разбитым на разделы (т.е. каждый раздел в отдельном файле):

На этом процесс создания Backup’а прошивки завершен. Если вы только хотели узнать как сделать backup прошивки с помощью SP Flash Tool и у вас все получилось, дальше можно не читать.

Для продвинутых

А что делать если MTK Droid Tools «не видит» телефон? Или же не получается создать scatter файл или разбить получившийся файл ROM_0 на разделы? Как получить карту разделов и есть ли возможность «разрезать» файл ROM_0 вручную? Такая возможность есть. Чтобы получить карту разделов на MTK 65xx нужно в консоли ADB дать команду — т.е. запустить в консоли adb shell и уже там набрать эту команду:

Если вдруг телефон по каким-то причинам не видится и через ADB (в этом случае я советую ознакомиться с мануалом по ADB, может быть проблема в VEN_ID устройства и его нужно просто прописать в %USERPROFILE%\.android\adb_usb.ini , то ту же самую команду можно дать и в самом телефоне, установив Terminal Emulator for Android из Google Play:

Как видите — результат точно такой же и linear_start_address раздела cache можно взять и отсюда. Да, к слову, в новых устройствах, например на базе MTK 6752, таких как Билайн Про, ZTE Q Lux и т.п. карту разделов можно получить с помощью cat /proc/partinfo. MTK Droid Tools с этими устройствами вообще не работает.

Методика получения адреса старта раздела cache, который нужен для получения ROM_0 с помощью SP Flash Tool у нас теперь есть. Также мы знаем адреса (смещения) и размеры каждого из разделов. Т.е. чтобы «порезать» ROM_0 на разделы — использовать MTK Droid Tools нам вовсе не обязательно. Это можно сделать «руками» в любом Hex-редакторе, поддерживающим функцию выделения и сохранения блока в файл (я пользуюсь консольным HIEW). Ну и в качестве примера давайте «вырежем» раздел с Recovery из получившегося ROM_0 файла.

Мы знаем (из scatter’а или из dumchar_info) его linear_start_addr: 0x4180000 и partition_size: 0x1000000. Открываем ROM_0 в HIEW и переходим на 0x4180000. Т.е. в консоли делаем hiew32 ROM_0, затем нажимаем F5 и вбиваем адрес начала раздела — 4180000:

Как вижно по 4180000 у нас находится сигнатура ANDROID!, что говорит нам о том, что мы на верном пути 😉 Адрес конца раздела вычисляется как linear_start_addr+partition_size-1 = 0x517FFFF в нашем случае. Нажимаем в HIEW * (звездочку на доп. клавиатуре) для начала выделения блока (если подвигать стрелками вверх / вниз / вправо / влево, то мы видим как блок начинает выделяться цветом) и либо спускаемся до 0x517FFFF, либо делаем это через F5:

И заканчиваем выделение блока, опять же через «серую» * (на доп. клавиатуре). После этого нажимаем F2 — Put block (сохранение блока в файл):

И раздел recovery у нас записан. Точно также можно вырезать из ROM_0 любой другой раздел. Как вы понимаете MTK Droid Tool при этом нам вообще не нужен.

Для упрощения процедуры можно также написать скрипт / программу, которая будет делать это автоматически для всех разделов, но у меня честно говоря не хватает времени на это, да и не так часто возникает эта задача, так что HIEW’а мне вполне хватает для этих целей.

p.s. На этом пока все … пост получился как «черновой вариант», т.к. писался на скорую руку, возможно позже я его дополню, если будут какие-то непонятные моменты. И конечно же, как всегда, буду раз вашим комментариям и вопросам …

p.p.s. Как меня успели немного поправить, в /proc/dumchar_info содержатся не linear_start_addr из scatter’а, а physical_start_addr. Т.е. в приведенном примере для раздела с recovery мы имеем:

linear_start_addr: 0x4180000
physical_start_addr: 0x2D80000
partition_size: 0x1000000

И в /proc/dumchar_info мы в графе StartAddr мы видим именно physical_start_addr. Но если мы взглянем на размер первого раздела (preloader), то становится понятно как перевести physical_start_addr в linear_start_addr, если к 0x2D80000 добавить 0x1400000 (это как раз размер preloader’а), то как раз получается 0x4180000.

Как гласит известная айтишная мудрость, сисадмины делятся на тех, кто не делает бэкапы, и тех, кто уже делает бэкапы. Думаю, каждому хоть раз после прошивки или сбоя приходилось настраивать телефон/планшет с нуля. А ведь делать это совсем не обязательно, если есть сохраненный бэкап. В данной статье мы рассмотрим разные виды бэкапа (резервной копии) содержимого Android-устройств на все случаи жизни.

Введение

Получив root на смартфоне, среднестатистический пользователь начинает экспериментировать с устройством и ставить различные модификации интерфейса, темы, шрифты, новые ядра, прошивки, радио и root-приложения. Как постоянный, давний и активный пользователь форумов 4PDA и XDA Developers, могу утверждать, что очень часто такие эксперименты заканчиваются вопросами с формулировками: «Телефон не загружается, что мне делать?»

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

Базовые функции бэкапа, которые удовлетворят большинство обычных пользователей, предлагает сама Google. В настройках телефона есть вкладка «Аккаунты», в которой можно расставить необходимые галочки. После перепрошивки или сброса устройства на заводские настройки или активации нового телефона Android сам восстановит контакты, историю и вкладки браузера Chrome, заметки Google Keep, фотографии, данные приложений, события календаря и так далее. В последних версиях Android можно восстановить рабочий стол со всеми ярлыками и автоматически поставить все установленные ранее приложения.

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

WARNING

Большинство описанных в статье приложений требуют root и BusyBox.

Бэкап приложений и их данных.

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

Titanium Backup

Мощнейшее средство бэкапа, восстановления, заморозки и удаления приложений вместе с их данными (включая системные и предустановленные производителем). Позволяет настроить автоматический бэкап по расписанию, не закрывая приложения, и переносить любое приложение на SD-карту. Можно хранить разные бэкапы одного приложения, сохранять СМС, ММС, историю звонков, закладки браузера, точки доступа Wi-Fi в форме XML-файла. Может синхронизировать все бэкапы в Dropbox, Box и Google Drive. С помощью этого приложения легко сделать любое пользовательское приложение системным, добавить шифрование, привязать приложение к маркету после восстановления (для дальнейших обновлений). Удобная функция - создание на основе бэкапа приложений и данных архива update.zip, который можно прошить из консоли восстановления, чтобы восстановить приложения и настройки.

Одно из наиболее полезных применений Titanium Backup - это перенос приложений и их настроек между устройствами. В качестве примера покажу, как заставить работать популярный мессенджер WhatsApp на планшете без сим-карты. При поиске программы в маркете на странице с описанием будет указано, что данная программа не поддерживается на твоем устройстве. Даже если скачать и установить APK, для активации программы необходим дозвон на устройство, чего планшет без симки (или LTE с тарифом без голосовых вызовов или выпиленным из прошивки дайлером) сделать не сможет.

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

На планшете запускаем Titanium и синхронизируем бэкапы с облаком. При этом скачивается только что сделанный бэкап с телефона. WhatsApp будет находиться в самом конце списка программ. Зачеркнутое название означает, что программа на планшете не установлена. Нажимаем на программу и во всплывающем меню выбираем «Восстановить». Все. Можно запускать WhatsApp.

Helium - App Sync and Backup

Главное отличие программы - возможность работать без наличия прав суперпользователя (приложение использует стандартный backup manager, доступный в любом Android начиная с версии 4.0. - Прим. ред.). При этом часть функций урезана и требуется приложение-компаньон на компе. Программа позволит сделать бэкап пользовательского словаря, сообщений и журналов звонков, точек доступа Wi-Fi. Системные приложения нельзя бэкапить, даже если есть рут. Также резервирование может быть запрещено разработчиками некоторых программ. Они будут находиться внизу списка. Например, тот же WhatsApp забэкапить не получится.

Helium запоминает все устройства, на которых она была запущена, и позволяет восстанавливать бэкапы отдельно на разных устройствах. Бэкапы можно хранить на карте памяти или в облаке (Google Диск, Box, Dropbox), а также делать их по расписанию. Еще одна особенность приложения - данные между устройствами легко переносить, например, начав игру на одном устройстве, можно продолжить ее на другом.

IMEI

Нередки случаи, когда после прошивки перестает работать сотовая связь и интернет. Это верный признак того, что слетел IMEI (International Mobile Equipment Identity - международный идентификатор мобильного оборудования). Этот номер уникален для каждого аппарата и служит для идентификации устройства в сети. При сбое он может обнулиться, и девайс перестанет видеть сеть.

Чтобы избежать таких случаев, советую заранее сделать бэкап раздела EFS, содержащего IMEI: с помощью программ из маркета, руками через консоль (adb shell) или на устройстве через эмулятор терминала. Стоит отметить, что для разных устройств таблица разделов может кардинально отличаться в зависимости от применяемых чипов. В случае Nexus 4 в терминале нужно ввести следующие команды:

Бэкап IMEI:

Su dd if=/dev/block/mmcblk0p8 of=/sdcard/m9kefs1.img dd if=/dev/block/mmcblk0p9 of=/sdcard/m9kefs2.img

Восстановление IMEI:

Su dd if=/sdcard/m9kefs1.img of=/dev/block/mmcblk0p8 dd if=/sdcard/m9kefs2.img of=/dev/block/mmcblk0p9

У Nexus 5 нет отдельного раздела EFS. Поэтому бэкапить надо разделы 12 и 13, содержащие не только IMEI, но и другие данные:

Su dd if=/dev/block/mmcblk0p12 of=/sdcard/modemst1.img dd if=/dev/block/mmcblk0p13 of=/sdcard/modemst2.img

Восстановление проводится аналогичной командой.

Фотографии и видео

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

Google+

Стандартная программа от «корпорации добра», предустановленная на всех стоковых прошивках. Пользуюсь давно и на всех устройствах (на данный момент в альбомах содержится более 10 тысяч фотографий). Автоматически синхронизирует все отснятые фото с закрытыми альбомами Picassa (скоро такая же функция появится и в Google Drive). Фото будут доступны на всех устройствах, на которых выполнен вход в один аккаунт. При наличии интернета все фото можно просмотреть даже на новом устройстве, выполнив вход в аккаунт Google. Приятный бонус - автокоррекция некоторых фотографий, создание коллажей из похожих фото и GIF-анимаций из серий фотографий. Также автоматически появляются «Автокреативы» - нарезка под музыку из множества фотографий и видео, снятых в один день. При смене места снятия фотографий и видео обычно появляются «Истории» и «Путешествия».

Другие варианты

  • MEGA - дает по умолчанию хранилище на 50 Гб, имеет гибкие настройки, клиент синхронизации для компа и расширение для браузера Chrome. Разные режимы просмотра, возможность открыть папки для других пользователей.
  • Облако Mail.ru - 100 Гб для новых пользователей. Имеет приятный интерфейс и клиент для компа.
  • Dropbox - интересен тем, что имеет приложение-компаньон Carousel, которое умеет не просто автоматически загружать фотки, но и чистить смартфон от тех, что уже загружены.

INFO

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

Бэкап произвольных файлов

Для бэкапа файлов на SD-карте также существуют различные программы. В целом они имеют схожие функции и отличаются интерфейсом или поддерживаемыми облачными сервисами.

Foldersync

Material Design, поддержка Amazon Cloud Drive, Box, Dropbox, FTP, Google Drive, Mega, OneDrive, SMB/CIFS, WebDav, Yandex Disk. Имеет встроенный файловый менеджер, множество настроек, фильтров, удобное планирование. Возможность настройки двухсторонней синхронизации, перенос скрытых файлов, настройка передачи через Wi-Fi / мобильный интернет, поддержка Таскера, защита пин-кодом, возможность синхронизации вложенных папок.

DataSync

Возможность синхронизации между устройствами через Bluetooth, расписание, данные приложений, файлы и папки. Автоматическая двухсторонняя синхронизация данных позволит сохранять прогресс игр и автоматически загружать его на все связанные устройства при изменении данных на одном из них.

Dropsync

Продвинутый клиент синхронизации с Dropbox. Загрузка фото и видео, мониторинг уровня заряда батареи, Wi-Fi/3G/4G/WiMax-соединения и адаптация в соответствии с предпочтениями пользователя, настраиваемый интервал автосинхронизации, плагин к Таскеру, возможность выбора режима синхронизации: только загрузка, загрузка и удаление, только скачивание, зеркальное скачивание и другое.

По сути, это аналог десктопного клиента Dropbox с синхронизацией на лету (как и в Linux-версии клиента, изменения файлов отслеживаются с помощью механизма inotify, поэтому синхронизируются все сразу, а не через определенные интервалы времени).

INFO

Для Linux/UNIX-пользователей подойдет rsync backup for Android, которая позволит отправлять и получать файлы с удаленного сервера через SSH. Имеет поддержку Таскера.

Полный бэкап устройства

Nandroid backup (от NAND - тип используемой памяти в современных смартфонах) - полный бэкап всей прошивки целиком вместе с приложениями, данными и настройками. Функция поддерживается TWRP или CWM. Кроме того, бэкап можно сделать и прямо из Android с помощью программы Online nandroid backup. Восстановить отдельные данные поможет уже рассмотренный Titanium, а также Nandroid manager. Сначала посмотрим, как сделать бэкап из консоли восстановления.

CWM

Для создания бэкапа необходимо выбрать пункт Backup and Restore, а затем Backup to /sdcard. До нажатия можно выбрать формат бэкапа или освободить неиспользованные данные. Для восстановления выбираем пункт Backup and Restore и далее Restore from /sdcard. Если выбрать Advanced restore from /sdcard, можно указать для восстановления отдельно разделы boot, system, data, cache, sd-ext.

Для большей сохранности полученный бэкап можно перенести на комп. Но здесь есть одна загвоздка. Дело в том, что, если в устройстве есть «внешняя» (настоящая) карта памяти, CWM разместит бэкап в ней и он будет доступен для сохранения на комп стандартными средствами (каталог clockworkmod/backup/дата-и-время-бэкапа на карте памяти). Здесь все в порядке.

Лирическое отступление, или признание в любви к устройствам Nexus

Если посмотреть на структуру разделов Nexus-устройств с помощью команды adb shell busybox fdisk /dev/block/mmcblk0 (нужен root и установленный из маркета BusyBox), то можно увидеть следующую картину (см. скриншот «Структура разделов на Nexus 5 и Nexus 4»).

Раздел aboot - это первичный бутлоадер. Его можно повредить, если, например, прошить ядро или бутлоадер от другого устройства или выдернуть шнур из телефона в процессе прошивки. При этом слетает таблица разделов и телефон перестает грузиться в бутлоадер и рекавери, а также перестает откликаться на команды fastboot и adb.

Обычный юзер думает, что это «кирпич», и несет телефон в сервисный центр, где платит больше ста долларов за новую взамен якобы сгоревшей плату. На самом же деле в разделе 15 у Nexus 4 и разделе 11 у Nexus 5 находится резервная копия бутлоадера - abootb. Это одна из причин того, что убить Nexus практически невозможно, ведь резервный загрузчик можно без проблем восстановить.

Выключаем смартфон и включаем с одновременным нажатием клавиш . Затем одновременно нажимаем и удерживаем комбинации кнопок (сработает, только если убит основной загрузчик). После этого подключаем устройство к компу (теперь оно определится и ADB заработает) и копируем резервный загрузчик в раздел основного командами

$ adb shell su

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

Однако в смартфонах без слота для карты памяти или при ее отсутствии бэкап окажется невидим для пользователя. Это происходит из-за того, что с версии 4.2 в Android изменились точки монтирования внутренней памяти для обеспечения работы в многопользовательском режиме. Сама виртуальная (внутренняя) карта памяти монтируется в /data/media, и там же находится бэкап CWM. Но данные основного пользователя находятся в /data/media/0, и именно этот каталог затем монтируется как /sdcard. Поэтому бэкап останется недоступен с помощью стандартных средств и без прав root.

Достать бэкап из /data/media можно с помощью файлового менеджера с правами суперпользователя или путем подключения смартфона к компу в режиме recovery. Далее вводим команду adb shell, а затем ls /sdcard/clockworkmod/backup/ для поиска каталога с последним бэкапом. Переносим бэкап примерно такой командой:

$ adb pull /sdcard/clockworkmod/backup/2015-04-20.15.46.18 \ "D:\Nexus5\Backup\Nandroid\2015-04-20.15.46.18"

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

TWRP

Для создания бэкапа нажимаем кнопку Backup и крестиками отмечаем необходимые разделы (не уверен - выбирай все). Дополнительно можно убрать шифрование, включить сжатие, пропустить создание MD5-хеша и выбрать сохранение на USB - OTG флешку. В результате бэкап окажется в каталоге /sdcard/twrp/backups/дата-и-время-бэкапа. В отличие от CWM он будет доступен независимо от наличия карты памяти. Для восстановления нажимаем Restore и выбираем нужный.


INFO

В маркете есть большое количество программ для отдельного бэкапа и восстановления СМС, звонков, контактов, ядер, рекавери и так далее.

Nandroid Manager

Это универсальный инструмент для управления всеми резервными копиями Nandroid. С помощью Nandroid Manager можно восстановить из Nandroid приложения и данные, СМС, журнал вызовов, точки доступа Wi-Fi, сохраненные сопряженные устройства Bluetooth, пользовательский словарь. Приложение видит бэкапы, созданные в обоих кастомных рекавери, и позволяет их переименовывать и искать информацию в отдельных базах внутри бэкапа.

Возможности Nandroid Manager

Online nandroid backup

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

  • Имя бэкапа - каждый раз вручную / по временной зона UTC / по временной зоне телефона / на основе номера версии прошивки, включая время создания.
  • Тип бэкапа - CWM/TWRP со сжатием или без.
  • Режим - нормальный (полный) / выбор разделов для копирования. При выборе последнего открывается список с выбором.
  • Место сохранения бэкапа.
  • Количество бэкапов для хранения от «все» до 10 (при переполнении более старые удаляются).
  • Сохранение разделов Yaffs2 в качестве Tar-файлов.
  • Исключение Dalvik Cache из бэкапа.

Программа поддерживает выгрузку файлов бэкапа в облако, FTP или Google Drive. Доступно настраиваемое расписание для автоматических бэкапов, от «каждый день» до «каждые 30 дней» с опцией «только когда устройство заряжается». Кроме того, с помощью плагина поддерживаются действия для Tasker.

Бэкап с помощью ADB

Способ, так сказать, для гиков. Подключаем смартфон к компу, включаем отладку по USB. Далее используем команду adb backup, которая имеет следующие ключи:

  • -f ФАЙЛ - место и название файла создаваемого бэкапа на компьютере. Если нет этого параметра, бэкап будет создан в текущей папке с названием backup.ab. В случае Windows пути с пробелами и спецсимволами следует заключать в кавычки.
  • -apk | -noapk - сохранять или нет в бэкапе APK-приложения. По умолчанию - не сохранять.
  • -system | -nosystem - сохранять ли в бэкапе системные приложения. По умолчанию - сохранять. Выбор -nosystem запретит сохранять системные приложения, когда задан ключ -all.
  • -all - сохранять в бэкапе все установленные приложения, в том числе системные.
  • -shared | -noshared - включать ли в бэкап данные приложений и содержимое карты памяти. По умолчанию - не сохранять.
  • - здесь можно написать список приложений, которые будут бэкапиться. Игнорирует -nosystem.

Соответственно, чтобы выполнить полный бэкап, используем такую команду:

$ adb backup -f "D:\Backup\ADB-2015-04-20.ab" -apk -shared -all -system

После этого в консоли появится Now unlock your device and confirm the backup operation, а на телефоне уведомление с просьбой подтвердить операцию и установить опциональный пароль на бэкап. Сам процесс создания резервной копии может длиться больше сорока минут, так что нервничать не надо. Для восстановления используем команду «adb restore путь-до-файла», для примера выше это будет:

$ adb restore "D:\Backup\ADB-2015-04-20.ab"

Подтверждаем запрос на телефоне, вводим пароль (если устанавливали при бэкапе) и ждем восстановления, которое может занимать еще больше времени, чем создание самого бэкапа.

INFO

Узнать номера IMEI, всех своих устройств, привязанных к Google (в том числе старых), можно на странице google.com/settings/dashboard, раскрыв список Android.

Заключение

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

Около пяти лет назад смартфоны были исключительно у людей, которые нуждались в их функционале. Сегодня же, благодаря развитию рынка Android устройств – эти гаджеты есть практически у каждого. Платформа довольно хорошо кастомизируется и быстро развивается – каждый год выходят новые мажорные версии, а в течении года производители несколько раз балуют пользователей обновлениями существующих версий ОС. Из-за такой тенденции очень важно знать и уметь делать бэкап прошивки, чтобы при неудачном обновлении или при любой другой ситуации, можно было совершить быстрый откат на работающую систему и при этом не потерять свои данные и информацию.
В принципе, существует довольно много способов сделать бэкап, но самый распространенные и удобный – установить кастомное рекавери с такой функцией. Самыми популярными альтернативными рекавери являются CWM (ClockworkMod recovery) и TWRP (Team Win Recovery Project). CWM – один из самых первых таких проектов – он довольно минималистичен и управляется исключительно «железными кнопками» — кнопками громкости и клавишей выключения. Имеет только самый необходимый функционал (в том числе и функцию бэкапа). TWRP же более продвинутый проект. Он имеет сенсорное управление, а также довольно много функций, самой полезной из них, пожалуй, является встроенный файловый менеджер, который позволит вам скопировать свои данные с внутренней памяти на флэшку, если телефон отказывается загружаться.
Давайте вкратце рассмотрим каждое из этих двух альтернативных рекавери, рассмотрим также как сделать с их помощью бэкап и покажем вам еще один способ, который позволит сделать это прямо из работающей системы. Также рассмотрим варианты бэкапа только определенных данных (SMS, MMS и т.д.)

CWM


ClockworkMod recovery это модифицированный неофициальный рекавери, который выпускают практически под любую более-менее популярную модель телефона. Возможна установка как вместо стандартного рекавери, так и параллельно ему. С его помощью можно ставить неофициальные прошивки , создавать резервные копии, делать сброс пользовательских данных и форматировать разделы. Также можно создавать отдельные разделы на карте памяти и т.д.

Чтобы сделать бэкап файловой системы своего Андроид-устройства вам нужно зайти в CWM recovery (на разных телефонах эта процедура может немного отличаться). Затем вам нужно с помощью кнопок громкости зайти в backup and restore и выбрать либо Backup (полный бэкап всей системы) или Advanced Backup – это позволит вам выбрать разделы, которые вы хотите сохранить (чаще всего это data и boot), что позволит вам сэкономить время и место на флешке.

Видео о установке ClockworkMod recovery

TWRP


TeamWin recovery – тоже модифицированное неофициальное рекавери, которое доступно для большинства моделей Android устройств. Он позволяет совершать гораздо больше действий с устройством, чем стандартное рекавери и чем CWM, но является менее распространенным, чем последний. TWRP позволит своим пользователям:

  • устанавливать неофициальные и официальные прошивки;
  • устанавливать исправления и дополнения;
  • поддерживает подключение в режиме ADB;
  • создавать резервные копии как полной прошивки, так и отдельных ее частей;
  • форматировать разделы и создавать их.


Чтобы сделать бэкап с помощью TeamWin recovery вам необходимо зайти в него, перейти в пункт Backup и сделать слепок системы, причем вы можете сами выбирать, какие разделы системы вам нужно сохранить.

Видео о установке eamWin recovery

Восстановление из бэкапа

Для начала, вам необходимо для большей сохранности, перенести папку с сохраненной прошивкой на жесткий диск компьютера, записать на оптический диск, залить в облако и т.д. В таком случае, даже если вы потеряете флэшку, у вас всегда будет возможность откатить систему до старого состояния. Затем вам потребуется снова зайти в рекавери и выбрать пункт Restore, а потом отметить разделы, которые вы желаете восстановить (в случае CWM вам потребуется зайти в Advanced restore). Дождавшись выполнения операции – перезагрузите устройство.

Еще один способ сделать бэкап раздела

Если вас чем-то не устраивают предыдущие способы, то есть еще один, гораздо реже применяемы, но с его помощью вы точно сохраните все связи и права файлов. Для его воплощения вам понадобится телефон с root-правами , на котором установлен эмулятор терминала.
Для начала откройте эмулятор терминала и наберите в нем:
su
После этого должно появиться окошко подтверждения root-прав (если до этого вы их еще не подтвердили. Затем наберите:
dd if=/dev/block/«номер блока» of=/sdcard/system.img bs=4096
Где вместо «номер блока» вы должны написать номер раздела, который хотите сохранить. Для восстановления раздела, полученный файл нужно будет прошить через фастбут, как обычный img образ.

Сохранение SMS, MMS и другого контента

Если же вы желаете «переехать» на новую систему, то вам понадобится восстановить только старые сообщения и, возможно некоторые файлы. Файлы останутся на вашей карте памяти, всвязи с этим вам переживать не стоит, а вот текстовые сообщения придется сохранять вручную. В Google Play есть множество бесплатных программ, для их сохранения – вам остается только выбрать наиболее удобную.
Также стоит отметить, что в Android хорошо развиты функции сохранения данных приложений и восстановления самих приложений, поэтому вам не нужно будет беспокоиться о данной операции – система все сделает за вас.

Контакты, фотографии, прогресс в играх – смартфоны содержат в памяти ничуть не меньше нужной информации, чем жесткие диски компьютеров. Резервное копирование Android позволяет исключить потерю важных данных, надежно сохранив их на серверах Google или на компьютере.

Резервное копирование на серверы Google

Для полноценной работы Андроида нужен аккаунт Google – учетная запись почты Gmail, с помощью которой можно авторизоваться на любом сервисе от глобальной корпорации. Поэтому резервная копия Андроид в Google – это самый простой способ сохранить контент и настройки. Чтобы выполнить резервное копирование контактов, данных некоторых приложений, календаря и диска, достаточно добавить в настройках аккаунт Google и включить синхронизацию.

Отмеченные данные будут автоматически сохраняться на серверы Google. Чтобы восстановить их на телефон из резервной копии или перенести на другое устройство, достаточно добавить аккаунт и включить синхронизацию.

В настройках телефона также есть раздел «Восстановление и сброс». Здесь необходимо включить резервное копирование, добавить аккаунт Google для синхронизации и активировать автовосстановление, которое поможет вернуть копию настроек и данных некоторых приложений при их переустановке.

На серверах Google сохраняется важная информация, но, например, прогресс в игре перенести на другое устройство с помощью такой синхронизации не выйдет. Если хотите сохранить абсолютно все данные, то вам нужно знать, как сделать полный бэкап.

Бэкап через Recovery

Стандартное меню восстановления Android (Recovery) имеет крайне ограниченный функционал – сброс настроек да установка обновлений. Но если поставить на телефон альтернативный Recovery (например, Clockworkmod), то можно выполнить целый ряд операций, в числе которых будет бэкап. По сути, это будет не резервная копия данных, а полноценный слепок системы.

Если вы не знаете, что такое кастомное Recovery, и никогда его не ставили, то рекомендуется сразу переходить к следующему пункту руководства, где описан порядок создания бэкапа с помощью программы для резервного копирования Android на ПК, которая называется Adb Run.

Если у вас стоит кастомное Recovery, то сделать слепок Android не составит труда:

  1. Выключите телефон, зайдите в Recovery (обычно нужно зажимать клавиши «Громкость+» и «Питание»).
  2. С помощью качельки громкости и кнопки питания откройте раздел «Backup and Restore».
  3. Выберите «Backup», чтобы создать копию текущего состояния прошивки.

Бэкап сохранится на карту памяти, в папку с названием «CWM» или «TWRP» в зависимости от того, какое Recovery стоит. Дальше есть два варианта:

  • Хранить образ системы на карте памяти.
  • Подключить телефон к компьютеру и перенести бэкап на жесткий диск, чтобы не забивать память мобильного устройства большим объемом данных.

Чтобы выполнить восстановление данных Android после бэкапа через Recovery, необходимо убедиться, что образ системы лежит в соответствующей папке на SD-карте. Затем следует снова зайти в Recovery, открыть раздел «Backup and Restore» и перейти в «Restore». Появится перечень доступных для восстановления бэкапов, из которых нужно выбрать подходящий слепок системы.

Использование программы Adb Run

Если вы хотите выполнить резервное копирование Android на компьютер, минуя создание бэкапа в меню Recovery и настройку аккаунта Google, то используйте бесплатную утилиту ADB RUN. Чтобы она работала, должно быть соблюдено два условия:

  • На телефоне включена отладка по USB.
  • На компьютере установлены драйверы мобильного устройства.

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


Резервная копия хранится на компьютере, чтобы вернуть данные в телефон, необходимо снова запустить Adb Run и перейти в раздел «Backup». Здесь следует открыть подраздел «Adb Restore» и выбрать нужный бэкап, после чего данные будут скопированы обратно в память мобильного устройства и на SD-карту.

Способы создания резервной копии на Андроиде не исчерпываются описанными инструментами. В Play Market можно найти с десяток приложений (с root или без root), позволяющих сохранить разный объем данных – Safe Backup, Super Backup, Titanium Backup. Но прежде чем применять возможности приложения, обязательно прочитайте отзывы пользователей о его работе – некоторые программы работают нестабильно.

ИНСТРУКЦИЯ:
Как сделать бэкап прошивки (например, чтобы сохранить заводскую): (ТЕЛО ДОЛЖНО БЫТЬ РУТОВАННЫМ!)

Распакуйте архив Прикрепленный файлADB.ZIP (290,89К) Количество загрузок: 3154

В папке ADB находится файл backup.bat

Код

adb shell su -c «dd if=/dev/block/stl6 of=/sdcard/factoryfs.rfs bs=4096»
adb shell su -c «dd if=/dev/block/bml5 of=/sdcard/zImage bs=4096»
adb shell su -c «dd if=/dev/block/bml10 of=/sdcard/modem.bin bs=4096»

Выставить на теле USB debug -> ON
Так же желательно включить на телефоне режим, при котором экран не гаснет при зарядке (там же, где включается USB debug)

Присоединить тело по USB.
Запустить backup.bat

Подтвердить на теле Root Access.
После этого через пару минут на Sd карте — файлы Вашей прошивки!

Теперь необходимо запаковать полученные файлы factoryfs.rfs, zImage и modem.bin в архив tar.
В этот же tar можно запихнуть файл datafs.rfs, взятый из любой прошивки (желательно того-же «поколения» 2.1 или 2.2, что и Ваша)
В результате получится TAR, полностью совместимый с флэштулом ODIN и в любой момент Вы можете вернуть телефон в девственное состояние.
На всякий случай после прошивки желательно сделать вайп или из рекавери, чтобы отформатировать кэш (cache)

Как запихивать в TAR :

Я делаю ТАРы Cygwin-ом.Но можно извратиться следующим способом.
В TotalCommander ставим плагин для TAR.Открываем ЛЮБОЙ готовый TAR. Добавляем СВОЙ файл, а всё остальное — удаляем!

То же самое можно сделать из Терминала или Putty (по SSH):
Для этого в папке ADB есть скрипт backup.sh

#!/system/bin/busybox sh
dd if=/dev/block/stl6 of=/sdcard/factoryfs.rfs bs=4096
dd if=/dev/block/bml5 of=/sdcard/zImage bs=4096
dd if=/dev/block/bml10 of=/sdcard/modem.bin bs=4096

Скопировать его на тело в /data

В Терминале или Putty:

su (только для Терминала!)
chmod 755 /data/backup.sh/data/backup.sh

СПОСОБ ДЛЯ ТЕХ, КТО «НИ БУМ-БУМ» в ADB, но умеет набирать текст на клавиатуре.

Все делается прямо на телефоне через Эмулятор Терминала. Описано шаг за шагом. НЕ СПЕШИ, А ТО УСПЕЕШЬ!
Что нужно: Root, эмулятор терминала, свободное место на SD Card >300 Mb.
Требование к пользователю: Руки хотя бы мутно напоминающие прямоту, Спокойное расположение духа, Сосредоточенность.
ВНИМАНИЕ: При вводе команд в терминале всегда дожидайтесь ответа терминала (на каждую команду он всегда отвечает). Пока не дождались — не вводите ничего. Просто ждите.

Итак, приступим. (Учитывая что уже есть Root и Эмулятор Терминала на телефоне)

1) Запускаем Эмулятор Терминала
2) Набираем команду: su (запросит права Суперпользователя. Разрешаем)
3) Набираем команду: mkdir /sdcard/Backup (ждем сообщения от терминала что папка создана)
4) Набираем команду: dd if=/dev/block/bml5 of=/sdcard/Backup/zImage
5) Набираем команду: dd if=/dev/block/bml10 of=/sdcard/Backup/modem.bin (ждем сообщения от терминала что » такой-то файл такого-то размера создан за такое-то время»)
6) Набираем команду: dd if=/dev/block/stl6 of=/sdcard/Backup/factoryfs.rfs (ждем сообщения от терминала что » такой-то файл такого-то размера создан за такое-то время». Будет очень долго делать — самый большой и самый важный файл!)
7) После выполнения всех манипуляций закрываем Эмулятор Терминала
8) Заходим в Диспетчер файлов и ищем папку Backup
9а) Если в папке есть три файла zImage, modem.bin, factoryfs.rfs то все пучком
9б) Если какого-то файла нету то выполняем повторно пункт 4) или 5) или 6) соответственно (смотря какого файла нету).
10) Это и есть ваш бэкап заводской прошивки. Заныкайте его куда-нибудь на черный день.

Если сильно за него боитесь, то заныкайте несколько копий в разные места.