Warum ist Root-Zugriff für ein benutzerdefiniertes ROM erforderlich?

Ich möchte das klarstellen, und wie meine Frage andeutet, kenne ich mich mit Mobilgeräten im Allgemeinen nicht aus, also entschuldige ich mich, wenn dies allgemein bekannt ist.

Angenommen, ich möchte ein benutzerdefiniertes ROM auf einem Gerät installieren, dann scheint es, dass ich Root-Zugriff benötige. Ich kann auf jeder Webseite herausfinden, wie ich ein Gerät rooten kann, aber ich kann nicht herausfinden, warum ich ein Gerät rooten muss. Ich verstehe, dass das Rooten eines Geräts mir einfach Root-Zugriff auf das Gerät gibt, aber warum ist dies erforderlich? Wenn ich das Telefon an einen PC anschließe, habe ich dann nicht Zugriff auf das gesamte Dateisystem des Geräts? Wenn ja, warum kann ich dann nicht einfach die relevanten Teile des FS mit dem gewünschten ROM überschreiben?

Warum sollte das Rooten und Verwenden eines benutzerdefinierten ROMs dazu führen, dass ein Gerät gemauert wird? Könnte ich nicht einfach das ROM, das das Problem verursacht hat, mit dem Original überschreiben (das ich sichern wollte! ;)).

If I connect the phone to a PC then doesn't that give me access to the entire file system of the device?- Standardmäßig nein, tut es nicht. Es gibt Ihnen Zugriff auf einen ganz bestimmten Teil des Dateisystems (den „externen“ Speicher).
@ t0mm13b Keine dieser Fragen beantwortet den WARUM - Teil. Ich schätze, ich werde weitermachen und etwas hier reinstellen.

Antworten (2)

Kurze Antwort:

Aus Sicherheits- und Gewährleistungsgründen.

Ausführliche Antwort:

Dies ist meistens eine Vorsichtsmaßnahme, die von den meisten (nicht allen!) Geräteherstellern getroffen wird, um sie vor zu vielen Serviceanfragen von "spielenden Kiddies" (und den Leuten, die alles ausprobieren wollen, auch wenn sie nichts verstehen) zu bewahren. Daher haben diese Hersteller spezielle Maßnahmen ergriffen, um zu vermeiden, dass „benutzerdefinierte ROMs“ (oder genauer gesagt alle ROMs , die nicht von ihnen selbst bereitgestellt werden) geflasht werden.

Wie t0mm13b bereits in seinen Kommentaren oben erwähnt hat, erhalten Sie standardmäßig keinen physischen Zugriff auf das Dateisystem Ihres Geräts, indem Sie es einfach über USB anschließen. Je nach Gerät, Android-Version und einigen weiteren Kriterien sehen Sie nur Teile. Dies kann die gesamte SD-Karte sein (physisch, im UMS - Modus) oder auch nur "logischer" Zugriff auf Teile davon über MTP . Etwas privilegierterer Zugriff kann über ADB erlangt werden, wenn USB Debug aktiviert wird – aber mit einem Standard-ROM erhalten Sie in keinem dieser Fälle vollen Zugriff .

Wie werden denn nun Updates durchgeführt? Eine sehr gängige Praxis ist die Verwendung einer speziellen ZIP-Datei ( update.zip). Diese wird auf die SD-Karte gelegt, die in das Gerät eingelegt wird, und das Gerät wird in einen speziellen Modus (Recovery) gebootet, von wo update.zipaus die angewendet werden können. ABER: Das Gerät prüft die Integrität update.zip– es muss mit dem Herstellerschlüssel signiert werden. Aus offensichtlichen Gründen ist dieser Schlüssel nicht frei verfügbar – daher kann kein benutzerdefiniertes ROM auf diesem Weg auf einem solchen Bestandssystem installiert werden.

All diese Dinge können nur mit Superuser-Zugriff auf das Gerät umgangen werden – was bedeutet: Sie müssen es rooten.

