Reboot to Bootloader – що таке Android. Режим Fastboot Mode на Андроїд – що таке? Як вийти з режиму Fastboot

Тебе ніколи не цікавило, як працюють fastboot чи ADB? Або чому смартфон під керуванням Android практично неможливо перетворити на цеглу? Чи, можливо, ти давно хотів дізнатися, де криється магія фреймворку Xposed і навіщо потрібні скрипти завантаження /system/etc/init.d? А як щодо консолі відновлення (Recovery)? Це частина Android або річ у собі і чому для встановлення сторонньої прошивки звичайний рекавер не підходить? Відповіді на всі ці та багато інших питань ти знайдеш у цій статті.

Як працює Android

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

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

Крок перший. ABOOT та таблиця розділів

Все починається з первинного завантажувача. Після увімкнення живлення система виконує код завантажувача, записаного в постійну пам'ять пристрою. Потім він передає управління завантажувачу aboot із вбудованою підтримкою протоколу fastboot, але виробник мобільного чіпа або смартфона/планшета має право вибрати будь-який інший завантажувач на його смак. Наприклад, компанія Rockchip використовує власний, несумісний із fastboot завантажувач, для перепрограмування та управління яким доводиться використовувати пропрієтарні інструменти.

Протокол fastboot, у свою чергу, є системою управління завантажувачем з ПК, яка дозволяє виконувати такі дії, як розлочка завантажувача, прошивка нового ядра і recovery, установка прошивки та багато інших. Сенс існування fastboot у тому, щоб мати можливість відновити смартфон у початковий стан у ситуації, коли решта коштів не працюють. Fastboot залишиться на місці, навіть якщо в результаті експериментів ти зітреш зі смартфона всі розділи NAND-пам'яті, що містять Android та recovery.

Отримавши управління, aboot перевіряє таблицю розділів і передає управління ядру, прошитому розділ з ім'ям boot, після чого ядро ​​витягує на згадку RAM-образ з тієї ж розділу і починає завантаження або Android, або консолі відновлення. NAND-пам'ять в Android-пристроях поділена на шість умовно обов'язкових розділів:

  • boot - містить ядро ​​та RAM-диск, зазвичай має розмір у районі 16 Мб;
  • recovery – консоль відновлення, складається з ядра, набору консольних додатків та файлу налаштувань, розмір 16 Мб;
  • system – містить Android, у сучасних девайсах має розмір не менше 1 Гб;
  • cache - призначений для зберігання кешованих даних, також використовується для збереження прошивки в ході OTA-оновлення і тому має розмір, подібний до розмірів розділу system;
  • userdata - містить налаштування, додатки і дані користувача, йому відводиться весь простір NAND-пам'яті, що залишився;
  • misc - містить прапор, визначальний, у якому режимі має вантажитися система: Android чи recovery.

Крім них, також можуть існувати й інші розділи, проте загальна розмітка визначається ще на етапі проектування смартфона і у разі aboot зашивається в код завантажувача. Це означає, що: 1) таблицю розділів не можна вбити, оскільки її можна відновити з допомогою команди fastboot oem format; 2) для зміни таблиці розділів доведеться розлочити та перепрошити завантажувач із новими параметрами. З цього правила, однак, бувають винятки. Наприклад, завантажувач того ж Rockchip зберігає інформацію про розділи в першому блоці NAND-пам'яті, так що для зміни перепрошивка завантажувача не потрібна.

Особливо цікавим є розділ misc. Існує припущення, що спочатку він був створений для зберігання різних налаштувань незалежно від основної системи, але зараз використовується тільки для однієї мети: вказати завантажувачу, з якого розділу потрібно вантажити систему - boot або recovery. Цю можливість, зокрема, використовує програму ROM Manager для автоматичного перезавантаження системи в recovery з автоматичною установкою прошивки. На її основі побудований механізм подвійного завантаження Ubuntu Touch, яка прошиває завантажувач Ubuntu в recovery і дозволяє керувати тим, яку систему вантажити наступного разу. Стер розділ misc – завантажується Android, заповнив даними – завантажується recovery… тобто Ubuntu Touch.

Крок другий. Розділ boot

