Fastboot disable verity: как отключить проверку целостности разделов Android

Команда fastboot flash disable-verity нужна, когда после установки кастомного recovery или рут-прав смартфон уходит в бутлуп — циклическую перезагрузку с логотипом производителя. Причина обычно в механизме dm-verity: система проверяет целостность раздела system или vendor, обнаруживает изменения и отказывается загружаться. Отключение верификации через fastboot — стандартный шаг при модификации прошивки, но у него есть нюансы, которые зависят от конкретного устройства.

В этой статье разберём, что делает команда fastboot disable verity, когда она действительно необходима, какие ошибки возникают при её выполнении и чем рискует пользователь. Материал ориентирован на устройства с разблокированным загрузчиком — на заблокированном bootloader команда просто не сработает.

Что такое verity и зачем его отключают

Verified Boot (проверенная загрузка) — цепочка проверок, которую Android выполняет при старте. Загрузчик проверяет подпись boot-раздела, а дальше в дело вступает dm-verity — модуль ядра, который сверяет хеши блоков файловой системы с эталонными значениями. Если хотя бы один блок изменён, устройство либо не загружается, либо показывает предупреждение о модифицированной системе.

Отключение верификации требуется в нескольких типичных сценариях:

  • 🔧 установка кастомного recovery (TWRP, OrangeFox) на устройствах, где recovery встроен в boot-раздел;
  • 📦 прошивка модифицированных образов system, vendor или vbmeta;
  • 🛠️ получение рут-прав через патченый boot-образ, когда dm-verity мешает загрузке;
  • 🧪 разработка и тестирование кастомных прошивок, где разделы меняются постоянно.

На устройствах с поддержкой AVB (Android Verified Boot) 2.0 проверка управляется через отдельный раздел vbmeta, и именно с ним связана команда --disable-verity. На старых аппаратах без vbmeta отключение выполнялось правкой fstab в boot-образе — там fastboot-команда не поможет.

Когда команда действительно нужна, а когда нет

Не каждая модификация требует отключения verity. Современные способы рутирования через Magisk работают иначе: патченый boot-образ сохраняет целостность проверяемых разделов, и dm-verity продолжает работать штатно. Поэтому сначала стоит понять, есть ли вообще симптом проблемы.

Признаки того, что verity мешает загрузке:

  • 🔄 устройство перезагружается сразу после логотипа, не доходя до анимации загрузки;
  • ⚠️ на экране появляется сообщение об ошибке верификации или о том, что система повреждена;
  • 🚫 после прошивки модифицированного образа телефон загружается только в fastboot-режим.

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

Подготовка: что проверить перед выполнением

Перед вводом команды необходимо убедиться в нескольких вещах. Во-первых, загрузчик должен быть разблокирован — проверить это можно командой fastboot oem device-info или fastboot getvar unlocked (поддержка конкретной команды зависит от устройства). Во-вторых, на компьютере должны быть установлены актуальные Android SDK Platform Tools — устаревшие версии fastboot могут не поддерживать нужные флаги.

В-третьих, важно понять, какая схема верификации используется на вашем устройстве: классический dm-verity с проверкой через boot или AVB 2.0 с разделом vbmeta. Это определяет, какой вариант команды сработает. Информацию о схеме обычно указывают в темах прошивки конкретной модели на профильных форумах — универсального способа определить её «на глаз» нет.

☑️ Подготовка к отключению verity

Выполнено: 0 / 5
⚠️ Внимание: разблокировка загрузчика и прошивка разделов на большинстве устройств приводят к полному стиранию пользовательских данных (сбросу до заводского состояния). Сохраните всё важное до начала работы — восстановить данные после wipe без заранее сделанной копии практически невозможно.

Как выполнить команду: основные варианты

Устройство переводится в режим fastboot (обычно — выключение, затем зажатие кнопки питания и клавиши громкости; точная комбинация зависит от модели, сверьтесь с документацией производителя). После подключения к ПК проверьте, что устройство видно:

fastboot devices

Если устройство определилось, используется один из двух подходов. Первый — прошивка vbmeta с флагами отключения:

