Розділи внутрішньої пам'яті ROM Android - проясним наболіле про розмітку системної пам'яті. Прихований розділ у Windows

Ті, хто повсякденно користуються планшетом або смартфоном на основі ОС Android, часто хочуть отримати більший функціонал, ніж надається при покупці. Для цього потрібно отримати root права (доступ до повноважень адміністратора), встановити кастомну прошивку, встановити іншу завантажувальну анімацію та багато іншого.

Коли користувач вивчає інформацію щодо зміни свого пристрою, часто доводиться стикатися зі згадкою модифікованого кавері, який зазвичай називається ClockworkMod Recovery або TWRP Recovery. Загальне поняття про модрекавер і ви можете знайти в інших статтях, а тут ми познайомимося з іншим відомим типом модифікованого заводського меню, а саме - з TWRP Recovery, який розробила команда Teamwin.

До того, як ми торкнемося вивчення функцій TWRP Recovery докладніше, необхідно помітити, що в порівнянні з ClockworkMod є ряд особливостей, завдяки яким багато користувачів вважають за краще використовувати саме TWRP:
- можливість повноцінно використовувати тач для керування функціями модрекавері;
- Гнучкіше налаштування ряду опцій;
- Підтримка установки відразу декількох zip файлів;
- Докладне меню вибору того, що необхідно зберегти в резервних копіях;
- можливість користуватися S-Pen на планшетофонах Galaxy Note;
- блокування екрану та сплячий режим за допомогою кнопки живлення.

Посібник користувача під час роботи з модрекавері TWRP Recovery
1. Загальна інформація про TWRP
2. Встановлення TWRP Recovery
3. Як потрапити до меню TWRP Recovery
4. Детальний розгляд основних функцій у меню TWRP Recovery
5. Перепрошивка, заміна системних файлів, встановлення оновлень, модифікацій на пристрої Android за допомогою TWRP

Що таке TWRP Recovery

Познайомимося з тим, що являє собою TWRP Recovery.
У порівнянні зі стандартним заводським меню, TWRP Recovery відрізняється значною кількістю доступних користувачеві функцій. За допомогою нього можна зберігати повний зліпок системи, встановлювати нестандартне програмне забезпечення, інші прошивки, замінювати ядро ​​ОС, відновлювати систему з резервної копії, доступні і багато інших можливостей. TWRP записується в особливий розділ внутрішньої пам'яті телефону або планшета, замінюючи собою заводське рекавері.
Найчастіше, у ряді, на перший погляд, безвихідних ситуацій, TWRP Recovery може допомогти. Незважаючи на те, що телефон може перестати завантажуватися, нерідко, скориставшись TWRP, можна повністю відновити працездатність пристрою з резервної копії, зберігши всі установки, програми та їх налаштування.

Наведемо короткий перелік основних можливостей TWRP Recovery:
- встановлення альтернативних (кастомних) прошивок, або ядер;
- встановлення оновлень системи, виправлень, внесення коректив у функції гаджета;
- створення повної резервної копії системи або окремих її частин (даних додатків, системного розділу, кешу, налаштувань);
- Підключення за допомогою USB шнура до комп'ютера як знімний накопичувач;
- відновлення попереднього стану системи з раніше збереженої резервної копії (бекапа);
- редагування розділів на карті пам'яті (створення, форматування, видалення);
- Можливість скидання на заводські установки (Wipe – data/factory reset). Можна видаляти лише частину даних замість повного скидання до вихідного стану: видалення статистики батареї (wipe battery stats), очищення кешу (wipe cache), стирання далвік-кешу (wipe Dalvik-cache);
- використання як термінал для виконання команд;
- Можливість працювати із системними файлами на планшеті або телефоні.

Встановлення TWRP Recovery

Щоб встановити TWRP Recovery на більшість пристроїв, багато зусиль не потрібно. Якщо інсталювати з Google Play програму GooManager, то можна в її меню скористатися функцією "Install OpenRecovery Script".

Багато гаджетів на Андроїд, наприклад смартфони і планшети Nexus, мають спеціально призначені програми, як Google Nexus 7 Toolkit, де є функція встановлення модифікованого рекавері. Крім того, скориставшись програмою adb, також можна інсталювати TWRP Recovery.

Як потрапити до TWRP Recovery

Для того, щоб увійти в меню модифікованого рекавері, можна скористатися кількома способами:
1. За допомогою натискання особливої ​​комбінації клавіш при включенні гаджета. Комбінація може відрізнятися для різних моделей пристроїв на Андроїді. Наприклад, на ряді пристроїв потрапити в рекавері можна, затиснувши під час включення клавіші збільшення гучності звуків і кнопки живлення.
2. Скориставшись спеціалізованою програмою, як GooManager і та Titanium Backup, які дозволяють вибрати у своєму меню функцію завантаження в режим Recovery, пункт "Reboot Recovery".
3. Якщо на ПК встановлені відповідні гаджету драйвера і налаштовано підключення за допомогою програми ADB (т.зв. ADB shell), то під'єднавши до пристрою USB провід від комп'ютера, можна запустити на виконання команду:

adb reboot recovery

Основні функції та меню TWRP Recovery

Завантаживши телефон або планшет у TWRP Recovery, ви насамперед потрапите до головного меню.