Das ist also der WARUM - Teil – ohne den WIE - Teil des Rootens zu behandeln. Genau wie du gefragt hast :)


Update für noch mehr Details

Als Liam in seinem Kommentar darauf hinwies, dass die Verwendung fastbooteine Methode zum Flashen von benutzerdefinierten ROMs wäre, ohne dass das Gerät gerootet sein muss, habe ich ein wenig mehr recherchiert, um dies herauszufinden. Ich werde dem weiter nachgehen, wollte aber trotzdem schon meine ersten Ergebnisse hier eintragen.

Bis zu einem gewissen Punkt hat Liam damit Recht: Es scheint nicht nur für Samsung-Geräte gültig zu sein (wie ich zuerst annahm), sondern auch einige andere Geräte (nicht alle) unterstützen diese Methode, ohne dass Root beteiligt ist (abgesehen davon, dass Die meisten benutzerdefinierten ROMs werden natürlich gerootet ausgeliefert – so dass Sie nach der Installation Root zur Verfügung haben). Allerdings gibt es Geräte, für die anscheinend sogar Root erforderlich ist fastboot flash(siehe zB TheUnlockr bezüglich des Iconia A100 , Zitat: Sie müssen Ihr Gerät gerootet haben, bevor Sie dieses Verfahren durchführen. -- und ja, sie verwenden es fastboot flash recovery recovery.imgdanach).

Aber selbst wenn fastbootes für Ihr nicht gerootetes Gerät funktioniert, gibt es einen entscheidenden Punkt zu beachten:

Um ein ROM für Ihr Android-Gerät mit Fastboot zu flashen, müssen Sie über einen entsperrten Bootloader oder einen Engineering-Bootloader verfügen

( Flashing Guide - Android - XDA-Developers )

Das bedeutet: Wenn Ihr Bootloader gesperrt ist, müssen Sie ihn zuerst entsperren, wodurch Ihr Gerät gelöscht (auf Werkseinstellungen zurückgesetzt) ​​wird. Auf diese Weise sind also alle Daten endgültig weg - während Sie mit root vor diesem Schritt ein vollständiges Backup (Nandroid, Titanium Backup) hätten erstellen können. Ab Android 4.0 ist dies jedoch kein wirkliches Problem mehr – da Sie eine vollständige Sicherung über ADB durchführen können (siehe: Vollständige Sicherung nicht gerooteter Geräte ) .


Zusammenfassung:

Es gibt Geräte, die gerootet werden müssen, bevor Sie ein benutzerdefiniertes ROM flashen können. Wenn Ihr Gerät in diese Kategorie fällt, sind die Gründe für Warum ist Root-Zugriff erforderlich, um ein benutzerdefiniertes ROM zu flashen , die oben genannten.

Allerdings: Es gibt auch Geräte, mit denen man flashen kann, fastboot ohne vorher gerootet zu sein. Wenn Ihr Gerät in diese Kategorie fällt, wird die Frage, warum Root-Zugriff erforderlich ist, um ein Custom-ROM zu flashen, ungültig (die Antwort nicht, da ex falso quodlibet sequitur ("aus falsch kann alles folgen") können Sie jeden Schluss aus einer falschen Prämisse ziehen :)

Das heißt: WENN Rooting erforderlich ist, ist das oben genannte WARUM .

