Почему для пользовательского ПЗУ требуется root-доступ?

Я хотел бы внести ясность, и, как показывает мой вопрос, я очень плохо разбираюсь в мобильных устройствах в целом, поэтому приношу свои извинения, если это общеизвестно.

Скажем, я хочу установить пользовательское ПЗУ на устройство, тогда может показаться, что мне нужен root-доступ. Я могу узнать на каждой веб-странице, как я могу рутировать устройство, но я не могу найти, как мне нужно рутировать устройство . Я понимаю, что рутирование устройства просто дает мне root-доступ на устройстве, но зачем это нужно? Если я подключу телефон к ПК, то разве это не даст мне доступ ко всей файловой системе устройства? Если да, то почему я не могу просто перезаписать соответствующие части ФС любым ПЗУ, которое захочу?

Кроме того, почему рутирование и использование пользовательского ПЗУ может привести к блокировке устройства? Разве я не мог просто перезаписать ПЗУ, которое вызывало проблему, на исходное (которое я думал сделать резервную копию! ;)).

If I connect the phone to a PC then doesn't that give me access to the entire file system of the device?- По умолчанию нет. Это дает вам доступ к очень специфической части файловой системы («внешнее» хранилище).
@ t0mm13b Ни один из этих вопросов не отвечает на вопрос ПОЧЕМУ . Думаю, я пойду вперед и помещу что-нибудь здесь.

Ответы (2)

Короткий ответ:

Из соображений безопасности и гарантии.

Подробный ответ:

В основном это мера предосторожности, принимаемая большинством (не всеми!) производителями устройств, чтобы уберечь их от слишком большого количества запросов на обслуживание от «играющих детишек» (и тех людей, которые хотят попробовать все, даже если они ничего не понимают). Таким образом, эти производители предприняли специальные действия, чтобы избежать перепрошивки «пользовательских ПЗУ» (или, точнее, любых ПЗУ, не предоставленных ими самими).

Как уже указал t0mm13b в своих комментариях выше, по умолчанию вы не получаете физического доступа к файловой системе вашего устройства, просто подключив его через USB. В зависимости от устройства, версии Android и некоторых других критериев вы можете видеть только части. Это может быть вся SD-карта (физическая, в режиме UMS ) или даже только «логический» доступ к ее частям через MTP . Некоторый более привилегированный доступ можно получить через ADB при включении отладки по USB , но со стандартным ПЗУ ни в одном из этих случаев вы не получите полный доступ .

Как тогда выполняются обновления? Одной из очень распространенных практик является использование специального ZIP-файла ( update.zip). Это помещается на SD-карту, которая вставлена ​​в устройство, и устройство загружается в специальный режим (восстановление), откуда update.zipможно применить. НО: устройство проверяет ее целостность update.zip-- она ​​должна быть подписана ключом производителя. По понятным причинам этот ключ недоступен в свободном доступе, поэтому никакое пользовательское ПЗУ не может быть установлено таким образом в такой стандартной системе.

Все эти вещи можно обойти только с доступом к устройству с правами суперпользователя, что означает: вы должны рутировать его.

Так что это для части ПОЧЕМУ , не касаясь части КАК укоренения. Именно так, как вы просили :)


Обновите, чтобы узнать больше

Как указал Лиам в своем комментарии, что использование fastbootбудет методом прошивки пользовательских ПЗУ без предварительного условия рутирования устройства, я провел немного больше исследований, чтобы узнать об этом. Я продолжу изучать это, но все же уже хотел добавить сюда свои первые результаты.

До определенного момента Лиам прав в этом: кажется, что это применимо не только к устройствам Samsung (как я сначала предположил), но и к некоторым другим устройствам (не ко всем) также поддерживает этот метод без участия root (помимо того факта, что Конечно, большинство пользовательских ПЗУ будут поставляться с рутом, поэтому после их установки у вас будет доступ к руту). Тем не менее, есть устройства, которые, кажется, требуют рута даже для fastboot flash(см., например , TheUnlockr относительно Iconia A100 , цитата: Вы должны рутировать свое устройство перед выполнением этой процедуры — и да, они используются fastboot flash recovery recovery.imgпосле).