Якщо в розділі misc не стоїть прапор завантаження в recovery, aboot передає керування кодом, розташованим у розділі boot. Це не що інше, як ядро ​​Linux; воно знаходиться на початку розділу, а відразу за ним слід запакований за допомогою архіваторів cpio та gzip образ RAM-диска, що містить необхідні для роботи Android каталоги, систему ініціалізації init та інші інструменти. Жодної файлової системи на розділі boot немає, ядро ​​і RAM-диск просто йдуть один за одним. Вміст RAM-диска такий:

  • data – каталог для монтування однойменного розділу;
  • dev – файли пристроїв;
  • proc – сюди монтується procfs;
  • res - набір зображень для charger (див. нижче);
  • sbin - набір підсобних утиліт та демонів (adbd, наприклад);
  • sys – сюди монтується sysfs;
  • system – каталог для монтування системного розділу;
  • charger - програма для відображення процесу зарядки;
  • build.prop – системні налаштування;
  • init – система ініціалізації;
  • init.rc – налаштування системи ініціалізації;
  • ueventd.rc - налаштування демона uventd, що входить до складу init.

Це, якщо можна так висловитися, скелет системи: набір каталогів для підключення файлових систем з розділів NAND-пам'яті та система ініціалізації, яка займеться рештою роботи завантаження системи. Центральний елемент тут - додаток init та його конфіг init.rc, про які у всіх подробицях я розповім пізніше. А поки що хочу звернути увагу на файли charger і ueventd.rc, а також каталоги sbin, proc і sys.

Файл charger – це невелика програма, єдине завдання якого – вивести на екран значок батареї. Він не має жодного відношення до Android і використовується тоді, коли пристрій підключається до зарядника у вимкненому стані. В цьому випадку завантаження Android не відбувається, а система просто завантажує ядро, підключає диск RAM і запускає charger. Останній виводить на екран іконку батареї, зображення якої у всіх можливих станах зберігається у PNG-файлах всередині каталогу res.

Файл ueventd.rc є конфігом, що визначає, які файли пристроїв у каталозі sys повинні бути створені на етапі завантаження системи. У заснованих на ядрі Linux системах доступ до заліза здійснюється через спеціальні файли всередині каталогу dev, а їх створення в Android відповідає демон ueventd, що є частиною init. У нормальній ситуації він працює в автоматичному режимі, приймаючи команди створення файлів від ядра, але деякі файли необхідно створювати самостійно. Вони перераховані на ueventd.rc.

Каталог sbin в стокове Android не містить нічого, крім adbd, тобто демона ADB, який відповідає за налагодження системи з ПК. Він запускається на ранньому етапі завантаження ОС та дозволяє виявити можливі проблеми на етапі ініціалізації ОС. У кастомних прошивках у цьому каталозі можна знайти купу інших файлів, наприклад mke2fs, яка може бути потрібна, якщо розділи необхідно переформатувати в ext3/4. Також модери часто розміщують туди BusyBox, за допомогою якого можна викликати сотні Linux-команд.

Каталог proc для Linux стандартний, на наступних етапах завантаження init підключить до нього procfs, віртуальну файлову систему, яка надає доступ до інформації про всі процеси системи. До каталогу sys система підключить sysfs, що відкриває доступ до інформації про залізо та його налаштування. За допомогою sysfs можна, наприклад, відправити пристрій у сон або змінити алгоритм енергозбереження, що використовується.

Файл build.prop призначений для зберігання налаштувань Android. Пізніше система обнулює ці налаштування і перезапише їх значеннями з поки що недоступного файлу system/build.prop.


Виноси з тексту

  • Fastboot залишиться на місці, навіть якщо в результаті експериментів ти зітреш зі смартфона вміст усіх розділів NAND-пам'яті
  • Розділ recovery є повністю самодостатнім і містить мініатюрну операційну систему, яка ніяк не пов'язана з Android
  • Злегка змінивши файл fstab, ми можемо змусити init завантажити систему з картки пам'яті

Крок другий, альтернативний. Розділ recovery

У тому випадку, якщо прапор завантаження recovery в розділі misc встановлений або користувач увімкнув смартфон із клавішею зменшення гучності, aboot передасть управління коду, розташованому на початку розділу recovery. Як і розділ boot, він містить ядро ​​та RAM-диск, який розпаковується в пам'ять і стає коренем файлової системи. Однак вміст RAM-диску тут дещо інший.

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