Auf den meisten Geräten brauchen Sie nicht wirklich root, um ein benutzerdefiniertes ROM zu installieren ;)
@LiamW Wie meine Frage besagt - ich bin mit mobilen Betriebssystemen sehr unwissend, und Izzy hat einen Ruf von 13,3.000, was darauf hinweist, dass er zwei Dinge mehr darüber weiß als ich. Daher gehe ich davon aus, dass seine Antwort völlig richtig ist, da ich nichts Gegenteiliges weiß. Auch seine Antwort wurde am höchsten bewertet (was wiederum darauf hinweist, dass sie technisch korrekt ist). Wenn Sie jedoch der Meinung sind, dass seine Antwort falsch ist, können Sie Ihre Antwort gerne aktualisieren, und wenn die Stimmen schwanken, werde ich die akzeptierte Antwort ändern.
@LiamW Du meinst "auf den meisten Samsung - Geräten". Ich habe noch nie ein Gerät gesehen, auf dem Sie ein benutzerdefiniertes ROM flashen konnten, ohne es zu rooten, sorry, und ich habe einige Geräte gesehen. Nun, ich habe mich von Plastikbombern ferngehalten ... XD Also technisch gesehen ist dein letzter Kommentar falsch :D
Es ist ein Huhn und ein Ei ... Sie brauchen Root, um ein benutzerdefiniertes ROM flashen zu können, und um ein benutzerdefiniertes ROM zu flashen, benötigen Sie im Allgemeinen einen entsperrten Bootloader mit einer gerooteten Wiederherstellungsumgebung ... und einer gerooteten Wiederherstellungsumgebung wie z als CWM/TWRP....catch-22!
@ t0mm13b hat gerade die "benutzerdefinierte Wiederherstellung" erwähnt. Das ist es, was das „Signatur“-Problem umgeht – man kann also eine Datei flasen update.zip, auch wenn sie nicht mit dem Herstellerschlüssel signiert ist – also ist dies ein weiteres Detail in der Warteschlange. Ich sehe das "Huhn und Ei" einfach nicht: root -> unlock -> CWM -> Custom ROM. Keine Schleife erkannt.
@LiamW Es ist kaum ein Vorurteil und Sie haben recht - hohes Ansehen bedeutet nicht immer eine gültige Antwort, aber wenn ich bedenke, dass ich eine Frage gestellt habe, deren Antwort ich nicht testen konnte, verlasse ich mich auch auf die Community und ihre Stimmen, um eine zu finden akzeptable Antwort. Wie gesagt, Sie können Ihre Antwort gerne erweitern, was die Antwort von Izzy widerlegt, und vorausgesetzt, die Community stimmt zu, ich werde Ihre Antwort gerne zur akzeptierten machen. :)
@ R4D4 Eine akzeptierte Antwort sollte diejenige sein, die Ihnen am meisten hilft. Wenn Sie nicht in der Lage sind, die Antwort vollständig zu bewerten, ist es völlig in Ordnung, eine nicht zu akzeptieren. Die höchste Antwort zu akzeptieren, nur weil es die höchste ist, oder die von jemandem mit hoher Reputation, ist definitiv verpönt. Obwohl es am Ende des Tages Ihre Entscheidung ist, sollte Ihnen niemand etwas anderes sagen.
Genau -- wieder Frieden :) Wir entschieden uns, bis zum Beweis des Gegenteils, dass wir beide Recht haben -- abhängig von den Umständen (wie der fraglichen Hardware/Hersteller). Ich werde mich noch fastbooteinmal mit dem Thema befassen und meine Frage später aktualisieren. Kann ein paar Tage dauern, da ich im Moment ziemlich beschäftigt bin (Gründe siehe Chat ;)
@MatthewRead Ich kann Ihrer Aussage nicht mehr zustimmen, aber das Messen von "Hilfe" ist schwierig, wenn ich um eine Erklärung bitte. Ich akzeptiere im Allgemeinen keine Antworten auf der Grundlage von Wiederholungen oder der Anzahl der Stimmen, aber in diesem Fall würde ich es tun. Ich habe nichts zu überprüfen, ob die Antworten richtig sind, und ich werde auch nicht in der Lage sein, die Antworten für eine lange Zeit vollständig zu verstehen. Wenn die Zeit kommt, in der ich beide Antworten schätzen kann, würde ich die akzeptierte Antwort gerne überarbeiten.
@Izzy Nur um es klar zu sagen, wenn Sie sagen, dass ich über den UMS-Modus Zugriff auf die gesamte SD-Karte erhalten kann, gehe ich davon aus, dass Sie die externe SD-Karte meinen, die möglicherweise vorhanden ist oder nicht, und nicht den internen Speicher mit dem Dateisystem ?
Richtig - ich bezog mich nur auf die echte Karte (die physisch entfernt werden kann), nicht auf die interne. Und das gilt natürlich nur, wenn das Gerät UMS unterstützt (was vor Android 4.0 meist der Fall war, wenn das Gerät eine solche Karte unterstützte).

