Що таке Nandroid і як зробити повну резервну копію на Android?

  • Резервне копіювання Nandroid — це повне резервне копіювання ключових розділів Android, яке дозволяє відновити пристрій до точного попереднього стану.
  • Для створення та відновлення Nandroid потрібне кастомне рекавері, таке як TWRP, яке встановлюється після розблокування завантажувача пристрою.
  • Android базується на ядрі Linux, рівнях апаратної абстракції та середовищі виконання Dalvik/ART, що дозволяє резервним копіям Nandroid легко захоплювати всю систему послідовно.
  • У дуже фрагментованій та відкритій екосистемі Android, Nandroid є ключовим інструментом для прошивки ПЗП та модифікації системи за допомогою надійної мережі безпеки.
Що таке Nandroid і як він працює?

Онлайн-резервне копіювання

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

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

Що таке Nandroid і чому він такий важливий?

Резервна копія Nandroid — це, по суті, повний знімок внутрішнього стану вашого пристрою Android у певний момент часу. На відміну від типових резервних копій (фотографій, контактів, чатів), резервна копія Nandroid зберігає цілі системні розділи: операційну систему, дані користувача, встановлені програми, налаштування та навіть ядро ​​та завантажувальний сектор у багатьох випадках.

Що таке EFIDroid і як він працює?
Пов'язана стаття:
EFIDroid: Мультизавантаження Android без зміни рекавері

Це означає, що якщо щось зламається, ви можете повернутися до тієї самої точки, ніби нічого не сталося: той самий лаунчер, ті самі програми, ті самі облікові записи, ті самі шпалери та ті самі виправлені помилки, оскільки все повертається до попереднього стану. Це як мобільна «машина часу».

Назва асоціюється з поняттями «Android» та «NAND» – типом флеш-пам’яті, що використовується в мобільних телефонах. Резервна копія Nandroid створюється не зі «звичайного» Android, а із середовища відновлення, яке працює поверх системи, такого як TWRP або подібне.

Як Nandroid вписується в Android як систему?

Щоб зрозуміти, чому резервне копіювання Nandroid таке потужне, корисно знати, як Android організовано внутрішньо як операційна система . Android побудовано на ядрі Linux, яке обробляє пам'ять, процеси, безпеку, драйвери обладнання та мережевий стек. Поверх цього ядра знаходяться шари, які ви насправді бачите на екрані.

Між апаратним забезпеченням та Android існує шар абстракції обладнання (HAL) , який перетворює системні запити (наприклад, використання камери або GPS) на інструкції, які розуміє конкретний чіп вашого пристрою. Це дозволяє одному й тому ж додатку працювати на дуже різних телефонах без необхідності розробника програмувати для кожної моделі.

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

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

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

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

Android, Dalvik/ART та їхній зв'язок із резервними копіями Nandroid

Android запускає програми у віртуальній машині, додаючи додатковий рівень абстракції між апаратним забезпеченням та кодом. Протягом багатьох років такою віртуальною машиною був Dalvik, але починаючи з Android 5.0 його замінив ART (Android Runtime).

На практиці додаток зазвичай пишеться на Java або Kotlin , компілюється в байт-код Java, і, нарешті, цей байт-код перетворюється на файли .dex, які розуміє віртуальна машина. У Dalvik значна частина компіляції виконувалася на льоту (JIT), тоді як ART компілює майже все під час встановлення додатка для покращення продуктивності.

Весь цей процес залишає сліди в системних каталогах і розділах, з оптимізованими файлами, кешами та даними, пов’язаними з кожною програмою. Саме тут резервне копіювання Nandroid має вирішальне значення, оскільки воно зберігає не лише APK-файли та ваші дані, але й ці оптимізовані файли середовища виконання та внутрішній стан віртуальної машини, гарантуючи, що після відновлення все працюватиме точно так само, як і раніше.

У багатьох кастомних розробках Android Dalvik або ART виступають центральним посередником , який контролює доступ програм до апаратного забезпечення та системних служб. Завдяки такому дизайну розробникам не потрібно турбуватися про конкретну модель процесора, що робить резервні копії Nandroid набагато надійнішими, оскільки збережений образ є однаковим для всього програмного стеку пристрою.