У стандартному (стоковому) recovery таких функцій зазвичай всього три: встановлення підписаних ключем виробника смартфона прошивок, вайп та перезавантаження. У модифікованих сторонніх recovery, таких як ClockworkMod та TWRP, функцій набагато більше. Вони вміють форматувати файлові системи, встановлювати прошивки, підписані будь-якими ключами (читай: кастомні), монтувати файлові системи на інших розділах (з метою налагодження ОС) і включають підтримку скриптів, яка дозволяє автоматизувати процес прошивки і багато інших функцій.

За допомогою скриптів, наприклад, можна зробити так, щоб після завантаження recovery автоматично знайшов на карті пам'яті потрібні прошивки, встановив їх та перезавантажився на Android. Ця можливість використовується інструментами ROM Manager, auto-flasher, а також механізмом автоматичного оновлення CyanogenMod та інших прошивок.

Кастомні рекавері також підтримують скрипти бекапу, що знаходяться в каталозі /system/addon.d/. Перед прошивкою recovery перевіряє наявність скриптів і виконує їх перед тим, як зробити прошивку. Завдяки таким скриптам gapps не зникають після встановлення нової версії прошивки.

Команди fastboot

Щоб отримати доступ до fastboot, необхідно встановити Android SDK, підключити смартфон до ПК за допомогою кабелю та увімкнути його, затиснувши обидві кнопки гучності. Після цього слід перейти в підкаталог platform-tools усередині SDK та запустити команду

Fastboot devices

На екрані буде виведено ім'я пристрою. Інші доступні команди:

  • fatsboot oem unlock- розлочка завантажувача на нексусах;
  • update файл.zip- Встановлення прошивки;
  • flash boot boot.img- Прошивка образу boot-розділу;
  • flash recovery recovery.img- прошивка образу розділу recovery;
  • flash system system.img- Прошивка образу системи;
  • oem format- Відновлення зруйнованої таблиці розділів;

Крок третій. Ініціалізація

Отже, отримавши управління, ядро ​​підключає RAM-диск і після ініціалізації всіх своїх підсистем і драйверів запускає процес init, з якого починається ініціалізація Android. Як я вже говорив, init має конфігураційний файл init.rc, з якого процес дізнається про те, що саме він повинен зробити, щоб підняти систему. У сучасних смартфонах цей конфіг має значну довжину в кілька сотень рядків і до того ж має причеп з кількох дочірніх конфігів, які підключаються до основного за допомогою директиви import. Проте його формат досить простий і по суті є набором команд, розділених на блоки.

Кожен блок визначає стадію завантаження або, висловлюючись мовою розробників Android, дію. Блоки відокремлені один від одного директивою on, за якою слідує ім'я дії, наприклад on early-init або on post-fs. Блок команд буде виконано лише у тому випадку, якщо спрацює однойменний тригер. У міру завантаження init по черзі активуватиме тригери early-init, init, early-fs, fs, post-fs, early-boot і boot, запускаючи таким чином відповідні блоки команд.


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

Найбільш примітний з додаткових конфігів має ім'я initrc.ім'я_пристрою.rc, де ім'я пристрою визначається автоматично на основі вмісту системної змінної ro.hardware. Це платформно-залежний файл конфігурації, який містить блоки команд, специфічні для конкретного пристрою. Крім команд, які відповідають за тюнінг ядра, він також містить приблизно таку команду:

Mount_all ./fstab.ім'я_пристрою

Вона означає, що тепер init повинен підключити всі файлові системи, перелічені у файлі.

Ім'я_пристрою_(розділу) точка_монтування файлова_система опції_фс інші опції

Зазвичай у ньому містяться інструкції з підключення файлових систем із внутрішніх NAND-розділів до каталогів /system (ОС), /data (налаштування додатків) та /cache (кешовані дані). Однак трохи змінивши цей файл, ми можемо змусити init завантажити систему з карти пам'яті. Для цього достатньо розбити карту пам'яті на три 4 розділи: 1 Гб / ext4, 2 Гб / ext4, 1 Гб / ext4 і простір fat32, що залишився. Далі необхідно визначити імена розділів картки пам'яті в каталозі /dev (для різних пристроїв вони відрізняються) та замінити ними оригінальні імена пристроїв у файлі fstab.


