Как перепрошить телефон под Linux: полное руководство

Телефон завис на логотипе после неудачного обновления, а под рукой только компьютер с Ubuntu или другим дистрибутивом Linux — эта ситуация решается через fastboot или ADB, которые работают в Linux нативно, без эмуляторов и виртуальных машин. В отличие от Windows, здесь не нужно искать драйверы: достаточно установить пакеты android-tools и настроить правила udev, чтобы система видела устройство.

В этой статье разберём полный цикл: от подготовки системы и разблокировки загрузчика до прошивки разделов и проверки результата. Отдельно затронем специфику устройств Samsung, для которых вместо fastboot используется утилита Heimdall, и типичные ошибки, с которыми сталкиваются при прошивке из Linux.

Что нужно знать перед прошивкой

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

Определите точную модель и кодовое имя устройства: например, у Google Pixel и Xiaomi прошивки строго привязаны к ревизии аппарата. Образ от другой модели, даже внешне похожей, с высокой вероятностью приведёт к нерабочему состоянию. Кодовое имя обычно указано на странице загрузки прошивки или определяется командой fastboot getvar product в режиме загрузчика.

  • 🔋 Зарядите аккумулятор минимум до 50–60%, чтобы телефон не отключился в процессе записи разделов.
  • 💾 Сделайте резервную копию фотографий, контактов и мессенджеров — разблокировка загрузчика полностью очищает память.
  • 🔌 Используйте качественный USB-кабель и порт напрямую на материнской плате, без хабов.
  • 📄 Скачивайте прошивку только с официального источника производителя или проверенного репозитория вроде проекта вашей кастомной ROM.
⚠️ Внимание: разблокировка загрузчика на большинстве устройств аннулирует гарантию и отключает часть функций безопасности (например, платежи через NFC могут перестать работать на некоторых прошивках). Уточните политику производителя для вашей модели до начала процедуры.

Установка ADB и Fastboot в Linux

Инструменты Android Platform Tools есть в репозиториях большинства дистрибутивов. В Debian, Ubuntu и производных установка выполняется одной командой:

sudo apt update && sudo apt install android-tools-adb android-tools-fastboot

В Fedora пакеты называются android-tools, в Arch Linux — android-tools из официального репозитория. Альтернатива — скачать свежую версию Platform Tools с официального сайта для разработчиков Android и распаковать в домашний каталог; это даёт самую актуальную версию утилит.

Чтобы система видела телефон без sudo, настройте правила udev. Создайте файл /etc/udev/rules.d/51-android.rules с параметрами производителя (Vendor ID) вашего устройства, затем перезагрузите правила командой sudo udevadm control --reload-rules. Список Vendor ID доступен в официальной документации Android. Без этого шага adb devices может показывать пустой список или статус no permissions.

Проверка подключения устройства

Включите на телефоне отладку по USB: откройте «Настройки» → «О телефоне», семь раз нажмите на «Номер сборки» для активации режима разработчика, затем в разделе «Для разработчиков» включите отладку по USB. Точные названия пунктов могут отличаться в зависимости от оболочки — сверьтесь с документацией вашей модели.

Подключите смартфон кабелем и выполните adb devices. На экране телефона появится запрос на разрешение отладки с этого компьютера — подтвердите его, отметив «Всегда разрешать». В списке устройство должно отображаться со статусом device. Если статус unauthorized — подтверждение на телефоне не было дано; если список пуст — проверяйте кабель и правила udev.

Для перевода в режим загрузчика используется команда:

adb reboot bootloader

После перезагрузки проверьте видимость устройства командой fastboot devices. Телефон в режиме fastboot определяется системой иначе, чем в обычном режиме, поэтому отдельная проверка обязательна.

📊 На каком дистрибутиве Linux вы прошиваете телефон?
Ubuntu / Debian
Fedora
Arch / Manjaro
Другой дистрибутив

Разблокировка загрузчика

Загруженный в режим fastboot телефон с заблокированным загрузчиком откажется принимать прошивку. Разблокировка выполняется командой:

fastboot flashing unlock

На старых устройствах вместо неё используется fastboot oem unlock. На экране телефона появится предупреждение — подтвердите действие кнопками громкости и питания. После этого устройство выполнит сброс до заводских настроек, и все данные будут удалены.

У некоторых производителей процедура сложнее. Xiaomi требует привязки аккаунта Mi и ожидания разрешения на разблокировку через фирменную утилиту, которая официально работает только под Windows — это одно из немногих мест, где Linux-пользователю может понадобиться обходной путь в виде виртуальной машины. Устройства Google Pixel и большинство моделей OnePlus разблокируются напрямую, без дополнительных разрешений.

⚠️ Внимание: команда разблокировки необратимо стирает раздел данных. Если на телефоне есть несохранённые фото, переписки или двухфакторные токены — перенесите их заранее, восстановить информацию после wipe практически невозможно.

Прошивка телефона через Fastboot

Официальные заводские образы для многих устройств распространяются в виде архива с набором .img-файлов и готовым скриптом flash-all.sh, который автоматически прошивает все разделы в правильном порядке. Для ручной прошивки последовательность выглядит так:

fastboot flash boot boot.img

fastboot flash system system.img

fastboot flash vendor vendor.img

Набор разделов зависит от устройства: у современных моделей с архитектурой A/B (seamless updates) разделы дублируются, а system и vendor могут входить в состав динамического раздела super.img. В таком случае прошивка выполняется через режим fastbootd — ориентируйтесь на инструкцию, приложенную к конкретному образу.