Однако, даже если это fastbootработает на вашем нерутированном устройстве, необходимо учитывать один важный момент:

Чтобы прошить ПЗУ для вашего Android-устройства с помощью fastboot, у вас должен быть разблокированный загрузчик или инженерный загрузчик.

( Руководство по перепрошивке - Android - XDA-Developers )

Это означает: если ваш загрузчик заблокирован, вам нужно сначала разблокировать его, что приведет к очистке (сбросу настроек) вашего устройства. Таким образом, все данные будут потеряны навсегда — в то время как с root вы могли бы сделать полную резервную копию (Nandroid, Titanium Backup) перед этим шагом. Однако, начиная с Android 4.0, это больше не является реальной проблемой, так как вы можете сделать полное резервное копирование через ADB (см. Полное резервное копирование нерутированных устройств ) .


Резюме:

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

Однако: есть также устройства, которые можно прошивать fastboot без предварительного рутирования. Если ваше устройство попадает в эту категорию, вопрос « Почему для прошивки пользовательского ПЗУ требуется root-доступ » становится недействительным (ответ «нет», поскольку ex falso quodlibet sequitur («из ложного может следовать что угодно») вы можете сделать любой вывод из неправильной предпосылки :)

То есть: ЕСЛИ требуется рутирование, то ПОЧЕМУ выше .

На самом деле вам не нужен root для установки пользовательского ПЗУ на большинстве устройств;)
@LiamW Как говорится в моем вопросе, я очень плохо разбираюсь в мобильных ОС, а у Иззи 13,3 тысячи репутации, что указывает на то, что он знает об этом на два больше, чем я; как таковой, я предполагаю, что его ответ полностью правильный, поскольку я не знаю ничего об обратном; также его ответ получил наибольшее количество голосов (опять же указывает на то, что он технически правильный). Тем не менее, если вы считаете, что его ответ неверен, не стесняйтесь обновить свой ответ, и если голоса изменятся, я изменю принятый ответ.
@LiamW Вы имеете в виду «на большинстве устройств Samsung ». Я никогда не видел устройства, на котором можно было бы прошить пользовательское ПЗУ без рута, извините, и я видел некоторые устройства. Ну, я держался подальше от пластиковых бомбардировщиков... XD Так что технически ваш последний комментарий неверен :D
Это курица и яйцо ... вам нужен root, чтобы иметь возможность прошить пользовательское ПЗУ, а для того, чтобы прошить пользовательское ПЗУ, вам обычно нужен разблокированный загрузчик с корневой средой восстановления ... и корневая среда восстановления, такая как как CWM/TWRP.... лови-22!
@ t0mm13b только что упомянул «пользовательское восстановление». Это то, что работает с проблемой «подписи» — так что можно прошивать, update.zipдаже если он не подписан ключом производителя — так что это еще одна деталь в очереди. Просто не вижу "курицу-яйцо": рут -> разблокировка -> CWM -> Custom ROM. Петля не обнаружена.
@LiamW Вряд ли это предубеждение, и вы совершенно правы - высокая репутация не всегда означает правильный ответ, однако, учитывая, что я задал вопрос, на который у меня не было возможности проверить ответ, я также полагаюсь на сообщество и их голоса, чтобы найти правильный ответ. приемлемый ответ. Как я уже сказал, не стесняйтесь расширять свой ответ, который опровергает ответ, предоставленный Иззи, и, если сообщество согласится, я с радостью сделаю ваш ответ принятым. :)
@ R4D4 Принятый ответ должен быть тем, который поможет вам больше всего. Если вы не в состоянии полностью оценить ответ, то совершенно нормально его не принимать. Принятие самого высокого ответа только потому, что он самый высокий или ответ от кого-то с высокой репутацией, определенно не одобряется. В конце концов, хотя это ваше решение, никто не должен говорить вам по-другому.
Точно -- снова мир :) Мы решили, пока не доказано обратное, что мы оба правы -- в зависимости от обстоятельств (например, рассматриваемого оборудования/производителя). Я снова углублюсь в fastbootтему и обновлю свой вопрос позже. Может занять пару дней, так как я сейчас очень занят (смотрите чат по причинам ;)
@MatthewRead Не могу не согласиться с вашим утверждением, однако измерить «помощь» сложно, когда я прошу объяснений. Обычно я не принимаю ответы, основанные на репутации или количестве голосов, но в этом случае я бы согласился. У меня нет ничего, чтобы проверить правильность ответов, и я не смогу полностью понять ответы в течение довольно долгого времени. Сказав это, когда придет время, когда я смогу оценить оба ответа, я с радостью пересмотрю принятый ответ.
@Izzy Просто для ясности: когда вы говорите, что мне может быть предоставлен доступ ко всей SD-карте через режим UMS, я предполагаю, что вы имеете в виду внешнюю SD-карту, которая может присутствовать или не присутствовать, а не внутреннюю память, содержащую файловую систему. ?
Правильно - я имел в виду настоящую карту (которую можно физически удалить), а не внутреннюю. И, конечно же, это верно только в том случае, если устройство поддерживает UMS (что обычно имело место до Android 4.0, если устройство поддерживало такую ​​карту).