В кінці блоку boot init, швидше за все, зустріне команду class_start default, яка повідомить, що далі слід запустити всі перераховані в конфізі служби, що стосуються класу default. Опис служб починається з директиви service, за якою слідує ім'я служби та команда, яка має бути виконана для її запуску. На відміну від команд, перерахованих у блоках, служби повинні працювати весь час, тому протягом усього життя смартфона init висітиме у фоні та стежитиме за цим.

Сучасний Android включає десятки служб, але дві з них мають особливий статус і визначають весь життєвий цикл системи.

Команди init.rc

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

  • exec /шлях/до/команди- запустити зовнішню команду;
  • ifup інтерфейс- підняти мережевий інтерфейс;
  • class_start ім'я_класу- запустити служби, що належать до зазначеного класу;
  • class_stop ім'я_класу- Зупинити служби;
  • insmod /шлях/до/модуля- Завантажити модуль ядра;
  • mount ФС пристрій каталог- Підключити файлову систему;
  • setprop ім'я значення- Встановити системну змінну;
  • start ім'я_служби- запустити вказану службу;
  • trigger ім'я- увімкнути тригер (виконати вказаний блок команд);
  • write /шлях/до/файлу рядок- Записати рядок у файл.

Крок четвертий. Zygote та app_process

На певному етапі завантаження init зустріне в кінці конфігу приблизно такий блок:

Service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server class default socket zygote stream 660 root system onrestart write /sys/android_power/request_state wake onrestart write /sys/power/state on onrestart restart media onrestart restart netd

Це опис служби Zygote, ключового компонента будь-якої Android-системи, який відповідальний за ініціалізацію, старт системних служб, запуск та зупинку користувацьких додатків та багато інших завдань. Zygote запускається за допомогою невеликої програми /system/bin/app_process, що дуже добре видно на наведеному вище шматку конфігу. Завдання app_proccess - запустити віртуальну машину Dalvik, код якої розташовується в бібліотеці /system/lib/libandroid_runtime.so, що розділяється, а потім поверх неї запустити Zygote.

Коли все це буде зроблено і Zygote отримає управління, він починає формування середовища виконання Java-застосунків за допомогою завантаження всіх Java-класів фреймворку (зараз їх більше 2000). Потім він запускає system_server, що включає більшість високорівневих (написаних на Java) системних сервісів, у тому числі Window Manager, Status Bar, Package Manager і, що найважливіше, Activity Manager, який в майбутньому буде відповідальний за отримання сигналів про старт і завершення додатків.

Після цього Zygote відкриває сокет /dev/socket/zygote і йде в сон, очікуючи на дані. У цей час запущений раніше Activity Manager посилає широкомовний інтент Intent.CATEGORY_HOME, щоб знайти програму, яка відповідає за формування робочого столу, і віддає його ім'я Zygote через сокет. Останній, у свою чергу, форкається і запускає програму поверх віртуальної машини. Вуаля, на екрані з'являється робочий стіл, знайдений Activity Manager і запущений Zygote, і статусний рядок, запущений system_server в рамках служби Status Bar. Після тапа по іконці робочий стіл надішле інтент з ім'ям цієї програми, його прийме Activity Manager і передасть команду на старт програми демону Zygote

INFO

У термінології Linux RAM-диск - це свого роду віртуальний жорсткий диск, що існує лише в оперативній пам'яті. На ранньому етапі завантаження ядро ​​витягує вміст диска з образу та підключає його як кореневу файлову систему (rootfs).

У процесі завантаження Android відображає три різні завантажувальні екрани: перший з'являється відразу після натискання кнопки живлення і прошитий в ядро ​​Linux, другий відображається на ранніх етапах ініціалізації і записаний у файл /initlogo.rle (сьогодні майже не використовується), останній запускається за допомогою bootanimation та міститься у файлі /system/media/bootanimation.zip.

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

Activity Manager також займається вбивством фонових додатків при нестачі пам'яті. Значення порогів вільної пам'яті містяться у файлі /sys/module/lowmemorykiller/parameters/minfree.

Все це може виглядати дещо незрозуміло, але найголовніше – запам'ятати три прості речі:

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

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

Bootloader: що це?