☑️ Порядок прошивки через fastboot

Выполнено: 0 / 7

После записи всех разделов перезагрузите устройство командой fastboot reboot. Первая загрузка после прошивки занимает заметно больше времени, чем обычно — система оптимизирует приложения и создаёт структуру данных. Прерывать её выключением не стоит: дождитесь экрана приветствия.

Прошивка Samsung через Heimdall

Устройства Samsung не поддерживают fastboot — вместо него используется фирменный режим Download Mode (Odin mode). Под Linux проприетарный Odin заменяет открытая утилита Heimdall, доступная в репозиториях большинства дистрибутивов:

sudo apt install heimdall-flash

Телефон переводится в Download Mode комбинацией кнопок, которая различается между поколениями Galaxy — точную комбинацию для вашей модели уточните в официальной документации или на профильном форуме. После подключения проверьте обнаружение командой heimdall detect.

Прошивка отдельного раздела выполняется так:

heimdall flash --RECOVERY recovery.img --no-reboot

Параметр --no-reboot важен, когда нужно сразу после прошивки загрузиться в новый recovery, не дав стоковой системе перезаписать его. Полные многокомпонентные прошивки Samsung (файлы AP, BL, CP, CSC) через Heimdall прошиваются посекционно, что требует распаковки архивов и знания схемы разделов — для таких задач многие пользователи предпочитают виртуальную машину с Windows и Odin.

Почему Samsung не работает с fastboot

Samsung использует собственный протокол загрузчика, несовместимый со стандартным fastboot от Google. Исторически прошивка выполнялась только через фирменную программу Odin под Windows. Heimdall — это открытая реализация того же протокола, созданная методом обратной разработки, поэтому она поддерживает не все новые модели и разделы.

Сравнение инструментов прошивки под Linux

Выбор утилиты зависит от производителя смартфона и типа прошивки. Сводная таблица поможет сориентироваться:

ИнструментУстройстваРежимТипичная задача
FastbootGoogle Pixel, OnePlus, многие другиеBootloaderПрошивка разделов, разблокировка
ADBЛюбые AndroidЗагруженная системаSideload OTA, диагностика
HeimdallSamsung GalaxyDownload ModeПрошивка recovery и разделов
fastbootdУстройства с динамическими разделамиUserspace fastbootПрошивка super.img

Для установки OTA-обновлений вручную удобен режим ADB sideload: телефон загружается в recovery, выбирается пункт «Apply update from ADB», после чего пакет отправляется командой adb sideload update.zip. Этот способ не требует разблокировки загрузчика, если пакет подписан производителем.

Типичные ошибки и их решение

Чаще всего процесс останавливается на этапе обнаружения устройства. Пустой вывод fastboot devices при подключённом телефоне означает проблему с правами udev, кабелем или портом. Попробуйте запустить команду через sudo — если устройство появилось, дело точно в правах.

Ошибка FAILED (remote: 'Flashing is not allowed') указывает на заблокированный загрузчик — вернитесь к шагу разблокировки. Сообщение о несовпадении размера или подписи образа означает, что файл прошивки повреждён при скачивании или предназначен для другой ревизии устройства: сверьте контрольную сумму архива с опубликованной на странице загрузки и проверьте кодовое имя модели.

Если после прошивки телефон уходит в bootloop — циклическую перезагрузку — не паникуйте. Загрузитесь обратно в fastboot и прошейте заведомо рабочий стоковый образ. Бутлуп после прошивки почти всегда обратим, если загрузчик отвечает на команды fastboot. Критична только ситуация, когда устройство вообще не входит в режим загрузчика — тогда потребуется низкоуровневое восстановление, специфичное для чипсета (Qualcomm EDL, MediaTek Download), и здесь безопаснее обратиться к профильным инструкциям именно для вашей модели.

Часто задаваемые вопросы

Можно ли прошить телефон под Linux без разблокировки загрузчика?

Только официальные OTA-пакеты через adb sideload в стоковом recovery — они подписаны производителем. Полная прошивка разделов через fastboot требует разблокированного загрузчика практически на всех устройствах.

Нужны ли драйверы для прошивки телефона в Linux?

Отдельные драйверы, как в Windows, не требуются — ядро Linux поддерживает ADB и fastboot из коробки. Нужно лишь установить пакеты android-tools и настроить правила udev для доступа без root-прав.

Что делать, если телефон не определяется в fastboot?

Проверьте кабель (он должен поддерживать передачу данных, а не только зарядку), смените USB-порт, выполните sudo fastboot devices для исключения проблемы с правами и убедитесь, что телефон действительно в режиме загрузчика, а не просто выключен.

Подойдёт ли прошивка от похожей модели телефона?

Нет. Образы строго привязаны к кодовому имени и аппаратной ревизии устройства. Прошивка чужого образа — один из самых частых способов получить нерабочий аппарат. Всегда сверяйте кодовое имя модели с именем файла прошивки.

Как вернуть стоковую прошивку после кастомной?

Скачайте официальный заводской образ для вашей модели и прошейте его через fastboot тем же способом, что и кастомную. Для устройств с готовым скриптом достаточно запустить flash-all.sh. После этого загрузчик можно заблокировать обратно командой fastboot flashing lock — но только на полностью стоковой прошивке, иначе телефон не загрузится.