Що включає Android і чому варто робити повні резервні копії?

Що таке Nandroid і як він працює?

Android — це не просто «телефон, якого ви торкаєтеся», а екосистема з широким розмаїттям програм, бібліотек C/C++ , сервісів та компонентів. Серед бібліотек, написаних на C, є ті, що керують менеджером графічної поверхні, відтворенням мультимедіа, базами даних SQLite, 2D/3D графікою з OpenGL ES, механізмом рендерингу WebKit у старіших версіях, бібліотеками SSL та стандартною бібліотекою Bionic.

На базовому рівні програм будь-який сучасний телефон Android постачається з поштовим клієнтом, програмою для SMS/MMS , календарем, картами, браузером, контактами, інструментами Google, такими як Диск, YouTube, Карти, самим Play Store тощо. Усі ці програми, разом із тими, які ви встановлюєте з Google Play або альтернативних магазинів, знаходяться в різних розділах і каталогах системи.

Окрім програм, Android підтримує досить широкий список мультимедійних форматів та протоколів : відео (WebM, H.263, H.264, MPEG-4 SP), аудіо (MP3, AAC, AMR, Ogg Vorbis, WAV, MIDI), зображення (JPEG, PNG, GIF, BMP) та потокове передавання через RTP/RTSP, прогресивний кодек у HTML5 та, свого часу, навіть Flash через плагін Adobe.

Окрім усього цього, є підтримка додаткового обладнання, такого як камери (фото- та відеозйомки), ємнісні сенсорні екрани з мультитачем, GPS, акселерометр, гіроскоп, магнітометр, датчики наближення, світла та тиску, геймпади, а також 2D та 3D GPU-прискорення. Чим складніша система, тим корисніше мати повний знімок системи за допомогою Nandroid.

Історія та розширення Android: чому так багато ПЗУ

Android виник як проект Android Inc. у 2003 році, компанії, яку Google придбала у 2005 році. У 2007 році платформа була анонсована разом зі створенням Open Handset Alliance, консорціуму виробників обладнання, програмного забезпечення та операторів, які обрали відкриту систему для мобільних телефонів.

Першим комерційно доступним телефоном на Android став HTC Dream у 2008 році. Відтоді система постійно розширювалася та змінювала версії. Протягом багатьох років кожне велике оновлення називалося на честь десерту в алфавітному порядку: Cupcake (Кекс), Donut (Пончик), Eclair (Еклер), Froyo (Заморожений йогурт), Gingerbread (Пряник), Honeycomb (Стільники), Ice Cream Sandwich (Сендвіч з морозивом), Jelly Bean (Желе, Бін), KitKat, Lollipop (Льодяник), Marshmallow (Зефір), Nougat (Нуга), Oreo (Орео) та Pie (Пиріг).

Починаючи з Android 10, Google перестав використовувати публічно видимі літерні назви та почав нумерувати версії, хоча кодові назви все ще використовуються внутрішньо. Сьогодні в розкладі оновлень досі є Android 10, 11, 12 (включно з 12L), 13, 14 та пізніші версії, такі як 15 та 16.

Протягом цього часу спільнота створила величезну кількість альтернативних прошивок (ROM), таких як LineageOS, GrapheneOS та багато інших, які дозволяють повністю змінити програмне забезпечення пристрою. Таке розмаїття робить резервні копії Nandroid майже обов'язковими, якщо ви хочете експериментувати, оскільки зміна прошивок впливає на критично важливі системні розділи.

Шари налаштування, AOSP та екосистема виробника

Ядром системи є проект Android з відкритим кодом (AOSP) , який підтримується Google та розповсюджується переважно за ліцензією Apache. Окрім цієї основи з відкритим кодом, кожен виробник створює власний рівень налаштування з додатковими функціями та програмами.