У цій інструкції розглядаються функції та можливості TWRP Recovery версії 2.3.2, яка є найбільш актуальною на момент написання статті. Інші версії TWRP можуть володіти трохи іншим інтерфейсом, проте головний функціонал залишиться таким же як і в версії, яку ми розглядаємо.

Зовнішній вигляд TWRP recovery також може трохи відрізнятися, залежно від конкретного пристрою та вибраної теми оформлення.
Оскільки TWRP recovery підтримує сенсорне керування, то вибирати потрібні пункти меню і переміщатися по них дуже просто - достатньо, так само як і при звичайному використанні гаджета, натискати на потрібний елемент пальцем.
Якщо ви хочете повернутися до попереднього меню, то в кожному підменю знаходиться в нижній (телефон) або верхній правій (планшет) частині дисплея кнопка повернення. Також зверху показано відсоток заряду акумулятора та поточний час.

Функції основних пунктів меню:
1. Install

Використовується для встановлення прошивок, патчів та модифікацій.
Це одна з найбільш застосовуваних функцій TWRP Recovery.
Скориставшись цією опцією, можна встановити кастомні (неофіційні), офіційні прошивки, програми в системний розділ, замінювати ядра, змінювати бутанімацію, теми оформлення та інше. Оновлення встановлюються з файлів, що знаходяться в будь-якому місці карти пам'яті пристрою, у форматі zip.
Вибравши потрібний файл, відкривається меню, в якому можна додати наступне оновлення. Таким чином, можна скласти чергу, за якою буде проходити установка патчів (пункт Add More Zips). Після того, як потрібні файли вибрано, потрібно почати прошивку, простягнувши зліва праворуч слайдер, який знаходиться в нижній частині дисплея.

Функція Zip Signature verifications може активувати перевірку цифрового підпису файлів zip.
За допомогою пункту Force MD5 check on all Zips активується перевірка оновлень, що встановлюються на відповідність контрольних MD5 сум.

2. WipeМеню очищення та видалення даних

У цьому розділі можна очищати пам'ять телефону, як повністю повернувшись до заводських налаштувань (Factory Reset), так і обравши очищення лише певної її частини, як системний розділ System, кеш (Cache), або Dalvilк Cache. Після застосування Factory Reset пристрій повернеться до стану, у якому надійшов із заводу.
Крім цього, є можливість очистити внутрішню пам'ять (Internal Storage) або зовнішню карту SD (External Storage), очистити папку, де зберігаються встановлені на зовнішньому носії програми (android_secure) або скинути лічильник статистики батареї (Wipe Battery Stats).
Аналогічно іншим функціям, що виконуються, підтвердити свій вибір можна, скориставшись слайдером, який з'явиться в нижній частині дисплея. Скасувати виконання завдань можна, топнувши по кнопці "Назад".

3. BackupРозділ резервування даних чи системи

Це один із найважливіших пунктів у модифікованому рекаверрі. Тут можна зробити резервну копію всієї системи телефону або планшета, включаючи дані програм та встановлення пристрою - Nandroid Backup.

У цьому розділі можна:
- Вибрати частини пам'яті, які потрібно зарезервувати: Data, System, Recovery, Boot, Uboot, Cache, NVram;
- Подивитися на доступний обсяг місця у пам'яті (Free Space);
- вимкнути створення контрольних сум у файлах резервів (Skip MD5 generation during backup);
- активувати стиск файлів бекапа (Enable Compression);
- Вибрати для збереження резервних даних внутрішню пам'ять пристрою (Use internal storage);
- Вибрати зовнішню картку пам'яті для збереження файлів бекапа (Use external SD);
- Оновити інформацію щодо вільної пам'яті в розділах (Refresh Sizes);
- Встановити назву резервної копії (Set Backup name).
Також, як і раніше, активувати запуск вибраних вами функцій можна за допомогою слайдера, після чого буде показано прогрес виконання операції.

Коли процес завершиться, можна перезавантажити гаджет, скориставшись опцією Reboot System, або повернутися до головного меню TWRP, скориставшись стрілкою.

4. RestoreМеню відновлення частин або повністю системи із раніше створеної резервної копії

У цьому розділі надаються такі можливості:
- вибір внутрішньої пам'яті пристрою як місце, де здійснюватиметься пошук резервних копій (Use internal storage);
- Встановити зовнішню карту пам'яті як розділ, де рекавері шукатиме бекап (Use external SD).
Якщо ви не змінювали налаштування під час створення бекапа, за промовчанням імена резервних копій складаються з числа та часу створення. Файли можна відсортувати такими способами:
- за зростанням (Sort Ascending) або спаданням (Sort Descending) дати створення;
- Збільшення або зменшення розміру резервних копій.

Коли знайдена резервна копія, надається наступний вибір функцій:
- відзначити розділи, які потрібно відновити (Data, System, Recovery, Boot, Uboot, Cache, NVram);
- Видалити цю резервну копію (Delete Backup);
- дати інше ім'я вибраної резервної копії (Rename Backup);
- Включити перевірку контрольних MD5 сум у файлах резервних копій.

Почати виконання вибраної операції, підтвердивши вибір, скориставшись слайдером внизу екрана.

5. Mount

Тут ви можете монтувати та розмонтувати розділи та здійснювати операції з ними. При монтуванні дані, що містяться на розділі, стають доступними.