Почнемо, так би мовити, із азів. Bootloader Android - систем практично нічим не відрізняється від того, що є на будь-якому комп'ютерному терміналі, чи то PC, чи Mac. Говорячи простою мовою, Bootloader – це вбудований засіб завантаження операційної системи.

Якщо навести приклад комп'ютерні термінали з кількома встановленими «операційками» (скажімо, Windows і Linux), завантажувач після включення стаціонарного блоку чи ноутбука пропонує користувачеві вхід у систему на вибір, а після підтвердження завантажує ту чи іншу ОС.

Принципи завантаження ОС

Як і в стаціонарних системах, завантажувач Bootloader у мобільних девайсах звертається до ініціалізаційних файлів за типом того, як це робить, наприклад, Windows при завантаженні параметрів з файлу boot.ini.

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

Bootloader: як розблокувати та навіщо це потрібно?

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

Вважається, що у такому разі користувач отримує доступ до ядра системи, який за умовчанням неможливий. Як у такій ситуації описати Bootloader? Що це стане зрозуміло, якщо поглянути на відсутність так званих прав суперюзера. Виходить, що після зняття блокування вони взагалі не потрібні на жодному рівні. А то часто доводиться встановлювати спеціальні прошивки і додатки. Якщо ж кастомна прошивка, м'яко кажучи, «корява», то й вся система може злетіти.

Будь-який виробник мобільної техніки передбачає роботу з таким компонентом, як Bootloader. Як його розблокувати? Зазвичай це робиться за допомогою спеціальних утиліт, що встановлюються на ПК при з'єднанні з мобільним девайсом через USB-інтерфейс. Зауважте, права суперкористувача в цьому випадку не потрібні.

Для більшості пристроїв, включаючи, наприклад, гаджети Sony та HTC, мається на увазі використання утиліти, причому для Sony доведеться додатково використовувати спеціальні драйвери Sony Fastboot, та ще й звернутися до спеціального розділу Unlocker на офіційному сайті. Як бачимо, процедура хоч і можлива, але досить складна.

Як розблокувати Bootloader докладніше

  • Як розблокувати завантажувач (Bootloader) - HTC
  • Як розблокувати завантажувач (Bootloader) - Nexus
  • Як розблокувати завантажувач (Bootloader) - Sony
  • Як розблокувати завантажувач (Bootloader) - Xiaomi
  • Як розблокувати завантажувач (Bootloader) - Huawei
  • Як розблокувати завантажувач (Bootloader) - LG

Відновлення даних

З іншого боку, у своєму стандартному режимі роботи відновлення Bootloader після скидання налаштувань до заводських дозволяє зробити просто елементарно. Для цього не потрібно навіть.

Достатньо просто скинути налаштування на самому гаджеті, а після перезавантаження система запропонує вибрати варіант: або використовувати нові пристрої на пристрої, або відновити параметри, програми і файли, застосовуючи для цього обліковий запис сервісів Google. При цьому доведеться ввести адресу пошти Gmail з паролем, а також підключитися до мережі Інтернет, наприклад, при активному Wi-Fi-з'єднанні.

Встановлення іншої «операційки»

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

Адже китайці на своїх «лівих» апаратах HTC вже довели, що на одному девайсі абсолютно просто уживаються і Android, і Windows Phone. При цьому такі моделі поставляються здебільшого з вже розблокованим завантажувачем Bootloader. Що це у цьому випадку? Це засіб, що дозволяє не тільки вибирати ОС, що завантажується, але і встановлювати будь-яку іншу зі зміною параметрів на системному рівні.

Іншими словами, користувач може обійтися навіть без будь-яких прошивок або додаткових програм для оптимізації роботи встановленої «операційки». Більш того! Для цього не знадобляться навіть спеціалізовані утиліти на кшталт оптимізаторів, яких сьогодні розвелося стільки, що користувач сам не розуміє, що ж вибрати з цієї величезної кількості програм і додатків.

На що слід звернути увагу окремо?

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

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

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

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

Щоб мати можливість здійснювати тонке налаштування параметрів ОС та заліза, користувачі мобільних пристроїв під керуванням Android іноді рутують свої гаджети, а також вносять зміни до . Але це не всі доступні способи отримання розширеного доступу до налаштувань апарату та системи. Заглянути під капот пристрою можна, скориставшись режимом під назвою Fastboot Mode.