Как правило, вам не нужно рутировать телефон для установки пользовательского ПЗУ, вам необходимо рутировать телефон, чтобы установить механизм для установки пользовательского ПЗУ (например, пользовательский образ восстановления).

Некоторые телефоны имеют разблокируемые загрузчики — вы можете прошивать загрузочные файлы и файлы system.img через загрузчик без необходимости рутирования.

Вы также можете прошить пользовательский образ восстановления с помощью fastboot без рута .

Вам нужно будет установить кастомное рекавери, так как стоковое рекавери проверяет, что zip-файл обновления подписан, а большинство пользовательских ROM-архивов не подписаны.

Вам может понадобиться root для установки пользовательского образа восстановления, если ваше устройство не поддерживает fastboot, но обычно вам это не нужно — он просто поставляется с образом, который вы устанавливаете.

У устройств Samsung есть режим загрузки — для этого не нужно рутировать, вам просто нужен ODIN.

Если я подключу телефон к ПК, то разве это не даст мне доступ ко всей файловой системе устройства? Если да, то почему я не могу просто перезаписать соответствующие части ФС любым ПЗУ, которое захочу?

Нет, это не так. Это дает вам доступ только для чтения, поэтому вы не можете перезаписывать файлы в /systemкаталоге. Root можно использовать, чтобы сделать /systemдоступным чтение-запись.

«Обычно вам не нужно рутировать телефон для установки пользовательского ПЗУ, вам нужно рутировать телефон, чтобы установить механизм для установки пользовательского ПЗУ (например, пользовательский образ восстановления)». конечно, сводится к тому, что вам нужен root, чтобы перейти от стандартной готовой ОС к пользовательскому ПЗУ?
@GAThrawn Нет. Вы можете прошить кастомное рекавери через fastboot. Вам не нужен root для доступа к fastboot (и иногда вам нужно использовать fastboot для доступа к root)
Многие устройства, отличные от Samsung, не имеют разблокируемых загрузчиков (особенно старые), поэтому вы не можете прошить кастомное рекавери без предварительного использования загрузчика или установки восстановления каким-либо другим способом (ROM Manager/Goo Manager). Часто это связано с рутированием, хотя это может быть не всегда так. Я думаю, это то, чего пытаются добиться @GAThrawn и другие. Все больше производителей начали предлагать инструмент для разблокировки загрузчика, но многие до сих пор этого не сделали. Например, устройства Motorola, как известно, труднее установить специальные ПЗУ по сравнению с другими.