Я уверен, что этот вопрос задавался раньше, но я не могу найти хороший ответ, который я могу понять, так что терпите меня:
Я недавно установил TWRP и LineageOS 15 на свой Moto G5 (cedric), хотя я уверен, что немного испортил процесс, потому что тем временем я почти сломал свой телефон и не совсем понимаю, как я решил это либо. Теперь все снова работает, за исключением того факта, что когда я (пере)запускаю свой телефон, он автоматически загружается в TWRP вместо LineageOS . В любом случае, я загружаюсь в LineageOS, чтобы сказать TWRP перезагрузиться в загрузчик (или перейти к загрузчику напрямую с помощью клавиши громкости), а затем из загрузчика я использую «старт».
Возможное решение , которое я нашел в Интернете, включало изменение / стирание misc
раздела, поскольку он будет отвечать за направление загрузки либо в TWRP, либо в LineageOS. Однако другие результаты Google говорят мне, что стирание misc
может серьезно повредить ваш телефон.
Главный вопрос: правильно ли, что обнуление misc
раздела является решением этой проблемы с загрузкой, как указано в возможном решении? Или это вводит в заблуждение, и проблема с загрузкой, вероятно, совсем в другом?
Вот шестнадцатеричный дамп текущего содержимого моего misc
раздела (результат его первого копирования на мой компьютер с помощью dd if=/dev/block/bootdevice/by-name/misc of=/storage/FE84-1705/misc.img
и adb pull ...
, а затем запуска hexdump -C misc.img
):
hexdump -C misc.img
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000800 62 6f 6f 74 2d 72 65 63 6f 76 65 72 79 00 00 00 |boot-recovery...|
00000810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000840 72 65 63 6f 76 65 72 79 0a 2d 2d 77 69 70 65 5f |recovery.--wipe_|
00000850 64 61 74 61 0a 2d 2d 72 65 61 73 6f 6e 3d 77 69 |data.--reason=wi|
00000860 70 65 5f 64 61 74 61 5f 76 69 61 5f 72 65 63 6f |pe_data_via_reco|
00000870 76 65 72 79 0a 00 00 00 00 00 00 00 00 00 00 00 |very............|
00000880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00001500 71 65 20 30 2f 30 00 00 00 00 00 00 00 00 00 00 |qe 0/0..........|
00001510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00001520 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |1...............|
00001530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00100000
А это результат запуска fdisk -l misc.img
:
Disk misc.img: 1 MiB, 1048576 bytes, 2048 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Кроме того, я установил TWRP 3.2.1-0-cedric и LineageOS 15.0-20171125_073252-UNOFFICIAL-cedric.
Некоторые комментарии для тех, кому нужно (сэкономьте свое время на гугле):
MISC — также FOTA на старых устройствах.
Это крошечный раздел, используемый восстановлением для связи с загрузчиком, в котором хранится некоторая информация о том, что он делает в случае перезапуска устройства во время применения пакета OTA. Это селектор режима загрузки, используемый для передачи данных между различными этапами цепочки загрузки (загрузка в режим восстановления, быстрая загрузка и т. д.). например, если он пуст (все нули), система загружается нормально. Если он содержит селектор режима восстановления, система загружается в режим восстановления. Он также может нести некоторую обязательно необходимую информацию в виде переключателей для управления оборудованием или задачами, связанными с настройками, такими как информация CID (идентификатор оператора связи или региона), конфигурации USB и т. д.
Источник: [INFO] РАЗДЕЛЫ УСТРОЙСТВ ANDROID и ФАЙЛОВЫЕ СИСТЕМЫ | Форумы разработчиков XDA
Из терминала TWRP (или через adb shell):
ls -d $(find /dev/block -name by-name)/*
hexdump
Windows не предоставляет эквивалентной команды для hexdump
. Однако в PowerShell 5.0+ есть версия с расширением format-hex
. Все же, на мой взгляд, hexdump
лучше.
Чтобы создать резервную копию:
adb pull /dev/block/platform/soc/7824900.sdhci/by-name/fota fota.img
Чтобы восстановить резервную копию:
adb push fota.img /dev/block/platform/soc/7824900.sdhci/by-name/fota
В моем случае это не сработало, поэтому я восстанавливаю его, потому что только OEM знает, что это значит.
Я пошел дальше и все равно изменил его, и ответ - ДА .
Эта qe 0/0
часть имеет какое-то отношение к тому, как Motorola оценивает, рутирован ли телефон и / или был ли он рутирован, и последнее, что 1
я не понимаю. Я пошел дальше и использовал hexedit
для удаления только части boot-recovery
и recovery.--wipe_data.--reason=wipe_data_via_recovery
, затем перенес и записал новый образ обратно в misc
раздел; и теперь телефон автоматически запускается в LineageOS.