fastboot flash vbmeta --disable-verity --disable-verification vbmeta.img

Здесь vbmeta.img — образ из заводской прошивки именно вашей модели и версии. Флаг --disable-verity отключает проверку dm-verity, а --disable-verification — проверку подписей vbmeta-цепочки. Часто указывают оба флага вместе: отключение только одного может не дать результата.

Второй вариант встречается в старых инструкциях и на устройствах без отдельного vbmeta:

fastboot oem disable-verity

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

Частые ошибки и их решение

Самая распространённая проблема — ответ FAILED (remote: 'unknown command') или отказ прошивки vbmeta. Причины разные, и разбирать их стоит по порядку.

Ошибка Вероятная причина Что делать
unknown command / not supported Загрузчик не поддерживает флаги или команду oem Использовать метод с vbmeta вместо oem-команды
Flashing is not allowed Загрузчик заблокирован Разблокировать bootloader официальным способом производителя
no such partition: vbmeta На устройстве нет раздела vbmeta (старая схема) Отключать verity через патч boot/fstab, а не fastboot
Бутлуп после прошивки vbmeta Образ не от этой версии прошивки Прошить vbmeta из родной прошивки или вернуть стоковые разделы
Устройство не видно в fastboot Проблема с драйверами или кабелем Переустановить драйверы, сменить порт USB и кабель

Отдельный случай — устройства с A/B-разметкой разделов (два слота прошивки). Там vbmeta прошивается в активный слот, и при смене слота через fastboot set_active может потребоваться повторить операцию. Если после всех действий устройство всё равно не загружается, надёжнее всего полностью прошить стоковую прошивку и начать модификацию заново, сверяясь с инструкцией под конкретную модель.

📊 С какой проблемой вы столкнулись при отключении verity?
Ошибка unknown command
Бутлуп после прошивки vbmeta
Устройство не определяется в fastboot
Всё получилось без ошибок

Риски и последствия отключения verity

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

⚠️ Внимание: на некоторых устройствах отключение verity и разблокированный загрузчик приводят к тому, что часть приложений (банковские клиенты, платёжные сервисы, стриминговые сервисы с защитой контента) отказывается работать или работает с ограничениями. Проверьте этот момент заранее, если устройство используется ежедневно.

Ещё один момент — обновления по воздуху (OTA) после отключения verity и модификации разделов часто перестают устанавливаться или устанавливаются с ошибкой. Обычный сценарий — перед обновлением возвращать стоковые разделы, обновляться, а затем повторять модификацию заново. Точное поведение зависит от производителя и типа обновления.

Как вернуть verity обратно

Прошейте оригинальный vbmeta без флагов: fastboot flash vbmeta vbmeta.img, где образ взят из заводской прошивки. Если разделы system/vendor были изменены, их тоже нужно вернуть к стоковому состоянию — иначе dm-verity при загрузке обнаружит несовпадение хешей, и устройство не загрузится. Самый надёжный способ полного возврата — прошивка всех разделов из заводского образа через fastboot или фирменную утилиту производителя.

FAQ: частые вопросы

Чем отличаются флаги --disable-verity и --disable-verification?

Первый отключает проверку целостности разделов через dm-verity, второй — проверку подписей в цепочке vbmeta. На практике чаще всего указывают оба флага одновременно, чтобы загрузчик не проверял ни подписи, ни содержимое разделов.

Можно ли отключить verity без разблокировки загрузчика?

Нет. Запись в раздел vbmeta и прошивка любых разделов через fastboot возможны только при разблокированном bootloader. Способов обойти это ограничение штатными средствами не существует.

Команда вернула ошибку, но устройство работает — это опасно?

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

Пропадёт ли гарантия после отключения verity?

Само по себе отключение verity требует разблокированного загрузчика, а вот разблокировка уже может повлиять на гарантийные обязательства — политика зависит от производителя и региона. Уточняйте условия у производителя вашего устройства до начала работ.

Нужно ли отключать verity для установки Magisk?

Обычно нет: Magisk патчит boot-образ так, что проверка целостности не нарушается. Отключение verity требуется лишь в отдельных сценариях, которые описаны в инструкциях под конкретную модель.