Що таке Fastboot Mode

Що ж означає Fastboot Mode (швидке завантаження) та яке відношення він має до тонкого настроювання? У деяких моделях ноутбуків він дійсно служить для максимального прискорення завантаження системи в обхід BIOS і налагодження програм, у мобільних пристроях його призначення дещо інше. На смартфонах та планшетах Android цей режим необхідний насамперед для забезпечення доступу до системних компонентів пристрою та керування ними за допомогою комп'ютера.

Використовуючи можливості Fastboot Mode, фахівці сервісних центрів та досвідчені користувачі можуть встановлювати програмне забезпечення, перепрошувати гаджета, відновлювати програми, виконувати резервне копіювання та відновлення, змінювати приховані системні налаштування. До "швидкого завантаження" нерідко вдаються і розробники, використовуючи її для тестування ПЗ та інших цілей.

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

У разі активується Fastboot Mode

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

Як вийти з режиму Fastboot

Про увімкнення режиму свідчить зображення розкритого робота та напис на екрані телефону Fastboot Mode.

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

Є два основні способи зробити це: через сам телефон і за допомогою комп'ютера. Якщо звичайне перезавантаження не допомагає, вимкніть пристрій, а потім одночасно затисніть клавіші ввімкнення та зниження гучності, утримуючи їх доти (приблизно 10 секунд), доки на екрані не з'явиться меню Sеlect Boot Mode або телефон не завантажиться у нормальному режимі. У цьому меню виберіть Normal Boot і дочекайтеся завантаження гаджета в звичайному режимі.

У деяких випадках вийти з режиму налагодження допомагає виймати акумулятор, якщо він, звичайно, знімний.

Іноді користувачам доводиться стикатися із завантаженням у режимі фастбуту після того, як вони забрали гаджет із сервісного центру. Так зазвичай відбувається після . Імовірна причина – залишена включеною функція фастбут-режиму в налаштуваннях. Якщо це той самий випадок, то для відключення Fasboot Mode зайдіть в налаштування, а потім у розділі "Екран" або "Спеціальні можливості" знайдіть пункт "Швидке завантаження" і зніміть галочку.

Як вийти з Fastboot Mode за допомогою комп'ютера? Встановіть на ПК програми, підключіть телефон до комп'ютера, активуйте налагодження USB, запустіть від імені адміністратора командний рядок і виконайте команду fastboot reboot. Це простий, але дуже ефективний спосіб відключення фастбуту.

Якщо і він не вирішить проблему, виконайте скидання пристрою до заводських параметрів. Скопіювавши всі важливі дані, вийміть із телефону сімку та картку пам'яті, завантажтеся в режимі Recovery, знайдіть у меню опцію wipе data/factory rеsetі зробіть з її допомогою відкат.

Додатково можна очистити вміст сховища, вибравши опцію wipе cаche pаrtition.

Як перевести телефон у режим Fastboot Mode

Fastboot Mode – службовий режим, вдаватися до якого доводиться найчастіше за необхідності змінити конфігурацію пристрою через ПК, наприклад, встановити модифіковану прошивку або отримати права root без використання сторонніх програм. Завантаження у фастмоді також може знадобитися для надання повного доступу до системних папок Android та відновлення ОС (як альтернатива інструментам режиму Recovery).

Спосіб входу Fastboot Mode на різних пристроях може відрізнятися. У смартфонах Asus для цього потрібно тримати затиснутими кнопки увімкнення та збільшення гучності, у Nexus та HTC – кнопки вмикання та зменшення гучності, у Sony режим фастбут завантажиться, якщо затиснути збільшення гучності та підключити гаджет до ПК по USB.

Але є й універсальний спосіб завантаження у фастбут, що однаково працює на всіх мобільних пристроях Android. Завантажте та встановіть на комп'ютер програму Adb Run. Далі увімкніть налаштування телефону налагодження по USB, підключіть пристрій до ПК і, запустивши Adb Run, виберіть в меню Reboot – Reboot Bootloader.

Гаджет перезавантажиться у режимі Fastboot.

Вибір редакції

Fastboot Mode в Android: проводимо [маніпуляції з гаджетом] на системному рівні

Іноді користувачі телефонів або планшетів на базі Android стикаються з режимом Fastboot Mode, абсолютно не розуміючи, що таке?

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

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

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

