Разница между оболочкой ADB и терминалом TWRP

TLDR :
при загрузке в TWRP (не в ОС Android) есть ли разница между запуском команды в оболочке ADB и запуском ее в терминале TWRP? В частности, что-то, что портит разделы? Это безопасно? Ожидаются ли другие результаты?

Предыстория :
у меня возникла проблема с OnePlus One. Он как бы случайным образом перезагружается или выключается мгновенно. Иногда отказывается запускаться снова, если кнопка питания не нажата в течение примерно 30 секунд или разъем аккумулятора не отключен и не подключен снова. Согласно этой статье , проблема может заключаться в поврежденном разделе. Он предлагает запустить:

`make_ext4fs /dev/block/mmcblk0p15

через АБР. К сожалению, я не могу заставить ADB правильно распознать мое устройство. Я сделал все, что было предложено в этой статье , но это не помогло. Я пытался сканировать устройства ADB при загрузке в TWRP (устройства не появлялись), и я пытался сканировать устройства при загрузке в Android, но как только я включаю отладку по USB, телефон постоянно отключается, например, несколько раз в секунду. Я попытался использовать удлинитель USB с питанием, как предлагается здесь , но это не помогло. Я также измерил потребляемый ток, и он постоянно переключался между ~ 230 мА и ~ 270 мА (блок питания позволял до 5100 мА). Кроме того, я отказываюсь делать ADB через WiFi из соображений безопасности. Также, скорее всего, будет сложно заставить брандмауэры разрешить это.

Мне также интересно, есть ли способ узнать, повреждены ли какие-либо другие разделы (в списке около 50 устройств /dev/block/).

Ответы (2)

Я бы не стал вмешиваться в разделы, которые используются в настоящее время, — что было бы в случае загрузки системы. При загрузке в режиме восстановления они не используются, если вы не смонтируете их явно (или, если они смонтированы автоматически, вы можете размонтировать их, и система все еще будет работать).

Так что такие вещи как переразметка или форматирование лучше делать из рекавери. То же самое относится к образу ( dd), когда вы хотите быть уверенным, что содержимое не изменится, пока вы создаете этот «образ диска», поскольку вы хотите, чтобы он был согласован (конечно, это не проблема с разделами, смонтированными только для чтения).

И снова это применимо, если вы хотите восстановить файловую систему: для этого необходимо размонтировать соответствующий раздел , что невозможно сделать, например, для /dataраздела при нормальной загрузке – fsck(Проверка файловой системы) требует монопольного доступа к нему.


Что касается вашей основной проблемы: я бы порекомендовал загрузиться в режиме восстановления и сначала запустить проверку файловой системы, чтобы увидеть , не поврежден ли какой-либо раздел. В большинстве случаев fsckтакже можно исправить повреждение, и вы сохраните свои данные таким образом. Если fsckобнаружатся проблемы, которые он не может решить (или вы хотите быть «абсолютно уверенным и чистым»), вы все равно можете запустить его, make_ext4fsчто, конечно, будет означать «все данные потеряны». Если вы сделаете это, /systemэто также означает, что вам нужно прошить ПЗУ впоследствии, так как ваша ОС исчезнет. И если вы сделаете это с любым разделом, кроме /system, /dataили/cache(или SD-карту), вы можете заблокировать свое устройство, так как не будете знать, что туда положить, чтобы снова оживить его. О, и также убедитесь, что раздел, который вы хотите «отформатировать», действительно использует ext4, прежде чем запускать make_ext4fsего. Хотя это должно быть прозрачно, непредвиденная файловая система может запутать ОС :)

@iBug Я этого не говорил, пожалуйста, прочитайте еще раз: «убедитесь, что раздел, который вы хотите« отформатировать », действительно использует ext4, прежде чем работать make_ext4fsс ним». Поскольку SD-карта вряд ли будет ее использовать, согласно моему ответу, вы не должны форматировать ее таким образом ( mkfsдля FAT есть другие команды: mkfs.vfatи mkfs.exfat).

Неа. При загрузке в TWRP все команды выполняются с привилегиями root, команды оболочки в основном такие же, но TWRP добавил команду, twrpзадокументированную здесь , которая, я думаю, наиболее удобна и трудно ошибиться.

Я понятия не имею о частых перезагрузках, но я предлагаю вам проверить разъем питания.