Fastboot — протокол загрузки Android-устройств¶
Fastboot — это низкоуровневый протокол и одноимённая утилита командной строки, используемые для взаимодействия с загрузчиком (bootloader) Android-устройств через интерфейс USB. Протокол позволяет читать и записывать разделы флеш-памяти устройства, прошивать образы системных разделов, разблокировать и блокировать загрузчик, а также запускать отдельные образы без полной загрузки операционной системы. Fastboot является частью Android SDK Platform-Tools и входит в стандартный набор инструментов для разработки и обслуживания устройств на базе Android.
¶Принцип работы
Fastboot функционирует на уровне загрузчика устройства — до запуска основной операционной системы. Устройство должно быть переведено в специальный режим fastboot (часто называемый Bootloader Mode), после чего оно подключается к компьютеру по USB и ожидает команд. Протокол использует простой текстовый формат: хост отправляет строковую команду, загрузчик возвращает код результата и, при необходимости, данные.
Команды передаются в виде ASCII-строк, что делает протокол отладимым и простым в реализации. В отличие от ADB (Android Debug Bridge), который работает поверх работающей системы через сеть или USB-демон, fastboot действует на более раннем уровне и не требует запущенной ОС.
¶Основные команды
Утилита fastboot предоставляет набор команд для управления устройством:
| Команда | Назначение |
|---|---|
fastboot devices | Список подключённых в режиме fastboot устройств |
fastboot flash <раздел> <файл> | Запись образа в указанный раздел памяти |
fastboot erase <раздел> | Стирание раздела |
fastboot reboot | Перезагрузка устройства |
fastboot oem unlock / fastboot flashing unlock | Разблокировка загрузчика |
fastboot flashing lock | Блокировка загрузчика |
fastboot boot <образ.img> | Запуск образа ядра без записи в память |
fastboot getvar <переменная> | Чтение информации об устройстве |
fastboot reboot bootloader | Перезагрузка в режим fastboot |
fastboot set_active <слот> | Выбор активного слота при поддержке A/B-обновлений |
¶Разблокировка загрузчика
Одна из ключевых функций fastboot — разблокировка bootloader. По умолчанию загрузчик большинства производителей заблокирован, что ограничивает запись неподписанных образов. Команда fastboot flashing unlock (или fastboot oem unlock на старых устройствах) снимает это ограничение, но обычно сопровождается полным стиранием данных устройства в целях безопасности.
После разблокировки загрузчика становятся доступными установка кастомных прошивок (TWRP, LineageOS и др.), получение root-доступа и изменение системных разделов. Заблокированный загрузчик, напротив, проверяет цифровую подпись образов и отказывается загружать изменённые разделы.
¶Fastboot и ADB: различия
| Параметр | Fastboot | ADB |
|---|---|---|
| Уровень работы | Загрузчик (до загрузки ОС) | Работающая система или recovery |
| Режим устройства | Bootloader / fastboot | Android с включённой отладкой |
| Основная задача | Прошивка разделов, разблокировка | Управление запущенной системой, установка приложений |
| Транспорт | USB | USB или сеть |
Оба инструмента входят в пакет Android SDK Platform-Tools и часто используются совместно: например, для установки обновлений или восстановления устройства после сбоя.
¶Применение
Fastboot применяется в нескольких сценариях:
- Официальное обновление прошивки — производители (в том числе Xiaomi, Samsung, Google, Huawei) предоставляют полные образы разделов, которые прошиваются через fastboot.
- Восстановление устройства — при «кирпиче» (незагружаемом состоянии) fastboot остаётся одним из немногих работающих интерфейсов.
- Установка кастомных прошивок и рекавери — после разблокировки загрузчика.
- Разработка — тестирование образов ядра и системных компонентов на эмуляторах и реальных устройствах.
¶Поддержка и распространение
Протокол fastboot разработан Google и включён в AOSP (Android Open Source Project). Он поддерживается большинством устройств с процессорами Qualcomm, MediaTek, Exynos и другими, хотя конкретные возможности (например, тип команды разблокировки) зависят от производителя. На части устройств (например, старых моделях Samsung) используется собственный протокол Odin вместо fastboot.
Утилита fastboot доступна для Windows, macOS и Linux в составе Android SDK Platform-Tools, которые распространяются бесплатно. В России и других странах она является стандартным инструментом для обслуживания Android-устройств.
Источники:
- Android Open Source Project — Fastboot (source.android.com)
- Android SDK Platform-Tools documentation (developer.android.com)
- «Android Hacker's Handbook», Wiley, 2014