Серед відомих прикладів – One UI від Samsung , MIUI від Xiaomi та користувацькі інтерфейси від інших брендів, таких як Huawei, OPPO, Motorola та Realme. Існують також похідні системи та специфічні продукти, такі як Wear OS (для смарт-годинників), Android TV, Android Auto та Android Automotive для автомобілів.

Android стала найпоширенішою мобільною операційною системою у світі , досягнувши світової частки ринку, що перевищує 70% порівняно з iOS. У деяких країнах використання Android наближається або перевищує 90%, особливо на ринках, що розвиваються, тоді як iOS показує кращі результати в країнах з вищим рівнем доходу.

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

Google Play, розробка додатків та робоче середовище

Для розробників Android пропонує дуже комплексні інструменти. Офіційним середовищем є Android Studio , засноване на IntelliJ IDEA, яке включає SDK з необхідними API для компіляції, налагодження та аналізу продуктивності програм.

Розробку можна виконувати переважно на Java або Kotlin , а для високопродуктивних компонентів можна використовувати C або C++ через Native Development Kit (NDK). Крім того, існують емулятори, які дозволяють Android працювати на Windows, macOS або Linux без необхідності фізичного пристрою.

Встановлення TWRP recovery на телефон Android
Пов'язана стаття:
Встановлення TWRP recovery на Android: повний посібник

Google Play – це офіційний магазин додатків , у якому є мільйони безкоштовних та платних ігор. Google ділиться значним відсотком доходу з розробниками, а також дозволяє встановлювати додатки з інших магазинів (Amazon Appstore, F-Droid, Aptoide тощо) або безпосередньо з APK-файлів.

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

Безпека, конфіденційність та поширені проблеми з Android

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

Крім того, викриття щодо масового спостереження у 2013 та 2014 роках виявили, що такі агентства, як АНБ та Центр правительственної зв'язку, мали доступ до даних користувачів Android та використовували інформацію, зібрану комерційними додатками, включаючи дуже популярні ігри, для шпигунських цілей.

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

Google спробував частково пом’якшити цей хаос за допомогою Сервісів Google Play , які дозволяють оновлювати ключові компоненти, не впливаючи на основну систему, та з суворішим контролем дозволів у останніх версіях Android. Незважаючи на це, багато старих телефонів залишаються назавжди застарілими версіями, і саме спільнота продовжує термін їх служби за допомогою користувацьких ПЗУ та, знову ж таки, резервних копій Nandroid для безстрашних експериментів.

Що ж таке резервне копіювання Nandroid на практиці?

Якщо перейти до деталей, то резервна копія Nandroid — це резервна копія на рівні розділів, створена з користувацького відновлення, такого як TWRP (Team Win Recovery Project) або подібного. Вона не просто копіює окремі файли; вона захоплює цілі блоки вибраних розділів: /system, /data, /boot, іноді /vendor і навіть розділ відновлення або розділ EFS/modem на деяких моделях.

Це має кілька наслідків: під час відновлення все повертається до початкового стану, включаючи програми, їхні налаштування, розташування значків, системні налаштування та конкретні версії ПЗП і ядра. Це ідеально підходить, наприклад, перед встановленням нового ПЗП, застосуванням системного мода, прошивкою іншого ядра або спробою агресивних налаштувань.

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

Що потрібно для створення Nandroid?

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

Найвідомішим і найпоширенішим рекавері є TWRP , який пропонує сенсорний інтерфейс, підтримку шифрування, керування розділами, ZIP-інсталяцію, вибіркове стирання даних і, звичайно ж, повне або часткове резервне копіювання та відновлення Nandroid.

Щоб встановити кастомне відновлення, таке як TWRP, зазвичай потрібно розблокувати завантажувач пристрою , що в багатьох випадках призводить до стирання всіх даних на телефоні та може анулювати гарантію залежно від виробника. Цей процес відрізняється залежно від бренду: іноді це робиться за допомогою команд fastboot, іноді — за допомогою спеціальних інструментів.

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

Як зробити резервну копію Nandroid (огляд)?