Нижче можна докладно ознайомитися з тим, що це таке, через що виникає процес і як діяти при його появі.

Зміст:

Що це таке

В операційній системі Android він надає повний доступ до смартфону або планшета для керування ним через комп'ютер. Такий підхід дозволяє:

  • встановлювати програми;
  • налаштовувати різні параметри;
  • робити перепрошивку гаджета;
  • розподіляти права доступу

Fastboot не є частиною однієї певної ОС, але його часто можна зустріти серед Android SDK, адже без нього не вийде повноцінним чином налагодити зв'язок між ПК і гаджетом.

В даному випадку мається на увазі непросто передача даних, а саме налаштування пристрою.

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

Чому виникає

Наявність такого режиму дуже корисна, але що робити, коли у Вас немає необхідності настроювати свій смартфон, а вікно раптово з'явилося?

Причини його появи можуть бути різними:

  • помилка під час прошивки гаджета;
  • випадкове натискання клавіш – увімкнення смартфона та підвищення гучності одночасно;
  • одержання прав root-користувача;
  • системний збій.

У будь-якому з цих випадків на екрані пристрою висвітиться значок Android, а також системна інформація щодо Вашого гаджета.

Для початку, у разі Fastboot слід перевірити, чи доступний .

Чинними є кнопки збільшення та зменшення гучності – першою ми гортаємо пункти, що висвічені на екрані, а другою робимо вибір (як клавішею Enterна ПК).

Таким чином, доходимо до напису "NormalBoot"та вибираємо її кнопкою зменшення гучності.

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

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

Це з тим, що у сервісному центрі напевно не відключили цю функцію. Впоратися з цим можна і самостійно:

  • після нормального завантаження гаджета зайдіть до нього «Налаштування»;
  • далі слід вибрати вкладку «Екран»;
  • знайшовши у ній пункт , зніміть з нього галочку.

Таким чином, фастбут-режим буде деактивовано, і при включенні турбувати користувача собою він більше не буде.

Що робити при системному збої

Якщо перехід у "Normal Boot"заблокований або, ще гірше, на екрані видно лише один напис "Fastboot Mode"і зведення параметрів відсутня, то чомусь система гаджета дала збій і є два варіанти того, як все виправити.

Варіант 1

Завжди можна спробувати відновити систему та знову повернути смартфон у робочий стан.

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

Для початку необхідно затиснути кнопку увімкнення та підвищення гучності одночасно. У меню знайти пункт – wipe data/factory reset .

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

Гаджет перезавантажиться, і Ви знову зможете використовувати його у своїх цілях.

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

Варіант 2

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

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

  • зняти батарею;
  • вставити її назад;
  • затиснути кнопку увімкнення мінімум на 30 секунд.

Fastboot Mode, що знову повернувся, дасть зрозуміти, що час переходити до кардинальніших дій.

Прийде перезавантажити пристрій, але вже через комп'ютер, .

Зверніть увагу!Для роботи зі смартфоном, у якого стався системний збій, Вам знадобляться відповідні драйвери.

Не так уже й складно.

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

1 Розархівуємоскачені «дрова»;

2 Дані з архіву поміщаємо в папку;

3 Після підключаємо гаджет до ПКза допомогою USB-кабелю;

4 Деякий час доведеться витратити на очікування, поки комп'ютер розпізнає смартфонпісля чого він запропонує для початку роботи з гаджетом встановити драйвера;

5 Оскільки ми їх заздалегідь завантажили, то вибираємо пункт «Установка із зазначеного місця»;

6 Вибираємо папку, в яку помістили їх та натискаємо Enter.

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

  • заходимо до меню «Пуск»;
  • у рядку виконання прописуємо "cmd";

Даний спосіб, що включає використання ПК, є найбільш дієвим. Але все одно вдаватися до нього найкраще, коли напевно не спрацюють дрібніші та прості дії щодо відновлення.

Як увійти до налаштувань

При виникненні такої потреби все залежатиме виключно від смартфону, яким Ви користуєтеся.

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

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

Потрібно прошити Android за допомогою FastBoot, але не знаєте як? У цій статті дається детальна інструкція з використання утиліти FastBoot і як їй користуватися щоб прошити Android девайс.