У цьому розділі є функції:
- Монтування, розмонтування системного розділу (Mount/Unmount System);
- Монтування, розмонтування кеш розділу (Mount/Unmount Cache);
- Монтування, розмонтування розділу даних (Mount/Unmount Data);
- Монтування, розмонтування внутрішньої пам'яті (Mount/Unmount Internal);
- Монтування, розмонтування зовнішньої картки пам'яті (Mount/Unmount Sdcard);
- Підключення пристрою до ПК як накопичувача (Mount USB storage). Тут до ПК можна підключити карту SD (Use external SD) або вбудовану пам'ять гаджета (Use internal storage).

6. SettingsНалаштування модифікованого рекавері

Тут задаються установки, які TWRP Recovery буде використовувати за умовчанням під час виконання функцій:
- Включити/вимкнути перевірку цифрового підпису встановлюваних файлів (Zip file signature verification);
- увімкнути/вимкнути перевірку контрольних сум для будь-яких файлів формату zip (Force MD5 check for all zips);
- стирання файлів замість форматування під час очищення пам'яті (Use rm-rf instead of formatting);
- не враховувати помилки у розмірах файлів, коли проводиться резервне копіювання (Ignore image size errors during backup);
- не створювати контрольні суми під час створення бекапа (Skip MD5 generation during backup);
- Вибрати свою тимчасову зону (Time Zone);
- Повернутись до установок TWRP Recovery за замовчуванням (Restore Defaults).

7. AdvancedДодаткові опції TWRP

Тут можна:
- активувати збереження файлу лога операцій на картку пам'яті (Copy Log to SD);
- Повернутися до початкового стану права доступу на системні папки та файли, які можуть порушуватися деякими програмами з root привілеями. Іноді порушення прав доступу може призвести до збоїв та зависань планшета або телефону (Fix Permissions);
- Змінювати розділи на карті пам'яті (створювати, видаляти, створювати кеш-файли swap). Swap зазвичай застосовується для того, щоб прискорити роботу Андроїд пристроїв. (Partition SD Card).
Тут можна виконати наступні команди: Copy (копіювати файл), Move (перемістити файл), Chmod 755 (встановити права доступу 755, які за промовчанням використовуються для всіх системних файлів), Chmod (встановити інші права), Delete (видалити файл), Rename File (перейменувати файл);
- Виконати команду, введену вручну в режимі терміналу (як і з ПК за допомогою інтерфейсу adb Sshell) (Terminal Command).

8. Reboot

За допомогою цього пункту можна перезавантажити пристрій. Доступні опції:
- перезавантажитись у робочий режим пристрою (System);
- перезавантажитись у рекавері (Recovery);
- вимкнути планшет або телефон (Power Off).

Перепрошивка, заміна системних файлів, встановлення оновлень, модифікацій на пристрої Android за допомогою TWRP

Щоб встановити іншу прошивку або патч, потрібно ці файли у форматі zip скопіювати на картку пам'яті або у внутрішню пам'ять.

Далі виконуємо наступне:
1. Завантажуємося у TWRP recovery;
2. Вибираємо функцію "Install";
3. Вибираємо внутрішню (Use internal storage) або зовнішню пам'ять (Use external SD), залежно від того, куди ми скопіювали потрібні нам файли.
4. Знаходимо та вибираємо файл, який потрібно встановити.
5. Якщо у вас є файл md5 разом із Zip, то можна активувати перевірку сум (Force MD5 check on all Zips), інакше не робимо цього;
6. Запускаємо установку, простягнувши слайдер зліва направо.

Можна вибрати одразу 10 файлів zip, які послідовно будуть встановлені. Після закінчення процесу встановлення виконано.
Коли процес завершиться, рекомендується очистити кеш і dalvik кеш.

Кількість та вміст прихованих розділів відрізняються від виробника до виробника. Але, як правило, на комп'ютерах з Windows можна знайти такі розділи.

Розділ «Зарезервовано системою»

Windows 7, 8 та 10 створюють розділ «Зарезервовано системою», коли ви встановлюєте їх. Windows не призначає цьому розділу букву, тому зазвичай його не видно в «Провіднику». Але якщо ви запускали "Управління розділами" або аналогічну утиліту, то напевно помітили цей розділ. Для чого він системі?

Розділ "Зарезервовано системою" виконує дві функції.

  • По-перше, він містить менеджер та дані системного завантаження. Саме звідси починається завантаження системи.
  • По-друге, тут знаходяться файли, які використовуються системною утилітою для шифрування BitLocker. Це необхідно для завантаження системи, якщо ви вирішили зашифрувати системний розділ.

Розділ «Зарезервоване системою» займає 100 МБ простору у Windows 7, 350 МБ у Windows 8 та 500 МБ у Windows 10. Зазвичай розділ створюється протягом установки системи та розташовується перед основним системним розділом.

Розділ відновлення

Цей розділ містить образи системи від виробника, необхідні для відновлення системи та повернення до заводських налаштувань. Якщо ви видалите цей розділ, унеможливіть повернення до заводських налаштувань у середовищі відновлення Windows або через утиліти відновлення від виробника.

Розділи виробника

Деякі виробники ноутбуків, наприклад HP та ASUS, створюють на своїх дисках ще один додатковий розділ. Він може містити драйвери для ноутбука, додаткове програмне забезпечення, прошивки для оновлення BIOS та інші системні дані.

Як видалити або приховати системні розділи