Конкретний процес може дещо відрізнятися залежно від методу відновлення, але по суті кроки для створення повної резервної копії системи досить схожі:

  • Завантаження в режим відновлення: Зазвичай це робиться за допомогою комбінації клавіш на кнопці живлення (наприклад, збільшення гучності + живлення) або з самої системи, якщо у вас є root-доступ і програма, яка це дозволяє.
  • Увійдіть у меню резервного копіювання: У TWRP та подібних рекавері ви побачите розділ, чітко позначений як «Резервна копія».
  • Виберіть розділи для резервного копіювання: Зазвичай, /boot, /system та /data позначені як мінімум. Залежно від пристрою, може бути наполегливо рекомендовано включити /vendor та, якщо відновлення дозволяє, розділ EFS або модему, який містить важливу інформацію, таку як IMEI.
  • Виберіть місце призначення та стиснення: Ви можете вибрати, чи зберігати дані у внутрішню пам’ять, на карту microSD або навіть на OTG-накопичувач. Деякі програми відновлення дозволяють стискати резервну копію для економії місця, але це трохи збільшує час обробки.
  • Розпочніть резервне копіювання: Ви підтверджуєте, провівши пальцем або прийнявши дію, і процес відновлення починає копіювання блоків даних. Процес може тривати від кількох хвилин до понад п’ятнадцяти хвилин, залежно від розміру та швидкості сховища.

Після завершення ви отримаєте повний знімок вашої системи точно такою, якою вона була. Варто надати кожній резервній копії чітку назву або мітку (наприклад, «stock_ROM_before_root», «Clean_LineageOS» тощо), щоб з часом ви знали, що містить кожна з них.

Як відновити резервну копію Nandroid?

Типові кроки для відновлення системи за допомогою Nandroid будуть приблизно такими:

  • Перезавантаження в режим відновлення: Не має значення, якщо Android не завантажується, головне, щоб відновлення працювало.
  • Перейдіть до меню «Відновлення»: У процесі відновлення буде перераховано всі знайдені резервні копії Nandroid у звичних шляхах.
  • Вибір правильного екземпляра: Ви обираєте той, який вас цікавить, за назвою, датою або міткою.
  • Виберіть розділи для відновлення: За замовчуванням зазвичай пропонуються /system, /data та /boot, хоча ви можете виключити деякі з них, якщо дійсно знаєте, що робите.
  • Підтвердьте відновлення: Процес відновлення перезаписує вибрані розділи даними, збереженими в резервній копії, повертаючи систему до збереженого стану.

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

Переваги та ризики використання резервних копій Nandroid

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

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

Недоліком є ​​те, що якщо не зробити це обережно, відновлення Nandroid може перезаписати наступні зміни, які не були включені до резервної копії (наприклад, нові фотографії, розмови чи документи). Крім того, необхідність користувацького відновлення та розблокованого завантажувача вже пов'язана з певними ризиками та анулюванням гарантії.

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

Android як домінуюча платформа та її зв'язок з Nandroid

Android зараз присутній у величезній кількості пристроїв : телефонах, планшетах, телевізорах, годинниках, навушниках, автомобільних системах, телевізійних приставках тощо. Його основна архітектура базується на процесорах ARM, хоча також існує підтримка x86 у таких проектах, як Android-x86, та в таких продуктах, як деякі версії Google TV.

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

Порівняно з більш закритими системами, такими як iOS або колишній Windows Phone, Android вирізняється своєю відкритістю та можливостями налаштування . Такий підхід дозволив людям отримувати доступ до вихідного коду, вивчати проблеми, повідомляти про них та випускати похідні проекти. Але він також зробив експерименти та налаштування майже визначальною характеристикою, а такі інструменти, як Nandroid, вважаються практично обов'язковими в будь-якому серйозному посібнику з прошивки.

Nandroid — це просто логічний наслідок того, як влаштований Android: багаторівнева система, що працює на ядрі Linux, з кількома розділами та спільнотою, яка звикла змінювати майже все.

Що таке Magisk на Android?
Пов'язана стаття:
Magisk на Android: Посібник користувача, встановлення та модулі

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


Додати як пріоритетне джерело в Google