Режим восстановления (Recovery Mode) — это изолированная среда, загружаемая до основной операционной системы. Она предназначена для критических операций: сброса настроек, установки обновлений и очистки кэша. Когда система сталкивается с фатальными ошибками, она фиксирует детали сбоя в специальных файлах журналов. Доступ к этим записям позволяет точно определить причину краха, будь то повреждение файловой системы или конфликт драйверов, вместо того чтобы действовать наугад.

Где хранятся файлы логов

Журналы действий сохраняются в защищенных разделах памяти устройства. Основные пути расположения файлов:

  • /cache/recovery/last_log — стандартное место хранения последнего лога;
  • /data/misc/recovery/ — альтернативный путь в некоторых сборках;
  • /data/recovery/last_log — встречается реже, зависит от производителя.

Эти разделы недоступны обычным пользователям, поэтому для получения доступа требуются права суперпользователя или подключение к компьютеру через отладку USB.

Методы извлечения данных

Существует несколько способов скопировать лог-файл на компьютер для дальнейшего анализа. Выбор метода зависит от состояния устройства.

Через ADB (Android Debug Bridge)

Если смартфон работает и включена отладка по USB:

  1. Подключите устройство к ПК кабелем.
  2. Откройте терминал или командную строку на компьютере.
  3. Выполните команду: adb pull /cache/recovery/last_log.
  4. Если файл не найден, попробуйте путь /data/recovery/last_log.

Когда система не загружается

В случаях, когда Android не стартует, но доступен режим Recovery:

  • Используйте команду adb shell для входа в консоль режима восстановления.
  • Некоторые кастомные рекавери (например, TWRP) позволяют сохранить лог напрямую на карту памяти через меню.
  • Для устройств с заблокированным загрузчиком могут потребоваться специализированные утилиты, такие как Heimdall (для Samsung) или Fastboot, для полного образа раздела.

Структура лог-файла

Файл представляет собой текстовый документ с хронологическим порядком событий. Каждая строка содержит временную метку, уровень важности и описание действия. Понимание структуры помогает быстро отсеять информационный шум.

Уровни сообщений

Проведите по таблице влево, чтобы увидеть остальные столбцы

Ключевое слово Уровень Значение
INFO Низкий Общие сведения о ходе операции (загрузка ядра, монтирование разделов).
WARNING Средний Предупреждения, например, о несовпадении подписи прошивки.
ERROR Высокий Ошибки выполнения команд, такие как невозможность монтирования раздела.
FATAL Критический Неисправимые сбои, приводящие к остановке процесса (нехватка памяти).

Типичные записи

Первые строки обычно содержат версию ядра Linux и модель устройства. Далее идет процесс монтирования системных разделов (/system, /data). Критические моменты отмечаются кодами ошибок. Например, запись mount: /system: Invalid argument указывает на повреждение файловой системы раздела /system. Сообщения вида No space left on device сигнализируют о переполнении раздела /cache.

Диагностика проблем с прошивкой

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

Распространенные ошибки

  • Updater process crashed: скрипт обновления завершился аварийно. Причина может быть в поврежденном файле прошивки или ошибке в самом скрипте. Повторная установка без проверки целостности файла (сравнения хеш-суммы) скорее всего приведет к тому же результату.
  • Signature verification failed: цифровая подпись прошивки не совпадает с ожидаемой. Это происходит при попытке установить неофициальное ПО или версию, не подходящую для конкретной модели устройства.
  • Ошибка верификации разделов: часто сопровождается кодами ошибок формата 0x.... Указывает на несоответствие архитектуры прошивки аппаратной части смартфона.

Анализ бесконечной перезагрузки (Bootloop)

Если устройство зацикливается на этапе загрузки, логи восстановления помогут выявить виновника. Обычно проблема кроется в конфликтах программного обеспечения.

На что обращать внимание

  • Отсутствие системных файлов: сообщения о том, что не найдены init.rc или драйверы GPU, указывают на критическое повреждение системы.
  • Конфликты модификаций: если перед появлением проблемы устанавливались кастомные темы или модули Magisk, они могли нарушить работу ядра. Удаление этих компонентов через меню Recovery часто решает проблему.
  • SELinux: ошибки безопасности Security-Enhanced Linux блокируют запуск процессов. Временное переключение в режим Permissive может позволить системе загрузиться, но требует последующей полной перепрошивки для стабильной работы.
  • Падение системных приложений: если лог показывает краш процесса com.android.systemui, причиной может быть сбой пользовательского интерфейса. Помогает очистка кэша соответствующего раздела.

Что делать, если лог пуст

Иногда файл last_log оказывается пустым или отсутствует. Это случается при внезапной потере питания до завершения записи или при сбое на уровне ядра. В такой ситуации:

  1. Попробуйте получить доступ к консоли ядра через dmesg (если есть root-доступ).
  2. Проверьте журнал загрузки в режиме Fastboot.
  3. Изучите другие системные журналы, если они доступны в вашей сборке.

Безопасность данных

Логи восстановления могут содержать информацию о структуре файловой системы и параметрах оборудования. При отправке файлов специалистам или публикации в открытых источниках рекомендуется предварительно проверить содержимое на наличие личных данных или уникальных идентификаторов устройства.

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

Что такое view recovery logs?

Это процедура просмотра журналов событий режима восстановления Android. Эти записи фиксируют все действия системы при сбоях, обновлениях или загрузке, помогая диагностировать причины неисправностей.

Где находится файл last_log на Android?

Обычно он расположен по пути /cache/recovery/last_log. В некоторых версиях прошивок или оболочках путь может отличаться, например, /data/misc/recovery/ или /data/recovery/last_log.

Как извлечь лог, если телефон не включается?

Если доступен режим Recovery, можно использовать команду adb shell для доступа к файловой системе извне или сохранить лог на карту памяти через меню кастомного рекавери (например, TWRP).

Что означает ошибка mount failed в логе?

Запись mount failed с уровнем ERROR указывает на то, что система не смогла смонтировать раздел файловой системы. Это часто свидетельствует о его повреждении и требует форматирования или восстановления резервной копии.

Почему лог восстановления может быть пустым?

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