Перед тим як змінювати або видаляти системні розділи, зважте на такі моменти.

  • Це не слід робити, якщо ваш комп'ютер або ноутбук на гарантії.
  • Варто зробити копію розділу про всяк випадок. Наприклад, щоб зберегти ліцензію на систему, придбану разом із ноутбуком.
  • Майте при собі завантажувальний диск з Windows, щоб перевстановити систему, якщо щось зламаєте.

Як видалити розділ

Якщо ви все-таки хочете видалити системні розділи, щоб позбутися встановлених програм, які вам не потрібні, це можна зробити кількома способами.

По-перше, можна скористатися такими програмами для керування розділами як Acronis Disk Director або Paragon Partition Manager . Або видалити розділ у стандартному керуванні розділами Windows.

По-друге, можна просто видалити непотрібні розділи через командний рядок.

Відкрийте командний рядок від імені адміністратора та введіть:

Потім виводимо список розділів:

Запам'ятайте номер вашого розділу та введіть:

select partition номер_розділу

Зрештою, вводимо:

delete partition override

І непотрібний розділ видаляється.

Як приховати розділ

Зазвичай системні розділи не відображаються у «Провіднику» і особливо помітні користувачеві. Але якщо один із системних розділів чомусь став видимим і дратує вас, його можна легко приховати.

Викличте «Керування розділами». Для цього можна натиснути Windows + R та ввести diskmgmt.msc. Потім знайдіть потрібний розділ, клацніть правою кнопкою миші і виберіть пункт меню «Змінити букву диска або шлях до диска». Потім видаліть букву диска.

Тепер непотрібний розділ перестане відображатись у «Провіднику».

Як запобігти створенню зарезервованого розділу

Ви можете запобігти створенню зарезервованого розділу під час інсталяції Windows, хоча робити це не рекомендується. Але ви можете встановити файли завантаження прямо в системний розділ.

  • Почніть інсталювати Windows і натисніть Shift + F10, щоб викликати вікно командного рядка.
  • Введіть diskpartта натисніть Enter.
  • Створіть новий розділ у нерозміченому просторі. Наприклад, якщо ви встановлюєте систему на порожній диск, можна просто вибрати його повністю. Або створити окремий розділ для документів та інших ваших даних, якщо хочете.
  • Продовжте встановлення. Коли вам запропонують створити новий розділ системи, просто виберіть той, що створили в попередньому пункті.

Так ви помістите і файли завантаження, і систему в один розділ. Правда, ви не зможете скористатися BitLocker. Зате зменшіть кількість розділів, які займає система. Це може бути корисно, якщо ви інсталюєте Windows другою системою і не хочете, щоб вона плодила розділи.

Прихований розділ у Windows

Продовжуючи тему прихованих файлів, порушену в попередній статті, сьогодні поговоримо про приховані розділи Windows. Чи є у вас такий розділ – з'ясувати це можна за допомогою оснастки керування дисками.

Для її відкриття натискаємо Win+Rта виконуємо команду diskmgmt.msc. Так, наприклад, у Windows 7 ви знайдете непізнаний диск розміром 100Мб без літери і з позначкою «Зарезервовано системою» (System reserved).

У Windows 8 і новіших ОС картина та сама, тільки диск буде розміром 350Мб.

Щоб з'ясувати, це за розділ, спочатку подивимося на його атрибути:

Система (System) - системний розділ, тобто. розділ, у якому зберігаються файли, необхідні завантаження системи;
Активний (Active) - використовується bios-ом для визначення розділу із завантажувачем ОС;
Основний розділ (Primary partition) – тип розділу. Тільки основний розділ можна зробити активним і використовуватиме розміщення файлів завантаження.

Як видно з атрибутів, цей розділ містить файли, потрібні для завантаження операційної системи. Так як ці файли дуже важливі, вони розташовуються на окремому розділі, а оскільки розділ не має літери диска, то доступ до нього з провідника або будь-якого іншого файлового менеджера неможливий. Це зроблено, щоб захистити їх від випадкового видалення.

Примітка.Цілком можливо, що ви знайдете у себе не один прихований розділ. Справа в тому, що деякі виробники комп'ютерів створюють власні приховані розділи, призначені для відновлення або повернення системи до початкового стану. Відрізнити їх досить просто — ці розділи не мають атрибуту Активний і у них набагато більший розмір.

Вміст прихованого розділу

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

і призначимо розділу будь-яку вільну букву. Після цього він перестане бути прихованим, з'явиться у провіднику і зможемо зазирнути у нього.

У Windows 7 на прихованому розділі знаходиться диспетчер завантаження bootmgr,а в папці Boot лежать файли конфігурації сховища завантаження (BCD).

У Windows 8 також на прихованому розділі є папка Recovery, в якій зберігається середовище відновлення Windows RE. Це дозволяє завантажитись у режимі відновлення при пошкодженні системного розділу, що дуже зручно. Для порівняння, у Windows 7 папка Recovery знаходиться на системному диску і при його пошкодженні знадобиться носій з дистрибутивом ОС або аварійний диск відновлення.

Примітка.У разі використання системи шифрування дисків BitLocker дані, необхідні для шифрування, також можуть зберігатися на прихованому розділі. Наявність окремого розділу необхідна для роботи BitLocker, оскільки автентифікація перед запуском і перевірка цілісності системи повинна виконуватися на окремому розділі, що не співпадає із зашифрованим розділом.

Створення прихованого розділу

Коли створюється прихований розділ і чи завжди він є? Створюється він не завжди, так що цілком можливо, що ви не знайдете у себе прихованого розділу. Справа в тому, що розділ створюється під час встановлення операційної системи і для його створення є кілька умов:

Завантаження має здійснюватися із зовнішнього носія (DVD або USB). Під час запуску програми інсталяції з-під Windows конфігурування розділів не проводиться;
Установка повинна виконуватись на нерозмічену область диска.

На практиці це виглядає таким чином. Ми запускаємо установку, доходимо до вибору диска, далі можливі варіанти. Якщо диск був розмічений раніше і на ньому немає незайнятого простору, прихований розділ створений не буде. Якщо диск не помічений і ми хочемо віддати весь вільний простір під систему, то просто тиснемо Далі і прихований розділ буде створено автоматично.

Якщо ми хочемо попередньо розмітити диск, то тиснемо «Створити», після чого інсталятор запропонує створити додатковий розділ. Якщо погоджуємося, то розділ створюється, не погоджуємося – розділ не створюється, а завантажувач та інші файли будуть розміщені на системному диску.

Видалення прихованого розділу

Ще одне важливе питання - чи можна видалити прихований розділ або файли на ньому і які можуть бути наслідки. Скажу відразу - система відчайдушно 🙂 захищає свої системні файли і просто взяти та видалити їх не дасть. Однак при великому бажанні та наявності прав адміністратора видалити вміст розділу або весь розділ цілком не так вже й складно. Ну а оскільки вся інформація, що зберігається в розділі, необхідна для завантаження, то змінивши щось на цьому розділі ви ризикуєте отримати помилку завантаження, наприклад таку.

На мій погляд, зберігати файли завантаження на окремому прихованому розділі — ідея хороша і правильна, я не можу уявити ситуацію, в якій потрібно позбутися прихованого розділу. Однак досі знаходяться ентузіасти, які витрачають купу часу на те, щоб отримати кілька зайвих мегабайт. Тому, щоб не довелося витратити ще більше часу на відновлення системи перед видаленням прихованого розділу з нього треба скопіювати завантажувальну інформацію. Робиться це у три етапи.

На першому етапі робимо активним системний диск, для чого відкриваємо командний рядок з правами адміністратора та виконуємо послідовність команд:

diskpart – запуск утиліти diskpart;
list disk – перегляд наявних у системі фізичних дисків;sel disk 0 - вибираємо потрібний диск;
list part - Перегляд наявних на диску розділів;
sel part 2 - вибираємо потрібний розділ;
active - робимо обраний розділ активним;
exit - Вихід з diskpart;

На другому етапі перезаписуємо завантажувальний сектор. Для цього нам знадобиться файл bootsect.exe, знайти який можна на диску з дистрибутивом Windows, у папці Boot. Копіюємо його на диск, скажімо в корінь диска С, а потім у командному рядку виконуємо команду:

C:\bootsect.exe /nt60 All /force

І третім етапом копіюємо файли завантаження:

bcdboot %Windir% /l ru-Ru /s C:

- ключ /l визначає вибір мови менеджера завантаження, наприклад. ru-ru для російськомовної системи, en-us для англомовної і т.д.
- ключ /s вказує на системний розділ, який ми зробили активним.

Після цих маніпуляцій перезавантажуємося, і якщо вдалося успішно завантажитись, то прихований розділ можна видаляти.

Почнемо з того, що тобі потрібний Linux. У Windows ти зможеш лише розібрати прошивку, але зібрати назад вже не вийде з чисто технічних причин. Тепер про прошивку. Зазвичай вони поширюються у вигляді ZIP-архівів, що прошиваються через кастомні рекавері. Саме один із них нам і знадобиться для дослідів. Починати шлях ромоделі я рекомендую з якоїсь максимально наближеної до AOSP кастомної прошивки, тому що в ній найчастіше простіше розібратися, ніж у стоку.

  1. Розпаковуємо архів з прошивкою в будь-яку папку.
  2. Качаємо скрипт за посиланням і розархівуємо в будь-яку папку.
  3. Запускаємо файл ext (якщо лаятиметься на відсутність Java, просто пропусти, натиснувши y ; Java потрібна тільки для запакування).
  4. Тепер вибираємо розпакування, натиснувши кнопку 1, а потім Enter.
  5. Нова папка з ім'ям extract_* з'явиться поруч із файлом ext та папкою tools . Копіюємо в неї файли system.new.dat і system.transfer.list.
  6. Після копіювання файлів натискаємо Enter та чекаємо. Через деякий час потрібно знову натиснути Enter, ввести пароль адміністратора і ще раз тапнути Enter.
  7. Готово. Вміст системи в папці extract_*/output .

Ручний спосіб

Розпаковуємо архів з прошивкою в будь-яку папку (наприклад, в rom):

$ mkdir ~/rom $ unzip шлях_до_архіву -d ~/rom/

Завантажуємо потрібні нам інструменти до цієї папки:

$ cd ~/rom $ wget https://github.com/xpirt/sdat2img/raw/master/sdat2img.py

Запускаємо скрипт:

$chmod +x sdat2img.py $./sdat2img.py system.transfer.list system.new.dat system.img

Він перетворює файл system.new.dat на raw-образ з ім'ям system.img . Монтуємо образ до підпапки mnt:

$ mkdir mnt $ sudo mount -t ext4 -o loop system.img ~/rom/mnt

Структура каталогів Android

