Короткое практическое руководство по mount и partition в Recovery

В Recovery команда mount подключает раздел (partition) к точке монтирования, делая его доступным для чтения/записи; монтировать нужно /system, /data, /cache и /sdcard для диагностики, бэкапа и восстановления. Ниже — что именно монтировать, типичные команды и готовый пошаговый пример.

Что такое mount в Android Recovery и как он работает

Команда mount связывает блочное устройство (например, /dev/block/bootdevice/by-name/system) с директорией (например, /system). В стоковом Recovery функционал ограничен, в кастомных (TWRP, OrangeFox) есть GUI для монтирования и встроенный shell.

Основные варианты:

  • Просмотреть текущие монтирования: mount (без параметров)
  • Монтировать явно: mount -t <fs> <device> <mountpoint> или просто mount <device> <mountpoint>
  • Перемонтировать в RW: mount -o rw,remount /system
  • Отмонтировать: umount /system

Проверяйте доступность точки командой mount и разрешения файлом ls -l /dev/block/bootdevice/by-name/.

Какие разделы можно монтировать и зачем

Ниже — список ключевых разделов и практическое назначение:

  • /system — системные файлы ROM. Правки build.prop, установка вручную обновлений.
  • /vendor — драйверы и OEM-компоненты (важно для модулей).
  • /product, /odm — дополнительные OEM-разделы на новых устройствах.
  • /data (userdata) — пользовательские данные; нужен для бэкапов, удаления corrupt-файлов, но будьте осторожны при шифровании.
  • /cache — очистка кэша приложений и recovery.
  • /sdcard или /external_sd — место для хранения бэкапов (/sdcard обычно монтируется автоматически в TWRP).
  • boot/recovery — для создания образа dd (часто не монтируются, копируются как блочные устройства).

Имя устройства в системе: /dev/block/bootdevice/by-name/<name>; на A/B-устройствах — суффиксы _a и _b.

Не монтируйте и не изменяйте /data на зашифрованных устройствах без расшифровки (cryptfs/keystore) — риск потери данных.

Практические команды и пошаговый пример

  1. Загрузитесь в Recovery и подключите ADB: adb shell
  2. Посмотрите список: ls -l /dev/block/bootdevice/by-name/
  3. Смонтируйте /system: mount /dev/block/bootdevice/by-name/system /system
    • Если ошибка "read-only": mount -o rw,remount /system
  4. Скопируйте файл: cp /system/build.prop /sdcard/ или adb pull /sdcard/build.prop
  5. Для образов: dd if=/dev/block/bootdevice/by-name/boot of=/sdcard/boot.img
  6. Отмонтируйте: umount /system

Пример поиска раздела, если путь неизвестен:

  • find /dev/block -name "*system*"
  • cat /etc/recovery.fstab или cat /vendor/etc/fstab* (пути OEM могут отличаться)

Примечание про EROFS и Android 11+: системные разделы могут быть только для чтения (EROFS). Для модификаций используйте overlay (Magisk) или патчи, не прямое изменение.

Частые ошибки

  • "Device or resource busy" — сначала umount /system, проверьте процессы, использующие раздел.
  • Неправильный путь — используйте ls -l /dev/block/bootdevice/by-name/ или find.
  • Read-only файловая система (EROFS) — нельзя монтировать в rw без специальных инструментов.
  • Потеря доступа к /data при шифровании — не пытайтесь монтировать без расшифровки.

FAQ

  • Как монтировать на A/B-устройстве? — Монтируйте нужный слот, например /dev/block/bootdevice/by-name/system_a или _b.
  • Можно ли править /system в стоковом Recovery? — Обычно нет. Используйте кастомный Recovery или инструменты, поддерживающие rw/overlay.
  • Как быстро сделать бэкап раздела? — dd if=/dev/block/bootdevice/by-name/<name> of=/sdcard/<name>.img (не забывайте место на носителе).

Для Samsung, Xiaomi и некоторых OEM пути и имена fstab могут отличаться — смотрите vendor/etc и fstab в recovery-образе.

Эти инструкции решают большинство задач в recovery: диагностика, бэкап и откат. Всегда делайте бэкап перед изменениями и работайте аккуратно — перепрошивка/изменение разделов может привести к необратимым последствиям.