Что может привести к тому, что мой телефон самопроизвольно перестанет загружаться в пользовательское ПЗУ и перезагрузится только в режиме восстановления?

Мой телефон — Samsung Vibrant с CyanogenMod 10.0 (Android 4.1.2). Я перезагрузил свой телефон, как я это делаю каждые несколько дней, и вместо того, чтобы запустить CyanogenMod, как обычно, он сбросил меня в рекавери ClockworkMod. Независимо от того, сколько раз я выбираю вариант перезагрузки, телефон всегда просто сбрасывает меня обратно в рекавери.

Кажется, есть что-то подозрительное в /systemразделе.

  • Глядя на журнал под advancedменю, он говорит can't mount /system.
  • Захожу в mounts and storageменю и пытаюсь смонтировать /system, получаю ошибку failed to mount /dev/lvpool/system: invalid argument.

Ответы (1)

Проблема заключалась в том, что файловая система ext3/ext4 на /dev/lvpool/system, обычно смонтированная на /system, имела поврежденный суперблок. Исправление состояло в том, чтобы подключиться к телефону adbи запустить его e2fsckвручную, например:

# ./adb shell
# e2fsck /dev/lvpool/system 
e2fsck 1.41.11 (14-Mar-2010)
e2fsck: Superblock invalid, trying backup blocks...
Backing up journal inode block information.

/dev/lvpool/system: clean, 11/25600 files, 3310/102400 blocks
# exit

После этого опция перезагрузки в восстановлении ClockwordMod без проблем восстановила CyanogenMod.

Большое количество поисков в Google не дало указаний в этом направлении, поэтому я публикую этот вопрос и ответ в надежде, что это избавит кого-то еще от рутинной работы по копанию в форумах и / или переустановке их восстановления и / или ПЗУ напрасно.