Після розпакування системи з'явиться наступна каталогова структура:

  • app- встановлені програми зі стандартними привілеями;
  • priv-app- встановлені програми з підвищеними привілеями, у тому числі деякі компоненти системи;
  • bin- бінарні файли формату ELF, аналог каталогів /bin та /usr/bin у Linux. Містить різні системні компоненти, які використовуються більш високорівневими компонентами системи;
  • etc- Файли налаштувань. Повний аналог /etc в Linux, який використовується, проте, тими самими системними компонентами. Програми Android зберігають індивідуальні налаштування в каталогах /data/data/;
  • fonts- Шрифти. За замовчуванням містить лише фірмові шрифти Roboto;
  • framework- бібліотеки Java-класів, що використовуються системою та додатками. Тут лежить файл framework-res.apk , що містить повний опис інтерфейсу операційної системи, включаючи всі графічні файли;
  • libі lib64- Linux-бібліотеки, які використовуються низькорівневими компонентами системи. Аналог каталогів /lib та /usr/lib у Linux, включаючи такі стандартні бібліотеки, як libc, libz, libssl. На пристроях з архітектурою ARMv7 та нижче каталог lib64 буде відсутній;
  • media- медіафайли: рингтони, звуки повідомлень, звуки інтерфейсу та анімація завантаження ОС;
  • tts- файли, необхідні синтезатору мови;
  • usr- каталог, який зазвичай містить файли, необхідних роботи додатків з каталогу bin. По суті, аналог /usr/share;
  • vendor- файли, що постачаються виробником пристрою. Зазвичай містить бінарний firmware для різних металевих компонентів, наприклад модуля Wi-Fi;
  • xbin- Необов'язковий каталог; кастомні прошивки використовують його для зберігання таких речей, як інтерпретатор bash, SSH, PowerTOP, BusyBox та інших корисних інструментів;
  • build.prop- Файл, що містить інформацію про складання, а також різні низькорівневі налаштування;
  • addon.d- Містить скрипти, що запускаються після установки прошивки. Сюди ж GApps прописують свій скрипт, завдяки якому відроджуються після переустановки прошивки.

Ознайомившись із базовою структурою Android, почнемо вносити зміни.

Видаляємо та додаємо програми

Усі встановлені програми можна знайти у двох папках:

  • /system/app/;
  • /system/priv-app/.

Один від одного вони відрізняються привілеями доступу. Якщо програми з app мають такі ж повноваження, як сторонні програми (наприклад, встановлені з Play Store), програми з priv-app можуть використовувати привілейовані API (права privileged). Докладніше про це можна дізнатися з .

Для установки програми в прошивку просто кинь її APK-файл в /system/app/ . Можна, звичайно, створити окрему папку, але в нашому випадку в цьому немає сенсу, тому що папка служить для зберігання бібліотек та odex-файлів, яких у нас просто немає. Для видалення просто видалили папку з ним.

Можна піти далі та поміняти стокові програми на аналоги. Наприклад, для заміни календаря видаляємо папку Calendarі копіюємо в /system/app наш улюблений com.rpagyc.simplecalendar.apk. А можна й не копіювати. Тоді прошивка буде без календаря.

Головне, пам'ятай: стокові програми можуть бути пов'язані між собою. Тому видалення однієї проги цілком може призвести до повної непрацездатності іншої (наприклад, CalendarProvider і Calendar: видаливши перший, ти зробиш непрацездатним не тільки стрійний, але й будь-який інший календар). На щастя, у чистих AOSP-прошивках взаємозв'язків не так багато.

Змінюємо анімацію завантаження

Анімація зберігається у вигляді PNG-картинок, запакованих у архів /system/media/bootanimation.zip без стиснення. Усередині архіву знаходяться:

  • desc.txt- Файл, що описує анімацію;
  • part0- папка із файлами анімацій, які відтворюються першими;
  • part1- папка з анімаційними файлами, які відтворюються іншими;
  • part?- крайня папка, зображення з якою відтворюються наприкінці.

Файл desc.txt може містити щось на зразок

1920 1080 60 p 1 0 part0 p 0 0 part1

Призначення цих рядків інтуїтивно зрозуміло: 1920 × 1080 – роздільна здатність картинки, 60 – число кадрів на секунду. Part0 і part1 вказують на папки, з яких відтворюватиметься анімація, та послідовність відтворення. Взагалі може бути як одна частина, так і кілька (три і більше).

Зображення, що знаходяться в папках part, пронумеровані п'ятьма цифрами в порядку відтворення: 00000.png, 00001.png, 00002.png … Ці зображення можна поміняти на свої, створивши тим самим оригінальну анімацію. А можна просто видалити файл bootanimation.zip. Тоді девайс показуватиме анімацію зі стандартного Android. Або скористатися вже готовою колекцією анімацій на 4PDA.

Змінюємо звукове оформлення

Фактично всі звуки, які відтворює система, зберігаються у папці /system/media/audio . Усередині неї ти знайдеш такі папки:

  • alarms- мелодії будильника;
  • notifications- Звуки повідомлень;
  • ringtones- мелодії дзвінка;
  • ui- системні звуки, наприклад, низький заряд батареї, фокусування камери, вибір елементів інтерфейсу.

У alarms, notifications, ringtones можна накидати скільки завгодно будь-яких мелодій. Взяти їх можна, наприклад, тут:

  • стандартні мелодії з різних телефонів та смартфонів Nokia;

