Заводской сброс, форматирование разделов памяти в меню TWRP-recovery
Поделится опытом или задать вопрос можно в теме обсуждения .
Напомню, что в данном статье речь идет о TWRP-recovery, как о самом распространенном кастомном recovery .
Для лучшего понимания (но не обязательно) что же стирается при том или ином wipe/format можно ознакомится со статьей: Разбивка памяти в ОС Андроид .
Ликбез
Случаются ситуации, когда необходимо сделать сброс Android-устройства которое не загружается (не важно после обновления) или для/после прошивки/обновления/патча. Как правило «бывалые» называют привычными им терминами данную процедуру: сделать «wipe», «factory reset», «очистить дальвик». Не всегда советы специалистов (в кавычках или без) очевидны и понятны пользователю, ну а уж тем более неискушенному. А неверное понимание назначения пунктов меню WIPE в TWRP-recovery или личных теории наподобие: «ооо, а может для лучшего эффекта сделать и format system» — иногда приводят к казусам и усугублению проблемы.
Заводской сброс
Советы сделать заводской сброс на Android-сленге могут звучать по-разному. Самые часто встречающиеся варианты: «wipe», «вайпни», «сделать сброс», «hard reset», «сброс на заводские установки».
При заводском сбросе удаляются установленные пользователем приложения, обновление системных приложений, аккаунты, СМС, вызовы, телефонная книга, настройки программ и системы. Получаем аппарат как с магазина, кроме оставшихся: фото, видео, документов, скаченных файлов, картинок и прочего, Вами скопированного на встроенный, внешний накопители, контента.
Причины по которым вам могут посоветовать сделать заводской сброс:
— После OTA-обновления, особенно если это связано с повышением версии ОС. В том числе если при этом произошел сбой, ввиду малого заряда, внезапного отключения питания, зависании процесса.
— При внезапном отказе, работавших до этого, функциях смартфона, если решение не получается найти.
— При зависании устройства на этапе включения, в том числе при циклических перезагрузках.
— После применения какого-либо авторского патча, вносящего в систему серьезные изменения.
— После/до установки авторских, модифицированных прошивок.
— .
Перечень разделов и действие с ними в процессе заводского сброса:
— Форматирование раздела /cache.
— На устройствах, у которых накопитель на отдельном разделе (см. выше статью о разбивке памяти) — форматирование раздела /data.
— На устройствах, у которых накопитель объединен с разделом /data — удаление содержимого раздела /data кроме папки /data/media, в которой фото, видео, музыка и пр. что отображается при подключении аппарата к ПК или в файловом менеджере.
Процедура заводского сброса
Примечание: Настоятельная рекомендация при включающемся аппарате перед сбросом настроек сначала удалить аккаунт google, если вы сомневаетесь, что помните логин/пароль. Страшилка: Прошивка и/или сброс через рекавери при введенном Google-аккаунте
1. Загрузить меню recovery .
2. Выбрать пункт меню: Wipe.
3. Свайп вправо запустит процесс заводского сброса.
4. По завершении процесса можно вернутся в основное меню, нажав кнопку: Дом.
Для перезагрузки устройства в обычный режим выбрать: Reboot — Reboot System.
Форматирование пользовательского раздела (/data)
Причины по которым вам могут посоветовать сделать формат:
— Продажа аппарата. Это действие гарантирует полное удаление данных с телефона связанных с предыдущим владельцем на устройствах, у которых накопитель объединен с разделом /data.
— После/до установки авторских, модифицированных прошивок.
— Зависание при включении, спонтанная перезагрузка, постоянная перезагрузка, даже после заводского сброса.
— Сбои в работе приложений, даже после заводского сброса.
— .
Все симптомы вызваны зачастую ошибками файловой системы. А заводской сброс не всегда означает именно форматирование раздела (см. выше), т.е создание новой файловой системы, а не просто удаление с раздела папок/файлов.
Перечень разделов и действие с ними в процессе сброса:
— Форматирование раздела /data.
Процедура форматирования
1. Загрузить меню recovery .
2. Выбрать пункт меню: Wipe.
3. Нажать кнопку: Format Data.
4. Набрать на клавиатуре слово: yes, и нажать кнопку: Go.
5. По завершении процесса можно вернутся в основное меню, нажав кнопку: Дом.
Для перезагрузки устройства в обычный режим выбрать: Reboot — Reboot System.
Выборочное стирание (Advanced Wipe)
Причины по которым вам могут посоветовать сделать формат:
— Требовании инструкций по модификации системы.
— Рекомендации ромодела или создателя патчей.
— Личные эксперименты и повышение собственных знаний.
Перечень разделов и действие с ними в процессе сброса:
— По выбору пользователя.
Не отмечайте пункт System, если вы не планируете затем устанавливать полную прошивку или не уверены в своих силах. В качестве защиты от неверных действий, при попытке перезагрузки после этого появится сообщение: OS not instaled. Перед подтверждением еще раз подумайте — это то, что вам было нужно? Потому как без перепрошивки аппарат не включится в нормальный режим.
Процедура выборочного стирания
Разберем на примере. Предположим необходимо привести смартфон на текущей прошивке, без каких-либо обновлений, модификаций и перепрошивок в идеальнейше-чистое (нулевое) состояние, и удалить не только пользовательские данные но и весь контент с устройства и вставленной SD-карты. Произойдет потеря абсолютно всех данных. Позаботьтесь о резервной копии своих документов, фото, видео, музыки и прочего.
1. Загрузить меню recovery .
2. Выбрать пункт меню: Wipe.
3. Нажать кнопку: Advanced Wipe.
4. Отметить пункты: Cache, Data, Internal Storage, external microSD.
5. Свайп вправо запустит процесс стирания данных или форматирования разделов и накопителей.
Для перезагрузки устройства в обычный режим выбрать: Reboot — Reboot System.
Форматировать data через twrp что это
TWRP, как отдельная операционная система. Структура, принципы работы, основные составляющие.
Устройство или ОС, прошивка: Все платформы.
Сразу хочу напомнить, что тема создавалась для людей думающих и способных подвергнуть сомнению информацию, которая тут изложена. Учесть особенности тысяч аппаратов и, уж тем более, расписать это для каждого из них я не в состоянии.
Обращаясь за помощью обязательно приложите recovery.log. Как его получить можно узнать здесь
Сообщение отредактировал derak1129 — 05.08.20, 09:15
TWRP, он же «кастомный рекавери», является заменой стандартному средству восстановления, идущему, как правило, в составе заводской прошивки аппарата. Основной его функцией изначально было создание и восстановление бэкапа существующей операционной системы как полностью, так и по отдельным разделам. Также была реализована возможность установки неподписанных пакетов обновления (в народе «патчи»), что дало возможность любому пользователю создавать свои пакеты и, таким образом, вносить практически любые правки в операционную систему.
По структуре — это всё тот же boot, но самостоятельный, независимый* от наличия, версии и состояния установленной ОС. Т.е. имеется своё ядро, а связующий бинарник «init» в составе TWRP не пытается загрузить Android, находящийся в системном разделе, а грузит собственную мини-ОС. В ней находится полный набор необходимых для запуска файлов и инструкций, которые тоже можно редактировать, удалять, добавлять и обновлять, меняя тем самым функционал сборки. Ничего не напомнило?
Вот именно в таком ключе и пойдёт речь о TWRP в этой теме! Это не только удобный инструмент! Это — операционная система, которую мы будем изучать и настраивать под свои нужды.
Сообщение отредактировал Идите Лесом — 04.09.19, 16:59
С тем, что кастомный рекавери является отдельной и независимой ОС, определились? Хорошо, идём дальше! Начинают свой запуск оба сравниваемых объекта совершенно одинаково:
— Загрузчик (который состоит из нескольких компонент, которые разбросанны по маленьким разделам памяти и поочерёдно подгружаются) будит устройство.
— Проводятся первоначальные тесты аппаратной составляющей устройства и проверка целостности частей самого загрузчика.
— Если всё нормально — запускает ядро*, имеющее в составе набор низкоуровневых драйверов для нашего девайса.
— Ядро проводит свои проверки и подгружает первый и самый приоритетный сервис-бинарник — init. Именно он заведует обработкой и выполнением сценариев запуска**.
А вот то, что будет происходить далее уже имеет отличия:
init раздела boot, следуя собственным и приложенным в подгружаемых *.rc файлах инструкциям, монтирует остальные разделы, необходимые для запуска Android OS (/system, /vendor, /data, /modem и т.д.) и запускает сервисы и службы, находящиеся, в основном, в этих разделах. Далее надевает на Linux «шкурку» java и отдает в таком виде под управление пользователю.
init раздела recovery, следуя собственным и приложенным в подгружаемых *.rc файлах инструкциям, проверяет состояние «интересующих» его разделов, а сервисы и служби запускает лишь те, которые сам и содержит. Далее надевает на Linux «шкурку», подобную веб интерфейсу***.
Что имеем в итоге? Высокую степень взаимозаменяемости консольных утилит, таблиц файловых систем, конструкций скриптов и т.д. Функции, созданные для обработки из-под OS Android после небольших правок можно выполнять, находясь в кастомном рекавери и наоборот. Примерно то, что проделывают в теме Инструкции по редактированию системных ресурсов для Android OS мы будем проворачивать здесь с TWRP (только там правится framework, SystemUI.apk, Settings.apk и т.д., мы же будем вносить изменения в «twres», «sbin» и «etc»), добиваться максимально полного контроля над кастомным рекавери, устанавливать/заменять/обновлять/удалять ПО, входящее в его состав.
*будет запускаться ядро из раздела boot или из раздела recovery зависит от сигнала загрузчику, который пользователь может подать из запущенной операционной системы или нажатием соответствующих клавиш при старте загрузчика.
Сообщение отредактировал Идите Лесом — 05.09.19, 22:49
Кастомный рекавери, как уже упоминалось ранее, это «доработанная» версия стандартного (идущего «из коробки»). Имеет больше возможностей, в меньшей мере ограничивает пользователя и может быть более тонко настроено (зачастую стоковое вообще не имеет настроек).
Дак как же нам заполучить это «чудо» для нашего девайса? В основном используется три способа*:
1. Создание из исходников. Если производитель Вашего устройства был так любезен, что не поленился выложить в открытый доступ исходный код программного обеспечения, которое там используется, то можно «наложить» на него исходники кастомного рекавери (вот с этим то проблем нету). Вот мы и получаем свой, родной TWRP, CWM и т.д. Собранное таким образом кастомное рекавери может получить статус официального, а девайс, для которого оно сделано, может получить статус официально поддерживаемого проэктом.
2. Портирование. Вам не так повезло? Производитель не удосужился опубликовать исходный код ПО к своему девайсу? Не будем отчаиваться — выход есть! Портирование!
Нам понадобится аппарат, который максимально подобен нашему «основой» («материнка», board или как сейчас «по-научному»), но имеет собранный и рабочий кастомный рекавери. При нынешнем разнообразии рынка устройств под управлением Android OS — это вообще не проблема! Теперь разберём стоковый и кастомный рекавери (который от чужого аппарата), заменив ядро второго упомянутого ядром от нашего девайса. Собираем обратно. Всё! В основном, если был правильно подобран «донор», этого достаточно для успешного запуска. Пользоваться в таком виде не получится, но отладить пару погрешностей — это не компилировать «с нуля», не имея исходников. В чём основной минус такого метода? Отсутствие официальной поддержки! Т.е. нужно следить за изменением в структуре прошивок и самолично вносить соответствующие изменения в свой «порт».
3. Попросить сделать Вам кастомное рекавери. Ссылка на «Стол заказов» есть в шапке, но так Вы точно пропустите всё веселье!
*способы описываю в общих чертах, вскользь и исключительно для общего понимания. Детально и со всеми подробностями процессы описаны в профильных темах, ссылки на которые есть в шапке этой темы. Мы же будем использовать лишь некоторые этапы упомянутых выше действий в совершенно других целях.
Сообщение отредактировал Идите Лесом — 30.08.19, 02:23
файлы «*.so» — это библиотеки функций, необходимые некоторым исполняемым файлам. Туда вынесена часть кода бинарника и «подтягивается» она по запросу. Практически точный аналог «*.dll» файлов в ОС Windows. Не составит особого труда догадаться, что «libaosprecovery.so», к примеру, является вспомогательным файлом бинарника «recovery». В дальнейшем не забывайте об этом! Если добавляете в свою сборку TWRP новую утилиту или обновляеете старую, то делать это стоит вместе со всеми связанными библиотеками «.*so».
busybox — «BusyBox — набор UNIX-утилит командной строки, используемой в качестве основного интерфейса во встраиваемых операционных системах. Преимуществами этого приложения являются малый размер и низкие требования к аппаратуре. Оно представляет собой единый файл. Разработка BusyBox была начата в 1996 году Брюсом Перенсом.» Википедия. Попросту это сборник бинарников, скриптов и программ, которые запакованы в один файл (обычно /system/xbin/busybox) и вызываются при обращении к этому файлу + аргумент-название необходимого бинарника (busybox sed . ) или симлинками. У каждого автора сборки свой набор «вшитых» приложений. Выход новой версии означает, в большинстве случаев, изменение автором состава этой самой сборки и/или обновление некоторых содержащихся в ней «модулей».
toybox — подобие busybox. Отличается набором апплетов.
toolbox — подобие busybox. Отличается набором апплетов.
charger — отвечает за процесс заряда АКБ, когда аппарат загружен в TWRP. Это уже можно было понять по названию файла. Решая всё тот же вопрос уменьшения размера сборки я заменил его на более старый, «весом» в 850 кб (в последних TWRP оригинальный бинарник весит 1,7+ мб). Девайс как заряжался, так и заряжается.
adbd — отвечает за обмен данными через USB разъём. Удаление делает невозможным подключение к ПК через adb интерфейс. Тоже заменил в сборке версию в 1,6 мб более старой на 350 кб. Разницы не заметил.
recovery — это, с вашего позволения, и есть TWRP. Здесь всё: функции, конструкции, начальные переменные, инструкции по работе с темами, сервисами, утилитами и т.д. и т.п.. Этоn файл и несколько дополнительных (его либы, linker, binder, crypto. ) — «движок» TWRP. При правке очередной версии не забудьде об этом и оставьте эти файлы на своём месте.
практически всё остальное — стандартные UNIX утилиты, которые скомпилированы для Android OS. Не удивляйтесь, если узнать о их функционале и использовании Вас будут «посылать» в поисковик.
twrpapp.apk — вот именно это нам постоянно предлагают установить. И именно это будет «занесено» в систему при малейшей неосторожности пользователя.
5. tmp — точка монтирования временного хранилища файлов. Использует оперативную память. Не удивляйтесь, если процесс, к примеру, распаковки туда файла объёмом >= оперативной памяти девайса, закончится с ошибкой.
5. twres — весь пользовательский интерфейс — здесь! Шрифты, графика, языковые файлы, «xml скелет» для объединения всего этого в то, чем мы привыкли пользоваться.
6. vendor — драйвера. Без комментариев.
*Набор файлов, приведённый выше, крайне примерный! Следует понимать и учитывать особенности архитектур, марок и моделей аппаратов, к которым будете пытаться применять данные наблюдения.
**В сборках TWRP 3.3.1-1 для некоторых устройств уже используется именно mksh. OrangeFOX 10+ использует bash.
Сообщение отредактировал Идите Лесом — 04.09.19, 19:56
<?xml version=»1.0″?>
<recovery>
<details>
<resolution width=»1080″ height=»1920″/>
<author>TeamWin</author>
<title>TWRP</title>
<description>splash screen</description>
<themeversion>3</themeversion>
</details>
<resources>
<font name=»font_l» filename=»RobotoCondensed-Regular.ttf» size=»52″/>
<image name=»splashlogo» filename=»splashlogo» retainaspect=»1″/>
<image name=»splashteamwin» filename=»splashteamwin» retainaspect=»1″/>
</resources>
<variables>
<variable name=»screen_width» value=»1080″/>
<variable name=»screen_height» value=»1920″/>
<variable name=»background_color» value=»#222222″/>
<variable name=»header_color» value=»#555555″/>
<variable name=»accent_color» value=»#0090CA»/>
</variables>
<pages>
<page name=»splash»>
<background color=»%background_color%»/>
<fill color=»%header_color%»>
<placement x=»0″ y=»0″ w=»%screen_width%» h=»456″/>
</fill>
<image>
<image resource=»splashlogo»/>
<placement x=»540″ y=»456″ placement=»4″/>
</image>
<image>
<image resource=»splashteamwin»/>
<placement x=»540″ y=»1540″ placement=»4″/>
</image>
<text color=»%header_color%»>
<font resource=»font_l»/>
<placement x=»540″ y=»1590″ placement=»5″/>
<text>Recovery Project %tw_version%</text>
</text>
</page>
</pages>
</recovery>
<pages>
<page name=»splash»>
<background color=»%background_color%»/>
<fill color=»%header_color%»>
<placement x=»0″ y=»0″ w=»%screen_width%» h=»456″/>
</fill>
<image>
<image resource=»splashlogo»/>
<placement x=»540″ y=»456″ placement=»4″/>
</image>
<image>
<image resource=»splashteamwin»/>
<placement x=»540″ y=»1540″ placement=»4″/>
</image>
<text color=»%header_color%»>
<font resource=»font_l»/>
<placement x=»540″ y=»1590″ placement=»5″/>
<text>Recovery Project %tw_version%</text>
</text>
</page>
</pages>
показываем текст Recovery Project %tw_version% (значение переменной %tw_version% нам предоставляет бинарник recovery), окрашенный в %header_color% (#555555), используя шрифт и его размер font_l (filename=»RobotoCondensed-Regular.ttf» size=»52″) по координатам в пикселах x=»540″ y=»1590″ поверх всех-привсех объектов placement=»5″.
Пока мы смотрели на splash происходило примерно следующее:
TWRP закончил выполнять последние приготовления и проверки, на основе которых присвоил значения множеству переменных. Теперь загрузился второй (это последний принудительно подгруженный xml файл — все остальные вызываются из него) кусок темы «ui.xml». Уже в нём добавлен импорт «portrait.xml» вот таким образом
<resources>
<font name=»font_l» filename=»RobotoCondensed-Regular.ttf» size=»54″/>
<font name=»font_m» filename=»RobotoCondensed-Regular.ttf» size=»42″/>
<font name=»font_s» filename=»RobotoCondensed-Regular.ttf» size=»36″/>
<font name=»fixed» filename=»DroidSansMono.ttf» size=»30″/>
<font name=»keylabel» filename=»RobotoCondensed-Regular.ttf» size=»64″/>
<font name=»keylabel-small» filename=»RobotoCondensed-Regular.ttf» size=»46″/>
<font name=»keylabel-longpress» filename=»RobotoCondensed-Regular.ttf» size=»32″/>
<image name=»logo» filename=»logo» retainaspect=»1″/>
<image name=»main_button» filename=»main_button»/>
<image name=»main_button_half_height» filename=»main_button_half_height»/>
<image name=»main_button_half_height_full_width» filename=»main_button_half_height_full_width»/>
<image name=»fab_selectfolder» filename=»fab_selectfolder» retainaspect=»1″/>
<image name=»tab_3″ filename=»tab_3″/>
<image name=»tab_4″ filename=»tab_4″/>
<image name=»file» filename=»file» retainaspect=»1″/>
<image name=»folder» filename=»folder» retainaspect=»1″/>
<image name=»unlock_icon» filename=»unlock_icon» retainaspect=»1″/>
<image name=»home» filename=»home» retainaspect=»1″/>
<image name=»back» filename=»back» retainaspect=»1″/>
<image name=»console» filename=»console» retainaspect=»1″/>
<image name=»kb_hide» filename=»kb_hide» retainaspect=»1″/>
<image name=»kb_show» filename=»kb_show» retainaspect=»1″/>
<image name=»checkbox_false» filename=»checkbox_false» retainaspect=»1″/>
<image name=»checkbox_true» filename=»checkbox_true» retainaspect=»1″/>
<image name=»radio_false» filename=»radio_false» retainaspect=»1″/>
<image name=»radio_true» filename=»radio_true» retainaspect=»1″/>
<image name=»sort_asc» filename=»sort_asc»/>
<image name=»sort_desc» filename=»sort_desc»/>
<image name=»sort_empty» filename=»sort_empty»/>
<animation name=»progress» filename=»indeterminate»/>
<image name=»progress_empty» filename=»progress_empty»/>
<image name=»progress_full» filename=»progress_fill»/>
<image name=»slider» filename=»slider»/>
<image name=»slider_used» filename=»slider_used»/>
<image name=»slider_touch» filename=»slider_touch»/>
<image name=»handle» filename=»handle»/>
<image name=»cursor» filename=»cursor» retainaspect=»1″/>
<image name=»tab_general» filename=»tab_general» retainaspect=»1″/>
<image name=»tab_timezone» filename=»tab_timezone» retainaspect=»1″/>
<image name=»tab_display» filename=»tab_display» retainaspect=»1″/>
<image name=»tab_vibration» filename=»tab_vibration» retainaspect=»1″/>
<image name=»tab_language» filename=»tab_language» retainaspect=»1″/>
<image name=»backspace» filename=»backspace» retainaspect=»1″/>
<image name=»enter» filename=»enter» retainaspect=»1″/>
<image name=»shift» filename=»shift» retainaspect=»1″/>
<image name=»shift_fill» filename=»shift_fill» retainaspect=»1″/>
<image name=»space» filename=»space» retainaspect=»1″/>
<image name=»kb_arrow_left» filename=»kb_arrow_left» retainaspect=»1″/>
<image name=»kb_arrow_right» filename=»kb_arrow_right» retainaspect=»1″/>
<image name=»kb_arrow_up» filename=»kb_arrow_up» retainaspect=»1″/>
<image name=»kb_arrow_down» filename=»kb_arrow_down» retainaspect=»1″/>
</resources>
<variables>
<variable name=»tw_samsung_navbar» value=»0″ persist=»1″/>
<variable name=»tw_hide_kb» value=»0″/>
<variable name=»screen_width» value=»1080″/>
<variable name=»screen_height» value=»1920″/>
<variable name=»status_height» value=»72″/>
<variable name=»header_height» value=»256″/>
<variable name=»navbar_height» value=»130″/>
<variable name=»content_width» value=»1008″/>
<variable name=»content_overlay_width» value=»936″/>
<variable name=»dialog_height» value=»704″/>
<variable name=»back_button_x» value=»240″/>
<variable name=»console_button_x» value=»840″/>
<variable name=»indent» value=»36″/>
<variable name=»col1_x_left» value=»72″/>
<variable name=»col1_x_header» value=»184″/>
<variable name=»center_x» value=»540″/>
<variable name=»col1_x_right» value=»576″/>
<variable name=»indent_right» value=»1044″/>
<variable name=»tab_height» value=»96″/>
<variable name=»tab_indicator_height» value=»6″/>
<variable name=»tab_y» value=»304″/>
<variable name=»tab3_width» value=»360″/>
<variable name=»tab4_width» value=»270″/>
<variable name=»tab5_width» value=»216″/>
<variable name=»tab3_col2_x» value=»360″/>
<variable name=»tab3_col3_x» value=»720″/>
<variable name=»tab4_col2_x» value=»270″/>
<variable name=»tab4_col4_x» value=»810″/>
<variable name=»tab5_col2_x» value=»216″/>
<variable name=»tab5_col3_x» value=»432″/>
<variable name=»tab5_col4_x» value=»648″/>
<variable name=»tab5_col5_x» value=»864″/>
<variable name=»tab5_centered_col1_x» value=»108″/>
<variable name=»tab5_centered_col2_x» value=»324″/>
<variable name=»tab5_centered_col4_x» value=»756″/>
<variable name=»tab5_centered_col5_x» value=»972″/>
<variable name=»btn3_col2_x» value=»384″/>
<variable name=»btn3_col3_x» value=»732″/>
<variable name=»btn4_col2_x» value=»297″/>
<variable name=»btn4_col3_x» value=»558″/>
<variable name=»btn4_col4_x» value=»819″/>
<variable name=»row1_header_y» value=»4″/>
<variable name=»row2_header_y» value=»72″/>
<variable name=»row3_header_y» value=»90″/>
<variable name=»row4_header_y» value=»168″/>
<variable name=»row1_y» value=»256″/>
<variable name=»row1a_y» value=»288″/>
<variable name=»row2_y» value=»320″/>
<variable name=»row2a_y» value=»352″/>
<variable name=»row_tab_y» value=»346″/>
<variable name=»row2_input_y» value=»381″/>
<variable name=»row3_y» value=»384″/>
<variable name=»row3_input_y» value=»413″/>
<variable name=»row3a_y» value=»416″/>
<variable name=»row4_y» value=»448″/>
<variable name=»row4_input_y» value=»477″/>
<variable name=»row4a_y» value=»480″/>
<variable name=»row5_y» value=»512″/>
<variable name=»row5a_y» value=»544″/>
<variable name=»row6_y» value=»576″/>
<variable name=»row6a_y» value=»608″/>
<variable name=»row7_y» value=»640″/>
<variable name=»row7a_y» value=»672″/>
<variable name=»row8_y» value=»704″/>
<variable name=»row8a_y» value=»736″/>
<variable name=»row9_y» value=»768″/>
<variable name=»row9a_y» value=»800″/>
<variable name=»row10_y» value=»832″/>
<variable name=»row10a_y» value=»864″/>
<variable name=»row11_y» value=»896″/>
<variable name=»row11a_y» value=»928″/>
<variable name=»row12_y» value=»960″/>
<variable name=»row12a_y» value=»992″/>
<variable name=»row13_y» value=»1024″/>
<variable name=»row13a_y» value=»1056″/>
<variable name=»row14_y» value=»1088″/>
<variable name=»row14a_y» value=»1120″/>
<variable name=»row15_y» value=»1152″/>
<variable name=»row15a_y» value=»1184″/>
<variable name=»row16_y» value=»1216″/>
<variable name=»row16a_y» value=»1248″/>
<variable name=»row17_y» value=»1280″/>
<variable name=»row17a_y» value=»1312″/>
<variable name=»row18_y» value=»1344″/>
<variable name=»row18a_y» value=»1376″/>
<variable name=»row19_y» value=»1408″/>
<variable name=»row19a_y» value=»1440″/>
<variable name=»row20_y» value=»1472″/>
<variable name=»row20a_y» value=»1504″/>
<variable name=»row21_y» value=»1536″/>
<variable name=»row21a_y» value=»1568″/>
<variable name=»row22_y» value=»1600″/>
<variable name=»row22a_y» value=»1632″/>
<variable name=»row23_y» value=»1664″/>
<variable name=»row23a_y» value=»1696″/>
<variable name=»row24_y» value=»1728″/>
<variable name=»row24a_y» value=»1760″/>
<variable name=»row25_y» value=»1792″/>
<variable name=»navbar_y» value=»1792″/>
<variable name=»navbar_btn_y» value=»1856″/>
<variable name=»keyboard_y» value=»1149″/>
<variable name=»keyboard_terminal_y» value=»1053″/>
<variable name=»background_color» value=»#1A1A1A»/>
<variable name=»accent_color» value=»#0090CA»/>
<variable name=»accent_color_semitransparent» value=»#0090CA30″/>
<variable name=»text_color» value=»#EEEEEE»/>
<variable name=»text_button_color» value=»#EEEEEE»/>
<variable name=»text_success_color» value=»#76FF03″/>
<variable name=»text_fail_color» value=»#FF0101″/>
<variable name=»highlight_color» value=»#1A1A1A80″/>
<variable name=»caps_highlight_color» value=»#22222280″/>
<variable name=»transparent» value=»#00000000″/>
<variable name=»semi_transparent» value=»#00000099″/>
<variable name=»warning» value=»#F8F8A0″/>
<variable name=»error» value=»#FF0101″/>
<variable name=»highlight» value=»#0090CA»/>
<variable name=»fileselector_linecolor» value=»#555555″/>
<variable name=»fileselector_highlight_color» value=»#555555″/>
<variable name=»fileselector_separatorheight» value=»2″/>
<variable name=»fileselector_spacing» value=»0″/>
<variable name=»fileselector_install_height» value=»1152″/>
<variable name=»fileselector_filemanager_height» value=»1376″/>
<variable name=»partitionlist_spacing» value=»0″/>
<variable name=»partitionlist_storage_height» value=»544″/>
<variable name=»partitionlist_flashimage_height» value=»544″/>
<variable name=»partitionlist_wipe_height» value=»1088″/>
<variable name=»partitionlist_mount_height» value=»832″/>
<variable name=»partitionlist_backup_height» value=»768″/>
<variable name=»listbox_timezone_height» value=»756″/>
<variable name=»listbox_settings_height» value=»960″/>
<variable name=»listbox_advanced_height» value=»700″/>
<variable name=»fastscroll_w» value=»24″/>
<variable name=»fastscroll_linew» value=»2″/>
<variable name=»fastscroll_rectw» value=»24″/>
<variable name=»fastscroll_recth» value=»108″/>
<variable name=»slidervalue_lineh» value=»3″/>
<variable name=»slidervalue_padding» value=»0″/>
<variable name=»slidervalue_sliderw» value=»72″/>
<variable name=»slidervalue_sliderh» value=»108″/>
<variable name=»slideout_height» value=»1686″/>
<variable name=»slideout_bg_height» value=»1720″/>
<variable name=»input_height» value=»64″/>
<variable name=»input_line_width» value=»3″/>
<variable name=»console_height» value=»960″/>
<variable name=»console_terminal_height» value=»950″/>
<variable name=»dialog_button_x» value=»696″/>
<variable name=»pattern_x» value=»126″/>
<variable name=»pattern_dot_dia» value=»32″/>
<variable name=»pattern_line_w» value=»12″/>
<variable name=»pattern_size» value=»828″/>
</variables>
<templates>
<template name=»page»>
<background color=»%background_color%»/>
<fill color=»%accent_color%»>
<placement x=»0″ y=»0″ w=»%screen_width%» h=»%header_height%»/>
</fill>
<button>
<condition var1=»tw_busy» var2=»0″/>
<placement x=»0″ y=»0″/>
<image resource=»logo»/>
<action function=»key»>home</action>
</button>
<fill color=»#00000030″>
<condition var1=»tw_simulate_actions» var2=»0″/>
<placement x=»0″ y=»0″ w=»%screen_width%» h=»%status_height%»/>
</fill>
<fill color=»%text_fail_color%»>
<condition var1=»tw_simulate_actions» var2=»1″/>
<placement x=»0″ y=»0″ w=»%screen_width%» h=»%status_height%»/>
</fill>
<text color=»%text_color%»>
<condition var1=»tw_no_cpu_temp» var2=»1″/>
<font resource=»font_m»/>
<placement x=»%indent%» y=»%row1_header_y%»/>
<text>%tw_version%</text>
</text>
<text color=»%text_color%»>
<font resource=»font_m»/>
<placement x=»%center_x%» y=»%row1_header_y%» placement=»5″/>
<text>%tw_time%</text>
</text>
<text color=»%text_color%»>
<conditions>
<condition var1=»tw_no_battery_percent» var2=»0″/>
<condition var1=»tw_battery» op=»>» var2=»0″/>
<condition var1=»tw_battery» op=»<» var2=»101″/>
</conditions>
<font resource=»font_m»/>
<placement x=»%indent_right%» y=»%row1_header_y%» placement=»1″/>
<text><@battery_pct=Battery: %tw_battery%></text>
</text>
<fill color=»#000000″>
<condition var1=»tw_busy» var2=»0″/>
<placement x=»0″ y=»%navbar_y%» w=»%screen_width%» h=»%navbar_height%»/>
</fill>
<button>
<condition var1=»tw_samsung_navbar» op=»!=» var2=»1″/>
<placement x=»%back_button_x%» y=»%navbar_btn_y%» placement=»4″/>
<image resource=»back»/>
<condition var1=»tw_busy» var2=»0″/>
<action function=»key»>back</action>
</button>
<button>
<condition var1=»tw_samsung_navbar» op=»=» var2=»1″/>
<placement x=»%back_button_x%» y=»%navbar_btn_y%» placement=»4″/>
<image resource=»console»/>
<condition var1=»tw_busy» var2=»0″/>
<action function=»overlay»>slideout</action>
</button>
<button>
<placement x=»%center_x%» y=»%navbar_btn_y%» placement=»4″/>
<image resource=»home»/>
<condition var1=»tw_busy» var2=»0″/>
<action function=»key»>home</action>
</button>
<button>
<condition var1=»tw_samsung_navbar» op=»!=» var2=»1″/>
<placement x=»%console_button_x%» y=»%navbar_btn_y%» placement=»4″/>
<image resource=»console»/>
<condition var1=»tw_busy» var2=»0″/>
<action function=»overlay»>slideout</action>
</button>
<button>
<condition var1=»tw_samsung_navbar» op=»=» var2=»1″/>
<placement x=»%console_button_x%» y=»%navbar_btn_y%» placement=»4″/>
<image resource=»back»/>
<condition var1=»tw_busy» var2=»0″/>
<action function=»key»>back</action>
</button>
<action>
<touch key=»power»/>
<action function=»togglebacklight»/>
</action>
<template name=»progress_bar»>
<progressbar>
<placement x=»%indent%» y=»%row17a_y%»/>
<resource empty=»progress_empty» full=»progress_full»/>
<data name=»ui_progress»/>
</progressbar>
<animation>
<placement x=»%indent%» y=»%row17a_y%»/>
<resource name=»progress»/>
<speed fps=»24″ render=»2″/>
<loop frame=»1″/>
</animation>
</template>
Сообщение отредактировал Идите Лесом — 31.08.19, 01:12
<button style=»button_quarter_width»>
<placement x=»%indent%» y=»%row16a_y%»/>
<text><@tz_offset_none=None></text>
<action function=»set»>tw_time_zone_guioffset=0</action>
</button>
<button style=»button_quarter_width»>
<placement x=»%btn4_col2_x%» y=»%row16a_y%»/>
<text><@tz_offset_15=15></text>
<action function=»set»>tw_time_zone_guioffset=15</action>
</button>
<button style=»button_quarter_width»>
<placement x=»%btn4_col3_x%» y=»%row16a_y%»/>
<text><@tz_offset_30=30></text>
<action function=»set»>tw_time_zone_guioffset=30</action>
</button>
<button style=»button_quarter_width»>
<placement x=»%btn4_col4_x%» y=»%row16a_y%»/>
<text><@tz_offset_45=45></text>
<action function=»set»>tw_time_zone_guioffset=45</action>
</button>
<checkbox>
<placement x=»%indent%» y=»%row18a_y%»/>
<font resource=»font_m» color=»%text_color%»/>
<text><@use_dst_chk=Use daylight savings time (DST)></text>
<data variable=»tw_time_zone_guidst»/>
<image checked=»checkbox_true» unchecked=»checkbox_false»/>
</checkbox>
<slidervalue>
<placement x=»indent» y=»%row15a_y%» w=»%content_width%»/>
<data variable=»tw_time_zone_guioffset» min=»0″ max=»59″/>
</slidervalue>
<checkbox>
<placement x=»%indent%» y=»%row19_y%»/>
<font resource=»font_m» color=»%text_color%»/>
<text><@use_dst_chk=Use daylight savings time (DST)></text>
<data variable=»tw_time_zone_guidst»/>
<image checked=»checkbox_true» unchecked=»checkbox_false»/>
</checkbox>
<button>
<condition var1=»tw_busy» var2=»0″/>
<placement x=»0″ y=»0″/>
<image resource=»logo»/>
<action function=»key»>home</action>
</button>
<button>
<condition var1=»tw_busy» var2=»0″/>
<placement x=»0″ y=»0″/>
<image resource=»logo»/>
<action function=»reboot»/>
</button>
<page name=»main2″>
<template name=»page»/>
<text style=»text_m»>
<condition var1=»tw_no_cpu_temp» var2=»0″/>
<placement x=»%col1_x_header%» y=»%row4_header_y%»/>
<text>%tw_version%</text>
</text>
<button style=»main_button»>
<placement x=»%indent%» y=»%row2a_y%»/>
<text><@install_btn=Install></text>
<actions>
<action function=»queueclear»/>
<action function=»set»>tw_selectimage=0</action>
<action function=»page»>install</action>
</actions>
</button>
<page name=»my_own_page_1″>
<template name=»page»/>
<text style=»text_m»>
<condition var1=»tw_no_cpu_temp» var2=»0″/>
<placement x=»%col1_x_header%» y=»%row4_header_y%»/>
<text>%tw_version%</text>
</text>
<button style=»main_button»>
<placement x=»%indent%» y=»%row2a_y%»/>
<text><@install_btn=Install></text>
<actions>
<action function=»queueclear»/>
<action function=»set»>tw_selectimage=0</action>
<action function=»page»>install</action>
</actions>
</button>
] <page name=»my_own_page_1″>
<template name=»page»/>
<text style=»text_m»>
<condition var1=»tw_no_cpu_temp» var2=»0″/>
<placement x=»%col1_x_header%» y=»%row4_header_y%»/>
<text>%tw_version%</text>
</text>
<button style=»main_button»>
<placement x=»%indent%» y=»%row2a_y%»/>
<text>Busybox ins.</text>
<action function=»cmd»>b=»busybox»
$ umount /system 2>dev/null
$ mount -o rw /system 2>dev/null
for F in $($ find /system -type d -iname «xbin»); do
$ cp -f /sbin/$b $
chown 0:0 «$
chmod 755 «$
$ —install -s $
$ umount /system 2>dev/null
</action>
</button>
Сообщение отредактировал Идите Лесом — 04.09.19, 02:32
Пришло время заглянуть внутрь этой операционной системы, увидеть её состовляющие и узнать «кто за что здесь отвечает». Здесь и далее в теме все примеры распаковки/запаковки образов boot и recovery будут приведены с использованием Android Image Kitchen (в дальнейшем просто «кухня», ссылка на неё в шапке) от osm0sis в операционной системе Windows. Т.е. не стоит воспринимать процесс дословно, если Вы пользуетесь другим средством или набором средств.
Для начала убедимся, что все умеют работать с кухней:
Установив/распаковав её в любом удобном для нас месте (для меня это «Рабочий стол»), заглянем внутрь. Здесь мы видим текстовый файл с перечнем всего, что было использовано при создании, одну (пока одну) папку, в которой содержится необходимое утилите ПО, и три «bat-файла» (далее просто «батники»): «cleanup.bat», «repackimg.bat» и «unpackimg.bat». Что они делают:
— unpackimg.bat — распаковует лежащий рядом с ним файл, имеющий расширение «.img», и имя, отличное от «new-image.img» (так кухня называет собранные в ней образы и, поэтому, не считает необходимым продолжать работу с ними).
— repackimg.bat — перепаковует распакованный ранее образ, учитывая правки пользователя. Файл на выходе будет иметь название «new-image.img».
— cleanup.bat — удаляет из кухни все результаты СВОЕЙ работы. Сюда входят папки «ramdisk» и «split_img», включая их содержимое, и файл «new-image.img». Все остальные файли остаются на месте.
Начинаем изучение содержимого TWRP. Возьмём интересующий нас образ и распакуем его. Увидим, что появилось две новые папки: «ramdisk» и «split_img».
Для упрощения и согласования информации, изложенной далее, предположим, что образ имеет название «twrp.img». Коротко о содержимом «split_img»:
Здесь расположены примерно* следующие файлы:
twrp.img-base
twrp.img-board
twrp.img-cmdline
twrp.img-hash
twrp.img-headerversion
twrp.img-imgtype
twrp.img-kerneloff
twrp.img-oslevel
twrp.img-osversion
twrp.img-pagesize
twrp.img-ramdisk.cpio.gz **
twrp.img-ramdiskcomp
twrp.img-ramdiskoff
twrp.img-secondoff
twrp.img-tagsoff
twrp.img-zImage
Для чего эти файлы:
-base — сообщает базовый offset (пример содержимого «80000000»).
-board — сообщает целевую платформу (пример содержимого «msm8937»), может быть пустым.
-cmdline — сообщает некоторые команды запуска ядра: платформу (androidboot.hardware=), состояние SElinux, которое будет использовано при запуске (androidboot.selinux=), тип сборки (buildvariant=) и т.д..
-hash — сообщает метод хеширования (пример содержимого «sha1»).
-headerversion — сообщает версию заголовка (пример содержимого «0»).
-imgtype — сообщает формат образа (пример содержимого «AOSP»).
-kerneloff — сообщает offset ядра (пример содержимого «00008000»).
-oslevel — сообщает Security Patch Level (пример содержимого «2019-07»).
-osversion — сообщает целевую версию Android OS (пример содержимого «9.0.0»).
-pagesize — сообщает размер одного блока (пример содержимого «4096»).
-ramdisk.cpio.gz — содержит ramdisk распакованного образа в сжатом виде.
-ramdiskcomp — сообщает ифнормацию о формате, в котором упакован ramdisk*** (пример содержимого «gzip»).
-ramdiskoff — сообщает offset содержащегося ramdisk (пример содержимого «01000000»).
-secondoff — сообщает offset (чего конкретно не разобрался, пример содержимого «00f00000»).
-tagsoff — сообщает offset atags (пример содержимого «00000100»).
-zImage — ядро****.
*Т.к. структура образа boot/recovery вариируется в зависимости от марки, модели, платформы, взглядов на жизнь производителя и текущего положения галактик в отношении «синего карлика», то нужно считать пример обобщённым и учитывать возможные отличия.
**twrp.img-ramdisk.cpio.gz — это пример распакованной части образа, содержащей «ramdisk». Почему пример? Потому, что это архив в чистом виде. Расширение «.gz» будет присутствовать только в том случае, если «ramdisk» сжат в формате gzip. Но могут быть и другие! Неполный перечень в виде «расширение — формат»:
gz — gzip
lzo — lzop
xz — xz
lzma — lzma (иногда тоже xz)
bz2 — bzip2
lz4 — lz4
***Это очень важный момент и мы будем активно и охотно его использовать. Для того, чтобы собранный нами TWRP помещался в раздел /recovery телефона, он должен подходить по размеру. Но мы ведь хотим «запихнуть» в нашу сборку всего-привсего и много-примного! Чтобы уместить всё «добро» будем плотнее сжимать ramdisk, изменяя формат сжатия. gzip не сильно нам поможет сделать сборку компактной — лучше использовать lzma. Вот для этого изменяем в файле «twrp.img-ramdiskcomp» содержащееся там «gzip» (к примеру) на «lzma». Всё! Значение заменяем только раз. С этого момента и далее наша сборка будет сжиматься гораздо плотнее. Но! Для использования этого способа сжатия оно должно поддерживаться ядром!
****TWRP способно использовать для работы практически любое ядро, собранное для Вашего устройства. Заменить его на более актуальное иногда полезно, а иногда и просто необходимо! Для поддержки упомянутого ранее сжатия ramdick в lzma может потребоваться взять zImage от boot из свежей кастомной прошивки или из сборки TWRP, в которой поддержка уже реализована. Также версия ядра влияет на то, способно ли будет наше кастомное рекавери расшифрововать для работы раздел /data. Запомните этот момент!
/.android/adbkey.pub в /adb_keys чтобы не отключать ro.secure.
Это ключик для adb. Помогает при unauthorized состоянии. индивидуален для каждого юзера каждого компа на котором запускается adb. Наверняка все видели запрос подтверждения доступа по adb после вайпа или при подключении нового компа к девайсу. Вот в этот момент на девайсе сохраняется публичный ключ adb. Сохраняется он в файл /data/misc/adb/adb_keys (напоминает
/.ssh/authorized_keys, только без наворотов — ключ и всё). При портировании прошивок эта проблема (device unauthorized) бывает, если порт в бутлупе и не догружается до «гуёв» (пользовательского интерфейса (рабочего стола)). Ещё можно упомянуть про то, что adbd из user-прошивок не имеет возможности переключения в root-режим через adb root. Для работы этой фичи надо заменять adbd (впрочем, это уже скорее про boot.img, а не recovery.img).
Сообщение отредактировал Идите Лесом — 06.09.19, 23:39
Пример добавления в интерфейс TWRP кнопки и программирования её на выполнение shell скрипта уже изложен в теме. Теперь посмотрим, как ещё можно это использовать.
Собственно утилиты:
Сообщение отредактировал Идите Лесом — 29.02.20, 09:57
Зачем? Уже известно множество случаев неправильной работы апплетов из «стокового» busybox TWRP. Утилита mount, к примеру, не была способна примонтировать образ раздела в ext4, а sed упорно не хотел производить простейшие операции со строками в файлах. Чтобы адекватно работали все патчи, функции и «плюшки» настоятельно рекомендую загружать busybox из надёжных источников и поддерживать его в актуальном состоянии.
Варианты:
https://busybox.net/downloads/binaries
Сообщение отредактировал Идите Лесом — 05.09.19, 22:08
Сообщение отредактировал Идите Лесом — 21.01.20, 16:14
<language>
<display>Русский</display>
<!— Translated by Jemmini; modified by agur4ik, SevenMaxs, S-trace 2017 —>
Что такое TWRP Recovery и как с помощью него делать резервные копии, восстановить Android, установить пошивки, ядра, патчи и прочее. Полная инструкция
Каждый начинающий пользователь Android планшета или телефона, рано или поздно задумывается о необходимости получения root прав на своем устройстве или об установке на него альтернативной прошивки, загрузочной анимации и прочего.
Читая инструкции о том, как всё это сделать, он зачастую сталкивается с понятием модифицированного или альтернативного рекавери, такого, как ClockworkMod Recovery или TWRP Recovery. Что такое модрекавери, а также инструкцию по ClockworkMod Recovery вы можете почитать в этой статье, а сегодня я хочу ознакомить вас поближе с еще одним популярным модифицированном рекавери — TWRP Recovery от команды разработчиков Teamwin.
Прежде, чем вы начнете читать инструкцию по TWRP Recovery, хочу отметить, что большинство из пользователей предпочитают пользоваться именно этим рекавери из-за того, что но по сравнению с ClockworkMod имеет следующие преимущества:
• Более удобный сенсорный интерфейс
• Функцию настройки некоторых опций.
• Прозрачный способ выбора того, что мы хотим включить в резервную копию
• Поддержку пакетной установки zip файлов
• Блокировка экрана нажатием на кнопку включения
• Поддержка S-Pen на планшетах и телефонах Galaxy Note
Инструкция по работе с TWRP Recovery:
Введение в альтернативное recovery TWRP
TWRP Recovery – это гораздо более мощная, по сравнению с заводской, утилита (меню) восстановления системы, которая позволяет делать полные резервные копии всей системы устройства, устанавливать на него программное обеспечение, прошивки, ядра и многое другое, что обычно не позволяет делать заводское рекавери. TWRP, устанавливается в специальный системный раздел внутренней памяти планшета или телефона, на место заводского рекавери.
TWRP Recovery может выручить вас в некоторых, казалось бы, безвыходных ситуациях. Даже если ваш планшет или телефон перестал загружаться, во многих случаях с помощью TWRP вы можете восстановить систему из резервной копии, со всеми ее настройками и приложениями.
Вот примерный перечень того, что вы можете делать с помощью TWRP Recovery:
• Устанавливать кастомные прошивки и неофициальные ядра
• Устанавливать заводские обновления системы, дополнения и исправления
• Подключаться к компьютеру через USB, в режиме съёмного накопителя
• Создавать полную резервную копию текущей прошивки и отдельных её частей (система, настройки, приложения)
• Восстанавливать устройство из ранее созданной резервной копии
• Делать сброс на заводские настройки (Wipe – data/factory reset), очищать кеш (wipe cache), очищать далвик-кеш (wipe Dalvik-cache), очищать статистику батареи (wipe battery stats)
• Создавать разделы на карте памяти и форматировать их
• Выполнять команды терминала
• Работать с файлами на вашем устройстве
Установка TWRP Recovery
Для множества смартфонов и планшетов установка TWRP Recovery – довольно простая процедура, достаточно лишь установить из Маркета такую программу, как GooManager и выбрать в её меню пункт «Install OpenRecovery Script»:
Для многих устройств, таких, как например планшеты и смартфоны Nexus существуют отдельные утилиты, подобные Google Nexus 7 Toolkit. Также, TWRP Recovery можно устанавливаться помощью программы adb.
Запуск TWRP Recovery
Загрузить планшет или телефон в TWRP Recovery можно несколькими способами.
1. С помощью cпециальной программы, такой как GooManager, выбрав в ее меню пункт «Reboot Recovery» — «Загрузить режим Recovery».
2. С помощью нажатия определенной комбинации клавиш при включении устройства. Эта комбинация зависит от модели устройства. На многих устройствах в рекавери можно попасть, нажав при их включении одновременно кнопки уменьшения громкости и включения питания.
3. С помощью программы ADB. Если вы настроили подключение к компьютеру с помощью программы ADB, загрузить свой планшет в recovery вы можете с помощью команды:
adb reboot recovery
Назначение пунктов меню TWRP Recovery
Загрузив свой планшет или телефон в TWRP Recovery, вы, прежде всего, увидите его основное меню:
Скриншоты сделаны в одной из последних (на момент написания статьи) версий TWRP recovery 2.3.2. Более новые версии TWRP, а также версии для разных устройств могут иметь немного другое меню, но основные его функции останутся без изменений.
Кроме того, внешний вид TWRP recovery на вашем устройстве может быть другим — он может меняться в зависимости от темы оформления.
Благодаря сенсорному интерфейсу рекавери, перемещаться по его пунктам и выбирать нужные опции очень просто – достаточно нажать на определенный элемент пальцем.
Во всех подменю, вернуться в предыдущее меню можно, нажав на кнопку возврата, расположенную в нижней (смартфон) или верхней правой (планшет) части экрана.
В верхней части экрана вы видите процент заряда батареи и текущее время.
Назначение пунктов основного меню:
1. Install – установка прошивок и дополнений
Это один из самых часто используемых пунктов TWRP Recovery.
С его помощью можно устанавливать, как официальные, так и неофициальные (кастомные) прошивки, устанавливать ядра, темы и прочее программное обеспечение, которое должно находиться в zip файле, размещенном на встроенной памяти вашего устройства.
После выбора файла вы попадаете в следующее меню, где можете выбрать добавление следующего файла в очередь прошивки (кнопка Add More Zips) или начать прошивку выбранного файла с помощью слайдера, расположенного в нижней части экрана.
С помощью опции Zip Signature verifications включается режим проверки подписи zip файла.
С помощью опции Force MD5 check on all Zips можно включить проверку контрольных сумм MD5 для всех устанавливаемых на устройство zip файлов.
2. Wipe – очистка и сброс к заводским настройкам
С помощью этой опции вы можете очистить такие разделы как кэш (Cache), Dalvilк Cache, System, а также сделать сброс к заводским настройкам – Factory Reset, после которого ваш телефон или планшет вернется к тому состоянию, в котором он продавался в магазине.
Также можно очистить внешнюю карту памяти – External Storage и внутреннюю память – Internal Storage, очистить системную папку android_secure и сделать очистку статистики использования батареи – Wipe Battery Stats.
Как и в остальных пунктах меню, подтвердить старт той или иной операции вы должны будете с помощью слайдера, который появляется в нижней части экрана. Отменить операцию можно с помощью кнопки «Назад».
3. Backup – создание резервной копии системы.
Еще один из самых важных пунктов TWRP. С помощью него, вы можете сделать полную копию всей системы планшета, вместе с данными и приложениями, имеющимися в его внутренней памяти — так называемый Nandroid Backup.
Здесь вы можете:
• Выбрать разделы, которые нужно сохранить: System, Data, Boot, Recovery, Cache, Uboot, NVram
• Узнать объем свободного места на носителе: Free Space
• Включить сжатие резервной копии: Enable Compression
• Отключить создание файлов с контрольными суммами резервных копий: Skip MD5 generation during backup
• Выбрать карту памяти для хранения резервных копий: Use external SD
• Выбрать внутреннюю память устройства для хранения резервных копий: Use internal storage
• Задать имя файла резервной копии — кнопка Set Backup name
• Персчитать размеры разделов — кнопка Refresh Sizes
Как обычно, подтвердите свой выбор с помощью слайдера, и TWRP начнет процесс создания резервной копии:
После этого вы можете перезагрузить планшет или телефон – кнопка Reboot System, а также вернуться назад или в главное меню TWRP с помощью соответствующих кнопок.
4. Restore – восстановление системы из ранее сделанной резервной копии.
Здесь вы можете:
— Выбрать карту памяти для поиска резервных копий: Use external SD
— Выбрать внутреннюю память устройства для поиска резервных копий: Use internal storage
Имена резервных копий состоят из даты и времени их создания. Вы можете сортировать файлы по:
• Возрастанию «Sort Ascending» имени, даты и размера
• Убыванию «Sort Descending» имени, даты и размера
После выбора резервной копии у вас будет возможность:
• Выбрать разделы (System, Data, Boot, Recovery, Cache, Uboot, NVram), которые вы хотите восстановить,
• Переименовать резервную копию «Rename Backup»
• Удалить резервную копию «Delete Backup»
• Включить проверку контрольных сумм MD5 файлов резервных копий
Начать восстановление можно подтвердив свой выбор с помощью слайдера.
5. Mount – монтирование отдельных разделов, их форматирование и монтирование устройства в качестве USB накопителя при подключении к компьютеру
Монтирование, делает разделы или папки доступными для использования.
Пункты этого меню означают следующее:
• Mount / Unmount System – монтирование или отмонтирование системного раздела
• Mount / Unmount Data – монтирование или отмонтирование раздела с данными
• Mount / Unmount Cache — монтирование или отмонтирование раздела с кешем
• Mount / Unmoun Sdcard — монтирование или отмонтирование карты памяти
• Mount / Unmoun Internal – монтирование или отмонтирование внутренней памяти
Кнопка «Mount USB storage» – подключение планшета или телефона к компьютеру в режиме съёмного накопителя
При этом вы можете выбрать для монтирования:
• Карту памяти: Use external SD
• Внутреннюю память: Use internal storage
6. Settings – настройки TWRP
Здесь вы можете задать опции по умолчанию, которые TWRP Recovery будет использовать по умолчанию при создании и восстановлении резервных копий, а также при установке zip файлов:
• Zip file signature verification: проверка подписи zip файла
• Force MD5 check for all zips: проверка контрольных сумм для всех zip файлов
• Use rm –rf instead of formatting: удаление файлов вместо форматирования при очистке разделов
• Skip MD5 generation during backup: отключить создание контрольных сумм при резервном копировании
• Ignore image size errors during backup: игнорировать ошибки размера файлов при резервном копировании
Кнопка «Time Zone» служит для выбора вашей временной зоны
Кнопка «Restore Defaults» предназначена для сброса настроек к настройкам по умолчанию
7. Advanced – дополнительные функции TWRP
Это меню состоит из следующих пунктов:
• Copy Log to SD – копирование лога операций в файл на карту памяти.
• Fix Permissions – исправить права доступа к файлам и разделам. Этот пункт используется для того, чтобы вернуть к заводскому состоянию права доступа к системным файлам и папкам, которые могут быть изменены некорректной работой некоторых root приложений, что может привести к зависаниям и сбоям в работе планшета или телефона.
• Partition SD Card – создание разделов на карте памяти. Этот пункт используется для создания /sd-ext и /swap разделов на карте памяти. Раздел /sd-ext может использоваться некоторыми прошивками при нехватке внутренней памяти устройства, например для расширения раздела /data. Раздел /swap обычно используется для ускорения работы Android устройства.
• File Manager – менеджер файлов. Здесь вы можете выбрать файл и выполнить над ним следующие операции:
Copy — копировать файл
Move – перемещать файл
Chmod 755 – задать права доступа 755 (как у всех системных файлов)
Chmod – задать любые другие права доступа
Delete – удалить файл
Rename File – переименовать файл
• Terminal Command – выполнить в выбранной директории команду терминала в стиле команд adb
Также в разделе Advanced могут размещаться и другие кнопки, которые может добавлять разработчик при сборке рекавери из исходных кодов для конкретного устройства.
8. Reboot – перезагрузка устройства
Здесь вы можете выбрать следующее:
System – полностью перезагрузить планшет или телефон
Recovery – перезагрузить рекавери
Power Off – выключить устройство.
Установка прошивок, обновлений, ядер и прочего, на Android устройство с помощью TWRP
Все альтернативные прошивки, кастомные ядра, русификаторы, дополнения, украшения, пакеты приложений, которые можно установить на планшет или телефон с помощью TWRP recovery- упакованы в виде zip файлов.
Прежде чем что либо устанавливать на свое устройство, не забудьте сделать полную резервную копию текущей прошивки, чтобы потом можно было безболезненно вернуть ваш планшет или телефон в исходное состояние.
Убедитесь, что аккумулятор вашего устройства заряжен как минимум на 60 процентов, а лучше полностью, и отключите его от компьютера и зарядного устройства.
Файл, который вы хотите прошить, скопируйте в память устройства или на карту памяти, лучше всего в ее корень, НЕ РАСПАКОВЫВАЯ ЕГО. Убедитесь, что имя файла состоит только из латинских букв и цифр и не содержит пробелов и специальных символов.
Если вы устанавливаете новую прошивку, обязательно сделайте полную очистку с помощью пункта «Wipe»
Приступаем к прошивке:
1. Перезагружаем устройство в TWRP recovery
2. Выбираем пункт «Install»
3. Выбираем:
• Карту памяти: Use external SD
• Внутреннюю память: Use internal storage
4. Выбираем zip файл
5. С помощью опции Force MD5 check on all Zips включаем проверку контрольных сумм MD5 если у вас имеется файл md5 в комплекте с вашим zip файлом.
6. Начинаем прошивку, подтвердив выбор с помощью слайдера
Вы можете также выбрать до 10 zip файлов, которые установятся за один раз с помощью кнопки «Add More Zips» или очистить список ранее выбранных файлов с помощью «Clear Zip Queue»
После прошивки любых zip файлов крайне рекомендуется делать очистку кеша и dalvik кеша.
How to Factory Reset/Format Data on Android
In this guide, we will show you various methods to perform a factory reset or format data on your Android device. Erasing all the data from your device is usually the last approach that one could opt for, but in some cases, that might be your only way out. For example, if the device is not working along the expected lines, is frequently lagging, and apps are slowing down, then you might have no choice but to give reset a try.
Likewise, if the data on your device has got corrupted, then it might get stuck in recovery mode, and formatting the device might be your only way to gain access to the OS. Apart from that, if you have forgotten your device unlock pattern, then resetting your device is the only way of removing that pattern/PIN lock. Moreover, if you are in the process of switching from one custom ROM to another, then doing a factory reset of your Android device is a must.
Well, these are just some of the reasons, there could be a plethora of others as to why you would want to carry out this reset. With that said, there exist around 4-5 different methods through which you could factory reset/format data on your Android device. And this plants a seed of confusion in the mind of users as to which method they should opt for. If you are also having a similar doubt, then this guide is here to help you out. Follow along.
It goes without saying that the methods listed below will wipe off all the data from your device. So please take a complete device backup beforehand. In my case, most of the data are backed up via Settings > System > Backup. Then the files in the Internal Storage [especially in the Downloads and Documents folder] are backed up over to Google Drive, and all the media files are synced via Google Photos. Moreover, make sure to manually take a WhatsApp chat backup as well.
Table of Contents
Factory Reset/Format Data on Android via Settings Menu
- Head over to Settings > System > Reset Options.
- Then go to Erase All Data and tap on Erase All Data.
- Now type in your PIN/Password to confirm your identity.
- The factory reset/format data of your Android device will now start.
Factory Reset/Format Data on Android via Fastboot Mode
- Download and extract Android SDK Platform Tools on your PC.
- Then enable USB Debugging and connect your device to your PC.
- Now type in CMD in the platform-tools folder address bar and hit Enter.
- Then type in the below command to boot your device to Fastboot Mode:
Factory Reset/Format Data on Android via Stock Recovery
- First off, download and extract Android SDK Platform Tools on your PC.
- Then enable USB Debugging and connect your device to your PC.
- Now type in CMD in the platform-tools folder address bar and hit Enter.
- Then type in the below command to boot your device to Recovery Mode:
- Now use the Volume Keys to select Wipe Data/Factory Reset and press the Power key to confirm.
- Wait for the process to complete. Once done, select Reboot System Now.
Factory Reset/Format Data on Android via TWRP Recovery
- First off, download and extract Android SDK Platform Tools on your PC.
- Then, download twrp.img and place it in the platform-tools folder.
- Then enable USB Debugging and connect your device to your PC.
- Now type in CMD in the platform-tools folder address bar and hit Enter.
- Then type in the below command to boot your device to Fastboot Mode:
Factory Reset/Format Data on Android via AOSP Recovery
- First off, download and extract Android SDK Platform Tools on your PC.
- Then enable USB Debugging and connect your device to your PC.
- Now type in CMD in the platform-tools folder address bar and hit Enter.
- Then type in the below command to boot your device to Recovery Mode:
- Now select Factory Reset > Format Data/Factory Reset > Format Data.
- Wait for the process to complete. Once done, select Reboot System Now.
Factory Reset/Format Data on Android via ADB Command
- To begin with, download and extract Android SDK Platform Tools on your PC.
- Then enable USB Debugging on your device and connect it to PC via USB cable.
- Now open CMD inside the platform-tools folder and type in the below command:
That’s it. These were the various methods through which you could perform a factory reset/format data on your Android device. If you have any queries concerning the aforementioned steps, do let us know in the comments. We will get back to you with a solution at the earliest.
About Chief Editor
Sadique Hassan
A technical geek by birth, he always has a keen interest in the Android platform right since the birth of the HTC Dream. The open-source environment always seems to intrigue him with the plethora of options available at his fingertips. “MBA by profession, blogger by choice!”