Sie müssen das Telefon im Allgemeinen nicht rooten, um das benutzerdefinierte ROM zu installieren. Sie müssen das Telefon rooten, um einen Mechanismus zum Installieren des benutzerdefinierten ROM zu installieren (z. B. ein benutzerdefiniertes Wiederherstellungsabbild).

Einige Telefone haben entsperrbare Bootloader – Sie können Boot- und system.img-Dateien über den Bootloader flashen, ohne rooten zu müssen.

Sie können auch ein benutzerdefiniertes Wiederherstellungsabbild mit Fastboot flashen , ohne gerootet zu sein .

Sie müssten eine benutzerdefinierte Wiederherstellung installieren, da die Bestandswiederherstellung überprüft, ob die Update-Zip-Datei signiert ist – und die meisten benutzerdefinierten ROM-Zips sind nicht signiert.

Möglicherweise müssen Sie rooten, um ein benutzerdefiniertes Wiederherstellungs-Image zu installieren, wenn Ihr Gerät Fastboot nicht unterstützt, aber im Allgemeinen müssen Sie dies nicht tun - es wird nur mit dem von Ihnen installierten Image geliefert.

Samsung-Geräte haben einen Download-Modus - Sie müssen nicht gerootet sein, um diesen zu verwenden, Sie brauchen nur ODIN.

Wenn ich das Telefon an einen PC anschließe, habe ich dann nicht Zugriff auf das gesamte Dateisystem des Geräts? Wenn ja, warum kann ich dann nicht einfach die relevanten Teile des FS mit dem gewünschten ROM überschreiben?

Nein, tut es nicht. Es gibt Ihnen nur Lesezugriff, sodass Sie keine Dateien im /systemVerzeichnis überschreiben können. Root kann verwendet werden, um /systemlesbar zu machen.

"Sie müssen das Telefon im Allgemeinen nicht rooten, um das benutzerdefinierte ROM zu installieren. Sie müssen das Telefon rooten, um einen Mechanismus zum Installieren des benutzerdefinierten ROM zu installieren (z. B. ein benutzerdefiniertes Wiederherstellungsabbild)." Läuft sicher darauf hinaus, dass Sie Root benötigen, um von einem Standard-Betriebssystem zu einem benutzerdefinierten ROM zu wechseln?
@GAThrawn Nein. Sie können eine benutzerdefinierte Wiederherstellung mit Fastboot flashen. Sie müssen nicht rooten, um auf Fastboot zuzugreifen (und manchmal müssen Sie Fastboot verwenden, um auf Root zuzugreifen).
Viele Nicht-Samsung-Geräte haben jedoch keine entsperrbaren Bootloader (insbesondere ältere), sodass Sie keine benutzerdefinierte Wiederherstellung flashen können, ohne zuerst den Bootloader irgendwie auszunutzen oder die Wiederherstellung auf andere Weise zu installieren (ROM Manager/Goo Manager). Oft beinhaltet dies das Rooten, obwohl dies möglicherweise nicht immer der Fall ist. Ich denke, darauf wollen @GAThrawn und andere hinaus. Immer mehr Hersteller haben damit begonnen, ein Tool zum Entsperren des Bootloaders anzubieten, aber viele haben dies noch nicht getan. Motorola-Geräte zum Beispiel sind im Vergleich zu anderen notorisch schwer an benutzerdefinierte ROMs zu bekommen.