Дана інструкція повністю розповість, як користуватися FastBoot! Якщо ж ви не знаєте як встановлювати архівні оновлення, то вам необхідна стаття - Clockwordmod - що це таке. Інструкція CWM recovery з картинками

Скачування та встановлення FastBoot

Перш прошити Android за допомогою FastBoot, необхідно його скачати та встановити на необхідний комп'ютер.

1. Завантажити утиліту FastBoot можна з офіційною програмою Android SDK (велика вага)

чому ADB RUN краще

Запуск

Якщо скачали Окремо Fastboot

Після того як Ви завантажили та встановили FastBoot, відкрийте на ПК програму « Командна строка »

і вве Діти команди для переходу в папку з утилітою Fastboot (якщо встановилиокремо FastBoot

cd /
cd adb

Якщо скачали ADB RUN

Якщо ваш вибір упав на програму ADB RUN, то запустіть її та виберіть у меню Manual -> ADB

Файли, які необхідно прошити, повинні знаходитися в одній папці з утилітою Fastboot

Інструкція по командам як прошити Android за допомогою FastBoot

Дуже важливо писати команди та файли прошивок, оскільки вони вказані!

Якщо у вас команда вказана

fastboot flash cache NazvaniAFiLe.img

то треба писати саме так, але не інакше. Тобто важливий регістр букв інакше ви отримаєте помилку cannot load ‘image’ - Немає такого файлу.

Команди перезавантаження в режим прошивки (bootloader)

fastboot reboot-bootloader

Команда «бачить» ПК ваш Android

Візьміть у звичку перевіряти перед тим, як щось робити в Fastboot якщо з'єднання між комп'ютером і Android:

Перевірка «чи бачить» ПК ваш Android

fastboot devices

Дану команду виконувати коли пристрій вже в режимі прошивки (bootloader)

Команди розблокування та блокування завантажувача Nexus

Розлочити bootloader для Nexus

fastboot oem unlock

Залочити bootloader для Nexus

fastboot oem lock

Команда дізнатись версію bootloader

Покаже встановлену на Android номер версії бутлоадер

fastboot getvar version-bootloader

Команди форматування розділу

Перед тим як прошити якийсь розділ в Android, спочатку його необхідно відформатувати для того, щоб не виникло проблем у роботі

fastboot erase Imya_razdela - стерти розділ: boot, radio, recovery, system, userdata та інші

Стирає розділ Кеш (Cache)

fastboot erase cache

Стирає розділ Дата (Data)

fastboot erase userdata

Стирає розділ Систем (System)

fastboot erase system

Стирає розділ Recovery

fastboot erase recovery

Команди для прошивки розділу

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

fastboot flash Imya_razdela imya_file.img - прошивка обраного розділу: boot, radio, recovery, system, userdata та інші

Прошити розділ системи (System)

fastboot flash system imya.img

Прошити розділ кеш (Cache)

fastboot flash cache imya.img

Прошити розділ дата (Data)

fastboot flash userdata imya.img

Прошити розділ Recovery

fastboot flash recovery imya.img

Встановлення анімації увімкнення (прошивка розділу з анімацією)

fastboot flash splash1 splash.img

Прошити всі розділи (boot, recovery та system)

fastboot flashall

Замість imya.img- необхідно прописувати ім'я файлу, який ви збираєтеся прошити

Команда для встановлення update.zip

Прошиває на Android архів-оновлення у форматі update.zip або архів ZIP із IMG образами різних розділів

fastboot update имя_файла.zip

Для пристроїв Sony

Перевірте підключення пристрою Sony, якщо відповідь 0.3 пристрій, тоді підключено

fastboot.exe -i 0x0fce getvar version

Розблокування bootloader

fastboot.exe -i 0x0fce oem unlock 0xОтриманий_Ключ

Більш детальна інформація щодо розблокування Bootloader Sony - Як розблокувати Bootloader Sony

Помилка Waiting for Device

Якщо у вас довгий час у командному вікні горить напис waiting for device- означає:

  • Не встановлений або некоректно встановлений драйвер - перевстановити або встановити
  • Пристрій Android не в режимі Bootloader.
  • Некоректне підключення до USB порту – використовувати задні порти USB 2.0 комп'ютера, не використовувати USB хаби

Поділитися