І маленький лайфхак: видалення файлів із папки ui призведе не до збоїв та помилок, а до зникнення системних звуків. Тому ти можеш легко відключити звук створення знімка з камери, зняття скріншота, просто втративши файли, що містять ці звуки (їх імена інтуїтивно зрозумілі).

Додаємо шрифти

Шрифти зберігаються у fonts. Знайти архіви з файлами шрифтів можна на 4PDA та XDA. Для встановлення достатньо скопіювати із заміною ttf-файли з архіву в папку fonts .

Змінюємо системні налаштування (build.prop)

В образі system є цікавий файлик build.prop, що містить безліч корисної інформації про залізо пристрою та налаштування, що встановлюються за умовчанням, для різних стокових додатків. Заради справедливості зауважу, що це не завжди так. Наприклад, Gigaset ME і ME Pro build.prop розділений на дві частини. В одній частині містяться налаштування Gigaset ME, а для ME Pro деякі рядки продубльовані, але ключі (назва смартфона і так далі) в них інші. Це було зроблено, щоб забезпечити більш-менш коректну працездатність однієї і тієї ж прошивки на різних апаратах.


Build.prop містить (або може містити) величезну кількість налаштувань. Деякі з них нічого не змінюють, деякі покращують одне за рахунок погіршення іншого, але є ті, які справді корисні:

  • ro.product.modelі ro.product.manufacturer- модель смартфона та ім'я виробника. За допомогою заміни цих рядків можна змусити Play Store думати, ніби ти маєш інший смартфон, що відкриє доступ до більшої кількості софту. Для будь-яких маловідомих китайських смартфонів ці рядки можуть стати рятівними;
  • hw.qemu.mainkeys- приймає лише два значення: 0 - показати на екрані навігаційні клавіші, 1 - не показувати кнопки. Відсутність рядка відповідає 0;
  • debug.sf.nobootanimation- значення 1 відключає анімацію завантаження, що трохи піднімає швидкість. Встановлення 0 або видалення рядка повертає анімацію на місце;
  • ro.telephony.default_network- каже системі, в який режим має бути переключена мобільна мережа під час завантаження;
  • ro.sf.lcd_density- DPI дисплея, найбільш точне значення для дисплея можна порахувати через зручний сайт. Але ніхто не забороняє поставити і більше або менше значення на свій смак: вищі значення роблять елементи інтерфейсу більшими, низькі - менше;
  • ro.config.vc_call_vol_steps- кількість кроків гучності під час розмови (за замовчуванням 8);
  • ro.config.media_vol_steps- кількість кроків гучності мультимедіа (за промовчанням 15).

Впроваджуємо у прошивку Google Apps

У більшості випадків кастомні прошивки поставляються без сервісів Google і магазину програм. Розробники пропонують нам встановити їх окремо за допомогою GApps. Однак його можна інтегрувати прямо у прошивку.

Для початку потрібно завантажити пакет GApps. Я рекомендую брати архіви Open GApps. Вибираєш версію Android, архітектуру процесора та варіант комплектації (Pico, Nano, Stock…), який визначає, скільки різних програм Google містить архів. Я рекомендую завантажити версію Pico. Вона містить лише Play Store та набір необхідних для його роботи бібліотек.

Інтеграція GApps у прошивку виконується так:

  1. Розпаковуємо ZIP-архів GApps за допомогою будь-якого архіватора.
  2. Переходимо до папки Core.
  3. Бачимо безліч архівів з розширенням tar.lz. Вилучаємо за допомогою lzip.
  4. Після розпакування копіюємо файли з папок до відповідних папок у system. Що куди кидати, неважко здогадатися структурою каталогів в архіві. Наприклад, configupdater (зі скріншота) потрібно кидати в папку priv-app.
  5. Переходимо в папку GApps (перебуває поруч із Core) і робимо пункти 3 і 4 для файлів у ній.
  6. Все, ми інтегрували GApps до нашої прошивки!

Вільне місце

Необхідно розуміти, що місце для встановлення прошивок обмежене. Не можна встановити прошивку, розмір якої переважує розмір розділу системи пристрою. Подивитися його значення можна, використовуючи:

$ adb shell df /system

Другий варіант: поставити на пристрій термінал та набрати команду

$df /system

Розмір розділу в байтах можна дізнатися, встановивши на смартфон BusyBox та виконавши у терміналі команду

$ busybox df -B 1 /system

Або те саме за допомогою ADB:

$ adb shell busybox df -B 1 /system

Місце, займане прошивкою, буде приблизно дорівнює розміру системи в розпакованому вигляді. Взагалі, під час створення прошивки потрібно враховувати, що користувач також може прошити поверх неї різні модифікації (SuperSU, Xposed) чи перенести докладання у розділ system. Наприклад, мінімальний пакет програм Google (Pico) вимагає щонайменше 150 Мбайт додаткового простору для встановлення.

При необхідності розмір файлу прошивки можна зменшити, видаляючи не тільки непотрібні програми з /system/app (/system/priv-app) та звуки виклику з system/media/audio і bootanimation.zip , але й:

  • /system/tts/lang_pico- мови примітивного голосового движка Pico TTS, голосовий движок Google це не торкнеться;
  • /system/usr/srec/config/- офлайн-мови. Можна буде скачати онлайн, якщо знадобиться.

Складання

Після внесення змін слід зібрати все назад. Спочатку запакуємо розділ system в system.new.dat. Завантажуємо потрібні нам інструменти:

$ wget https://github.com/xpirt/img2sdat/raw/master/img2sdat.py $ wget https://github.com/xpirt/img2sdat/raw/master/blockimgdiff.py $ wget https://github. com/xpirt/img2sdat/raw/master/common.py $ wget https://github.com/xpirt/img2sdat/raw/master/rangelib.py $ wget https://github.com/xpirt/img2sdat/raw/ master/sparse_img.py $ sudo apt-get install android-tools-fsutils

Перетворюємо нашу папку назад на RAW-образ. Назвемо його system_new.img:

$ sudo make_ext4fs -T 0 -S file_contexts -l 1073741824 -a system system_new.img output/

1073741824 змінюємо розмір розділу system в байтах. Бажано навіть зробити його трохи меншим. Робимо з RAW-образу sparse-образ:

$ img2simg system_new.img system_snew.img

Перетворимо наш образ на system.transfer.list і system.new.dat , які потрібно кидати в архів з прошивкою, але спочатку видалимо старі файли:

$ rm -rf system.transfer.list $ rm -rf system.new.dat $ rm -rf system.patch.dat $ chmod +x img2sdat.py $ ./img2sdat.py system_snew.img

Відокремимо файли прошивки від зайвого лушпиння (файлів, які ми завантажували для роботи. Для цього зручно користуватися архівом з прошивкою). Видалили? Тепер потрібно запакувати прошивку в ZIP-архів (будь-яким архіватором).

Залишилось підписати архів. Зробити це можна як на самому Android за допомогою ZipSigner, так і на ПК (потрібна встановлена ​​Java):

$wget https://github.com/appium/sign/raw/master/dist/sign.jar $java -jar файл.zip

Підводні камені

Під час збирання system.new.dat ти можеш зіткнутися з кількома проблемами, викликаними постійними змінами в механізмах формування прошивок Android. Описаний вище спосіб повинен добре спрацювати у разі заснованої на Android 5.1 прошивки, у новіших можуть виникнути складності, так що потрібно використовувати інші версії інструментів складання. На жаль, ми не можемо описати всі нюанси складання, тому, можливо, доведеться погуглити.

Встановлення

Для встановлення кастомної прошивки необхідний кастомний рекавер TWRP, що дозволяє встановлювати непідписані або підписані тестовим ключем прошивки (саме таку ми створили). У журналі ми неодноразово описували процес його встановлення, та й у гілках форуму, присвячених твоєму пристрою, зазвичай є достатньо інформації для того, щоб це зробити.

TWRP

Висновки

Ця стаття визначає лише верхівку великого айсберга під назвою «модифікація прошивок». «Серйозні» прошивки не тільки доповнюють ядро ​​і саму прошивку зі стоковими додатками безліччю функцій (які найчастіше вирвані з інших ядер та прошивок), організовуючи або навіть змінюючи принципи їхньої взаємодії, а й можуть кардинально змінювати принципи роботи ОС. Правда, така виріб - це вже не Android, а окрема ОС, навіть якщо Play-сервіси вдасться туди поставити (до речі, такі дії, м'яко кажучи, не заохочуються Google). Ну і не забуваємо: всі оболонки від виробників - TouchWiz, ZenUI, HTC Sense і так далі - лише звичайні кастоми, максимально прив'язані до заліза пристрою і один до одного.

Завантаживши свій планшет або телефон у TWRP Recovery, ви перш за все побачите його основне меню:

Скріншоти зроблені в одній із останніх (на момент написання статті) версій TWRP recovery 2.3.2. Більш нові версії TWRP, а також версії для різних пристроїв можуть мати трохи інше меню, але основні функції залишаться без змін.
Крім того, зовнішній вигляд TWRP recovery на вашому пристрої може бути іншим – він може змінюватись в залежності від теми оформлення.
Завдяки сенсорному інтерфейсу рекавері, переміщатися його пунктами і вибирати потрібні опції дуже просто - досить натиснути на певний елемент пальцем.
У всіх підменю, повернутися до попереднього меню можна, натиснувши кнопку повернення, розташовану в нижній (смартфон) або верхній правій (планшет) частині екрана.
У верхній частині екрана ви бачите відсоток заряду батареї та поточний час.

Призначення пунктів основного меню:

1. Install – встановлення прошивок та доповнень

Це один з часто використовуваних пунктів TWRP Recovery.
З його допомогою можна встановлювати як офіційні, так і неофіційні (кастомні) прошивки, встановлювати ядра, теми та інше програмне забезпечення, яке має знаходитися в zip файлі, розміщеному на вбудованій пам'яті вашого пристрою.
Після вибору файлу ви потрапляєте у наступне меню, де можете вибрати додавання наступного файлу до черги прошивки (кнопка Добавте більше 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 при backup.
  • Вибрати картку пам'яті для зберігання резервних копій:Використання external SD.
  • Вибрати внутрішню пам'ять пристрою для зберігання резервних копій:Use internal storage.
  • Вказати ім'я файлу резервної копії - кнопкаНабір 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 при backup: відключити створення контрольних сум під час резервного копіювання.
  • Ignore image size errors при 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 можуть розміщуватися й інші кнопки, які може додавати розробник під час складання рекавері із вихідних кодів для конкретного пристрою.

Тут ви можете вибрати наступне:

System– повністю перезавантажити планшет чи телефон.
Recovery- Перезавантажити рекавері.
Power Off– вимкнути пристрій.

Віруси