Was ist Booten in Android? Android-Firmware mit dem FastBoot-Dienstprogramm. Was ist der Fastboot-Modus?

Haben Sie sich jemals gefragt, wie Fastboot oder ADB funktionieren? Oder warum ist es fast unmöglich, ein Smartphone mit Android in einen Ziegelstein zu verwandeln? Oder vielleicht wollten Sie schon lange wissen, wo die Magie des Xposed-Frameworks liegt und warum die Boot-Skripte /system/etc/init.d benötigt werden? Was ist mit der Wiederherstellungskonsole? Ist das Teil von Android oder eine Sache für sich und warum eignet sich die regelmäßige Wiederherstellung nicht für die Installation von Firmware von Drittanbietern? Antworten auf all diese und viele weitere Fragen finden Sie in diesem Artikel.

So funktioniert Android

Sie können die verborgenen Fähigkeiten von Softwaresystemen kennenlernen, indem Sie das Funktionsprinzip verstehen. In einigen Fällen ist dies schwierig, da der Systemcode möglicherweise geschlossen ist. Im Fall von Android können wir jedoch das gesamte System in- und auswendig untersuchen. In diesem Artikel werde ich nicht auf alle Nuancen von Android eingehen und mich nur darauf konzentrieren, wie das Betriebssystem startet und welche Ereignisse in der Zeit zwischen dem Drücken des Netzschalters und dem Erscheinen des Desktops stattfinden.

Unterwegs erkläre ich, was wir in dieser Ereigniskette ändern können und wie Entwickler benutzerdefinierter Firmware diese Funktionen nutzen, um Dinge wie die Optimierung von Betriebssystemparametern, die Erweiterung des Anwendungsspeicherplatzes, die Verbindung von Swap, verschiedene Anpassungen und vieles mehr zu implementieren. Mit all diesen Informationen können Sie Ihre eigene Firmware erstellen und verschiedene Hacks und Modifikationen implementieren.

Schritt eins. ABOOT und Partitionstabelle

Alles beginnt mit dem primären Bootloader. Nach dem Einschalten führt das System den im permanenten Speicher des Geräts gespeicherten Bootloader-Code aus. Dann übergibt es die Kontrolle an den aboot-Bootloader mit integrierter Unterstützung für das Fastboot-Protokoll, aber der Hersteller des mobilen Chips oder Smartphones/Tablets hat das Recht, einen anderen Bootloader seiner Wahl zu wählen. Rockchip verwendet beispielsweise einen eigenen Bootloader, der nicht Fastboot-kompatibel ist und zum Flashen und Verwalten proprietäre Tools benötigt.

Das Fastboot-Protokoll wiederum ist ein System zur Verwaltung des Bootloaders von einem PC aus, mit dem Sie Aktionen wie das Entsperren des Bootloaders, das Flashen eines neuen Kernels und die Wiederherstellung, die Installation von Firmware und viele andere ausführen können. Die Daseinsberechtigung von Fastboot besteht darin, ein Smartphone in einer Situation in seinen ursprünglichen Zustand zurückversetzen zu können, in der alle anderen Mittel versagen. Fastboot bleibt bestehen, auch wenn Sie aufgrund von Experimenten alle NAND-Speicherpartitionen mit Android und der Wiederherstellung von Ihrem Smartphone löschen.

Nachdem aboot die Kontrolle erhalten hat, überprüft es die Partitionstabelle und überträgt die Kontrolle an den Kernel, der in die Partition mit dem Namen boot geflasht wurde. Anschließend extrahiert der Kernel das RAM-Image aus derselben Partition in den Speicher und beginnt mit dem Laden von entweder Android oder der Wiederherstellungskonsole. Der NAND-Speicher in Android-Geräten ist in sechs bedingt erforderliche Abschnitte unterteilt:

  • boot – enthält den Kernel und die RAM-Disk, normalerweise etwa 16 MB groß;
  • Wiederherstellung – Wiederherstellungskonsole, besteht aus einem Kernel, einer Reihe von Konsolenanwendungen und einer Einstellungsdatei, Größe 16 MB;
  • System - enthält Android, bei modernen Geräten beträgt die Größe mindestens 1 GB;
  • Cache – dient zum Speichern zwischengespeicherter Daten, wird auch zum Speichern der Firmware während eines OTA-Updates verwendet und hat daher eine Größe, die der Größe der Systempartition ähnelt;
  • Benutzerdaten – enthält Einstellungen, Anwendungen und Benutzerdaten, der gesamte verbleibende NAND-Speicherplatz ist ihm zugewiesen;
  • misc – enthält ein Flag, das bestimmt, in welchem ​​Modus das System booten soll: Android oder Wiederherstellung.

Darüber hinaus kann es noch weitere Abschnitte geben, das allgemeine Markup wird jedoch in der Designphase des Smartphones festgelegt und im Fall von aboot in den Bootloader-Code eingenäht. Dies bedeutet, dass: 1) die Partitionstabelle nicht gelöscht werden kann, da sie jederzeit mit dem Befehl fastboot oem format wiederhergestellt werden kann; 2) Um die Partitionstabelle zu ändern, müssen Sie den Bootloader entsperren und mit neuen Parametern neu flashen. Es gibt jedoch Ausnahmen von dieser Regel. Beispielsweise speichert der Bootloader desselben Rockchip Informationen über Partitionen im ersten Block des NAND-Speichers, sodass ein Flashen des Bootloaders nicht erforderlich ist, um diese zu ändern.

Besonders interessant ist der Abschnitt „Verschiedenes“. Es besteht die Vermutung, dass es ursprünglich zum Speichern verschiedener Einstellungen unabhängig vom Hauptsystem erstellt wurde, derzeit jedoch nur für einen Zweck verwendet wird: dem Bootloader anzuzeigen, von welcher Partition das System geladen werden soll – Booten oder Wiederherstellen. Diese Funktion wird insbesondere von der ROM Manager-Anwendung verwendet, um das System automatisch in die Wiederherstellung mit automatischer Installation der Firmware neu zu starten. Auf dieser Basis ist der Ubuntu Touch Dual-Boot-Mechanismus aufgebaut, der den Ubuntu-Bootloader in die Wiederherstellung flasht und es Ihnen ermöglicht, zu steuern, welches System beim nächsten Mal gestartet werden soll. Die sonstige Partition gelöscht – Android lädt, mit Daten gefüllt – Wiederherstellung lädt … also Ubuntu Touch.

Schritt zwei. Boot-Bereich

Wenn der Abschnitt „Misc“ kein Recovery-Boot-Flag hat, überträgt aboot die Kontrolle an den Code im Boot-Abschnitt. Dies ist nichts anderes als der Linux-Kernel; Es befindet sich am Anfang des Abschnitts und unmittelbar darauf folgt ein mit cpio- und gzip-Archivern gepacktes RAM-Disk-Image, das die für den Betrieb von Android erforderlichen Verzeichnisse, das Init-Initialisierungssystem und andere Tools enthält. Auf der Boot-Partition gibt es kein Dateisystem, Kernel und RAM-Disk folgen einfach aufeinander. Der Inhalt der RAM-Disk ist:

  • data - Verzeichnis zum Mounten der gleichnamigen Partition;
  • dev – Gerätedateien;
  • proc – procfs wird hier gemountet;
  • res – eine Reihe von Bildern für das Ladegerät (siehe unten);
  • sbin – eine Reihe von Dienstprogrammen und Daemons (z. B. adbd);
  • sys – sysfs wird hier gemountet;
  • system – Verzeichnis zum Mounten der Systempartition;
  • Ladegerät – Anwendung zur Anzeige des Ladevorgangs;
  • build.prop – Systemeinstellungen;
  • init – Initialisierungssystem;
  • init.rc – Initialisierungssystemeinstellungen;
  • ueventd.rc – Einstellungen des in init enthaltenen uventd-Daemons.

Dies ist sozusagen das Grundgerüst des Systems: eine Reihe von Verzeichnissen zum Verbinden von Dateisystemen aus NAND-Speicherpartitionen und ein Initialisierungssystem, das den Rest der Arbeit beim Booten des Systems übernimmt. Das zentrale Element hierbei ist die Init-Anwendung und ihre init.rc-Konfiguration, auf die ich später noch ausführlicher eingehen werde. In der Zwischenzeit möchte ich Sie auf die Dateien „charger“ und „ueventd.rc“ sowie auf die Verzeichnisse „sbin“, „proc“ und „sys“ aufmerksam machen.

Die Ladedatei ist eine kleine Anwendung, deren einzige Aufgabe darin besteht, das Batteriesymbol anzuzeigen. Es hat nichts mit Android zu tun und wird verwendet, wenn das Gerät im ausgeschalteten Zustand an das Ladegerät angeschlossen ist. In diesem Fall lädt Android nicht und das System lädt einfach den Kernel, verbindet die RAM-Disk und startet das Ladegerät. Letzterer zeigt ein Batteriesymbol an, dessen Bild in allen möglichen Zuständen in gewöhnlichen PNG-Dateien im res-Verzeichnis gespeichert wird.

Die Datei ueventd.rc ist eine Konfiguration, die bestimmt, welche Gerätedateien im sys-Verzeichnis während des Systemstarts erstellt werden sollen. In Systemen, die auf dem Linux-Kernel basieren, erfolgt der Zugriff auf die Hardware über spezielle Dateien im Dev-Verzeichnis, und der ueventd-Daemon, der Teil von init ist, ist für deren Erstellung in Android verantwortlich. Im Normalfall arbeitet es im automatischen Modus und akzeptiert Befehle zum Erstellen von Dateien vom Kernel, einige Dateien müssen jedoch unabhängig erstellt werden. Sie sind in ueventd.rc aufgeführt.

Das Sbin-Verzeichnis im Standard-Android enthält normalerweise nichts außer adbd, also dem ADB-Daemon, der für das Debuggen des Systems vom PC aus zuständig ist. Es wird in einem frühen Stadium des Betriebssystemstarts ausgeführt und ermöglicht es Ihnen, mögliche Probleme während der Betzu erkennen. In benutzerdefinierten Firmwares finden Sie in diesem Verzeichnis eine Reihe anderer Dateien, beispielsweise mke2fs, die möglicherweise erforderlich sind, wenn Partitionen auf ext3/4 neu formatiert werden müssen. Außerdem platzieren Modder dort oft eine BusyBox, mit der man Hunderte von Linux-Befehlen aufrufen kann.

Das proc-Verzeichnis ist Standard für Linux; in den nächsten Phasen des Bootens stellt init eine Verbindung zu procfs her, einem virtuellen Dateisystem, das Zugriff auf Informationen über alle Prozesse auf dem System bietet. Das System verbindet sysfs mit dem sys-Verzeichnis, wodurch der Zugriff auf Informationen über die Hardware und ihre Einstellungen geöffnet wird. Mit sysfs können Sie beispielsweise das Gerät in den Ruhezustand versetzen oder den verwendeten Energiesparalgorithmus ändern.

Die Datei build.prop dient zum Speichern von Android-Einstellungen auf niedriger Ebene. Später wird das System diese Einstellungen zurücksetzen und sie mit Werten aus der derzeit nicht zugänglichen Datei system/build.prop überschreiben.


Erkenntnisse aus dem Text

  • Fastboot bleibt bestehen, auch wenn Sie aufgrund von Experimenten den Inhalt aller NAND-Speicherbereiche von Ihrem Smartphone löschen
  • Der Wiederherstellungsbereich ist völlig autark und enthält ein Miniaturbetriebssystem, das in keiner Weise mit Android verwandt ist
  • Durch eine leichte Änderung der fstab-Datei können wir init zwingen, das System von der Speicherkarte zu starten

Schritt zwei, Alternative. Wiederherstellungsabschnitt

Wenn das Recovery-Boot-Flag im Abschnitt „Misc“ gesetzt ist oder der Benutzer das Smartphone einschaltet, während die Leiser-Taste gedrückt gehalten wird, übergibt aboot die Steuerung an den Code, der sich am Anfang des Wiederherstellungsabschnitts befindet. Sie enthält wie die Boot-Partition den Kernel und eine RAM-Disk, die in den Speicher entpackt wird und zum Stammverzeichnis des Dateisystems wird. Allerdings ist der Inhalt der RAM-Disk hier etwas anders.

Im Gegensatz zur Boot-Partition, die als Übergangsverbindung zwischen verschiedenen Ladephasen des Betriebssystems fungiert, ist die Wiederherstellungspartition völlig autark und enthält ein Miniaturbetriebssystem, das in keiner Weise mit Android verbunden ist. Recovery verfügt über einen eigenen Kern, einen eigenen Anwendungssatz (Befehle) und eine eigene Schnittstelle, die es dem Benutzer ermöglicht, Servicefunktionen zu aktivieren.

Bei einer standardmäßigen (Standard-)Wiederherstellung gibt es normalerweise nur drei solcher Funktionen: Installation der mit dem Schlüssel des Smartphone-Herstellers signierten Firmware, Löschen und Neustarten. Modifizierte Wiederherstellungen von Drittanbietern wie ClockworkMod und TWRP bieten viel mehr Funktionen. Sie können Dateisysteme formatieren, mit beliebigen Schlüsseln signierte Firmware installieren (sprich: benutzerdefiniert), Dateisysteme auf anderen Partitionen mounten (für Betriebssystem-Debugging-Zwecke) und Skriptunterstützung einschließen, mit der Sie den Firmware-Prozess und viele andere Funktionen automatisieren können.

Mithilfe von Skripten können Sie beispielsweise dafür sorgen, dass Recovery nach dem Booten automatisch die benötigte Firmware auf der Speicherkarte findet, diese installiert und einen Neustart in Android durchführt. Diese Funktion wird vom ROM-Manager, den Auto-Flasher-Tools sowie dem automatischen Update-Mechanismus für CyanogenMod und andere Firmware verwendet.

Die benutzerdefinierte Wiederherstellung unterstützt auch Sicherungsskripte, die sich im Verzeichnis /system/addon.d/ befinden. Vor dem Flashen sucht die Wiederherstellung nach Skripten und führt diese aus, bevor die Firmware geflasht wird. Dank solcher Skripte verschwinden Gapps nach der Installation einer neuen Firmware-Version nicht.

Fastboot-Befehle

Um auf Fastboot zuzugreifen, müssen Sie das Android SDK installieren, Ihr Smartphone per Kabel mit Ihrem PC verbinden und es einschalten, indem Sie beide Lautstärketasten gedrückt halten. Danach sollten Sie in das Unterverzeichnis „platform-tools“ im SDK gehen und den Befehl ausführen

Fastboot-Geräte

Der Gerätename wird auf dem Bildschirm angezeigt. Weitere verfügbare Befehle:

  • Fatsboot OEM entsperren- Entsperren des Bootloaders auf Nexus;
  • Datei.zip aktualisieren- Installation der Firmware;
  • Flash-Boot boot.img- Flashen des Boot-Partitions-Images;
  • Flash-Wiederherstellung Recovery.img- Flashen des Wiederherstellungspartitionsimages;
  • Flash-System system.img- Flashen des Systemabbilds;
  • OEM-Format- Wiederherstellung einer zerstörten Partitionstabelle;

Schritt drei. Initialisierung

Nachdem der Kernel die Kontrolle erhalten hat, verbindet er die RAM-Disk und startet nach der Initialisierung aller seiner Subsysteme und Treiber den Init-Prozess, der mit der Initialisierung von Android beginnt. Wie ich bereits sagte, verfügt init über eine Konfigurationsdatei init.rc, aus der der Prozess erfährt, was genau er tun muss, um das System hochzufahren. In modernen Smartphones hat diese Konfiguration eine beeindruckende Länge von mehreren hundert Zeilen und ist außerdem mit einem Trailer mehrerer untergeordneter Konfigurationen ausgestattet, die über die Importdirektive mit der Hauptkonfiguration verbunden sind. Das Format ist jedoch recht einfach und besteht im Wesentlichen aus einer Reihe von Befehlen, die in Blöcke unterteilt sind.

Jeder Block definiert eine Ladephase oder, im Android-Entwicklerjargon, eine Aktion. Blöcke werden durch eine On-Direktive, gefolgt vom Namen der Aktion, voneinander getrennt, z. B. on Early-Init oder On Post-Fs. Der Befehlsblock wird nur ausgeführt, wenn der gleichnamige Trigger ausgelöst wird. Beim Booten aktiviert init nacheinander die Early-Init-, Init-, Early-Fs-, Fs-, Post-Fs-, Early-Boot- und Boot-Trigger und startet so die entsprechenden Befehlsblöcke.


Wenn die Konfigurationsdatei mehrere weitere Konfigurationen enthält, die am Anfang aufgeführt sind (was fast immer der Fall ist), werden die darin enthaltenen Befehlsblöcke mit demselben Namen mit der Hauptkonfiguration kombiniert, sodass init dies tut, wenn der Trigger ausgelöst wird Befehle aus den entsprechenden Blöcken aller Dateien ausführen. Dies geschieht zur Vereinfachung der Erstellung von Konfigurationsdateien für mehrere Geräte, wenn die Hauptkonfiguration Befehle enthält, die allen Geräten gemeinsam sind, und die für jedes Gerät spezifischen Befehle in separate Dateien geschrieben werden.

Die bemerkenswerteste der zusätzlichen Konfigurationen heißt initrc.device_name.rc, wobei der Gerätename automatisch basierend auf dem Inhalt der Systemvariablen ro.hardware ermittelt wird. Dabei handelt es sich um eine plattformspezifische Konfigurationsdatei, die gerätespezifische Befehlsblöcke enthält. Zusätzlich zu den Befehlen, die für die Optimierung des Kernels zuständig sind, enthält es auch etwa Folgendes:

Mount_all ./fstab.Gerätename

Das bedeutet, dass init nun alle Dateisysteme mounten sollte, die in der Datei ./fstab.device_name aufgeführt sind, die die folgende Struktur hat:

Gerätename (Partition) Mountpunkt Dateisystem fs_options andere Optionen

Es enthält normalerweise Anweisungen zum Mounten von Dateisystemen von internen NAND-Partitionen in die Verzeichnisse /system (Betriebssystem), /data (Anwendungseinstellungen) und /cache (zwischengespeicherte Daten). Durch eine leichte Änderung dieser Datei können wir jedoch init zwingen, das System von der Speicherkarte zu starten. Teilen Sie dazu einfach die Speicherkarte in drei 4 Abschnitte auf: 1 GB/ext4, 2 GB/ext4, 1 GB/ext4 und den restlichen Fat32-Speicherplatz. Als Nächstes müssen Sie die Namen der Speicherkartenpartitionen im Verzeichnis /dev ermitteln (sie unterscheiden sich je nach Gerät) und sie durch die ursprünglichen Gerätenamen in der fstab-Datei ersetzen.


Am Ende des Boot-Init-Blocks wird er höchstwahrscheinlich auf den Standardbefehl class_start stoßen, der Sie darüber informiert, dass Sie dann alle in der Konfiguration aufgeführten Dienste starten sollten, die sich auf die Standardklasse beziehen. Die Beschreibung von Diensten beginnt mit der Dienstanweisung, gefolgt vom Namen des Dienstes und dem Befehl, der ausgeführt werden muss, um ihn zu starten. Im Gegensatz zu den in den Blöcken aufgeführten Befehlen müssen Dienste ständig ausgeführt werden, sodass init während der gesamten Lebensdauer des Smartphones im Hintergrund bleibt und dies überwacht.

Modernes Android umfasst Dutzende Dienste, zwei davon haben jedoch einen Sonderstatus und bestimmen den gesamten Lebenszyklus des Systems.

init.rc-Befehle

Der Init-Prozess verfügt über einen integrierten Befehlssatz, von dem viele dem Standard-Linux-Befehlssatz folgen. Die bemerkenswertesten davon:

  • exec /Pfad/zu/Befehl- einen externen Befehl ausführen;
  • ifup-Schnittstelle- Erhöhen Sie die Netzwerkschnittstelle.
  • class_start klassenname- Dienste starten, die zur angegebenen Klasse gehören;
  • class_stop klassenname- Dienste einstellen;
  • insmod /path/to/module- Laden Sie das Kernelmodul;
  • Mounten Sie das FS-Geräteverzeichnis- Verbinden Sie das Dateisystem;
  • setprop-Namenswert- eine Systemvariable festlegen;
  • Starten Sie Dienstname- den angegebenen Dienst starten;
  • Triggername- den Trigger aktivieren (den angegebenen Befehlsblock ausführen);
  • Schreiben Sie die Zeile /path/to/file- Eine Zeile in eine Datei schreiben.

Schritt vier. Zygote und app_process

In einer bestimmten Ladephase wird init am Ende der Konfiguration auf so etwas wie diesen Block stoßen:

Service Zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server class default socket zygote stream 660 root system onrestart write /sys/android_power/request_state wake onrestart write /sys/power/state on onrestart restart media onrestart restart netd

Dies ist eine Beschreibung des Zygote-Dienstes, einer Schlüsselkomponente jedes Android-Systems, die für die Initialisierung, das Starten von Systemdiensten, das Starten und Stoppen von Benutzeranwendungen und viele andere Aufgaben verantwortlich ist. Zygote wird mit einer kleinen Anwendung /system/bin/app_process gestartet, die im obigen Teil der Konfiguration sehr deutlich sichtbar ist. Die app_proccess-Aufgabe besteht darin, die virtuelle Dalvik-Maschine zu starten, deren Code sich in der gemeinsam genutzten Bibliothek /system/lib/libandroid_runtime.so befindet, und dann Zygote darauf auszuführen.

Sobald dies alles erledigt ist und Zygote die Kontrolle hat, beginnt es mit dem Aufbau der Java-Anwendungslaufzeit, indem es alle Java-Klassen des Frameworks lädt (derzeit über 2000 davon). Anschließend wird system_server gestartet, der die meisten übergeordneten (in Java geschriebenen) Systemdienste enthält, darunter Window Manager, Status Bar, Package Manager und vor allem Activity Manager, der in Zukunft für den Empfang von Start und Ende verantwortlich sein wird Signalanwendungen.

Danach öffnet Zygote den Socket /dev/socket/zygote, geht in den Ruhezustand und wartet auf Daten. Zu diesem Zeitpunkt sendet der zuvor gestartete Activity Manager einen Broadcast Intent Intent.CATEGORY_HOME, um die Anwendung zu finden, die für die Erstellung des Desktops verantwortlich ist, und gibt ihren Namen über den Socket an Zygote weiter. Letzterer wiederum verzweigt die Anwendung und führt sie auf der virtuellen Maschine aus. Voila, wir haben einen Desktop auf unserem Bildschirm, der vom Activity Manager gefunden und von Zygote gestartet wird, und eine Statusleiste, die von system_server als Teil des Status Bar-Dienstes gestartet wird. Nachdem Sie auf das Symbol getippt haben, sendet der Desktop eine Absicht mit dem Namen dieser Anwendung, der Aktivitätsmanager empfängt diese und sendet einen Befehl zum Starten der Anwendung an den Zygote-Daemon

DIE INFO

In der Linux-Terminologie ist eine RAM-Disk eine Art virtuelle Festplatte, die nur im RAM existiert. Zu Beginn des Startvorgangs extrahiert der Kernel den Festplatteninhalt aus dem Image und mountet ihn als Root-Dateisystem (rootfs).

Während des Startvorgangs zeigt Android drei verschiedene Startbildschirme an: Der erste erscheint unmittelbar nach dem Drücken des Netzschalters und wird in den Linux-Kernel geflasht, der zweite wird während der frühen Phasen der Initialisierung angezeigt und in der Datei /initlogo.rle aufgezeichnet (kaum). wird heute verwendet), letzteres wird mit der Bootanimation-Anwendung gestartet und ist in der Datei /system/media/bootanimation.zip enthalten.

Zusätzlich zu den Standard-Triggern können Sie mit init eigene Trigger definieren, die durch eine Vielzahl von Ereignissen ausgelöst werden können: Anschließen eines Geräts an USB, Ändern des Status eines Smartphones oder Ändern des Status von Systemvariablen.

Unter anderem beendet der Activity Manager auch Hintergrundanwendungen, wenn nicht genügend Speicher vorhanden ist. Schwellenwerte für den freien Speicher sind in der Datei /sys/module/lowmemorykiller/parameters/minfree enthalten.

Das alles sieht vielleicht etwas verwirrend aus, aber das Wichtigste ist, sich drei einfache Dinge zu merken:

In vielerlei Hinsicht unterscheidet sich Android stark von anderen Betriebssystemen und es ist schwer, es auf den ersten Blick zu erkennen. Wenn Sie jedoch verstehen, wie alles funktioniert, sind die Möglichkeiten einfach endlos. Im Gegensatz zu iOS und Windows Phone verfügt das Betriebssystem von Google über eine sehr flexible Architektur, die es Ihnen ermöglicht, sein Verhalten erheblich zu ändern, ohne Code schreiben zu müssen. In den meisten Fällen reicht es aus, die notwendigen Konfigurationen und Skripte zu korrigieren.

Freitag, 7. Juli 2017

Manchmal müssen wir unser Android-Gerät für einige Aufgaben in den Wiederherstellungsmodus versetzen. So können Sie beispielsweise Ihr Smartphone umfassend anpassen, z. B. neue benutzerdefinierte ROMs installieren, das Android-System aktualisieren, Ihr Telefon zurücksetzen usw.

Die Leute lesen auch:
Wie gelangt man also in den Android-Wiederherstellungsmodus? Für neue Android-Benutzer kann dies ein problematisches Problem sein. Keine Panik, hier finden Sie eine einfache Anleitung, die Ihnen zeigt, wie Sie es problemlos zubereiten können.

Teil 1. Starten Sie Ihr Android-Gerät im Wiederherstellungsmodus

Der Wechsel in den Wiederherstellungsmodus auf Android-Smartphones verschiedener Marken kann etwas unterschiedlich sein. Im folgenden Artikel zeigen wir Ihnen anhand mehrerer beliebter Marken von Android-Geräten im Detail, wie Sie in den Wiederherstellungsmodus gelangen.

Abschnitt 1 Starten Sie das Samsung Galaxy im Wiederherstellungsmodus

A Bei Galaxy S8/S7/S6/S5 oder anderen Samsung-Geräten sollten Sie zunächst das Telefon ausschalten, indem Sie die Ein-/Aus-Taste gedrückt halten und „ Ausschalten" Möglichkeit.

Drücken und halten Sie dann weiter Kraftschlüssel, Lautstärke+ Und Heim gleichzeitig gedrückt, bis das Samsung-Logo angezeigt wird. Jetzt können Sie die Option „Wiederherstellungsmodus“ auswählen, indem Sie sie mit den Lautstärketasten markieren und mit der Ein-/Aus-Taste bestätigen.

Sektion 2 Wechseln Sie bei LG in den Wiederherstellungsmodus

Für das LG G6, G5, G4, V10, V20 und andere LG-Telefone können Sie es in den Wiederherstellungsmodus versetzen, indem Sie der folgenden Anleitung folgen:

1. Schalten Sie zunächst Ihr LG aus.
2. Halten Sie gleichzeitig die Ein-/Aus-Taste und die Lautstärketaste gedrückt.
3. Wenn das LG-Logo erscheint, lassen Sie die Tasten los. Drücken Sie dann sofort erneut die Ein-/Aus-Taste und die Lautstärketaste, bis das Menü „Hard Reset“ angezeigt wird.
4. Sobald das Menü angezeigt wird, markieren Sie mit den Lautstärketasten eine Option und drücken Sie die Ein-/Aus-Taste, um den Hard-Reset zu bestätigen. Jetzt befindet sich Ihr LG im Wiederherstellungsmodus.

Sektion 3 Wechseln Sie auf dem HTC in den Wiederherstellungsmodus

1. Gehen Sie auf Ihrem HTC zu „Einstellungen > Akku“ und deaktivieren Sie die Option „FASTBOOT“.
2. Schalten Sie das Smartphone aus und warten Sie etwa 5 Sekunden, bis es sich vollständig ausschaltet.
3. Halten Sie dann die Lautstärketaste gedrückt und drücken Sie die Ein-/Aus-Taste.
4. Wenn Sie sehen, dass das neue Menü auf dem Bildschirm erscheint, lassen Sie die Tasten los. Navigieren Sie mit der Leiser-Taste zu den Optionen im Bootloader-Modus und bestätigen Sie die Option „Wiederherstellung“ mit der Ein-/Aus-Taste. Auf diese Weise gelangen Sie in den Wiederherstellungsmodus.

Sektion 4 Wechseln Sie in den Wiederherstellungsmodus von Google Nexus

1. Wenn Ihr Smartphone eingeschaltet ist, schalten Sie es aus.
2. Halten Sie die Lautstärke- und Ein-/Aus-Taste gedrückt. Oben auf dem Bildschirm wird das Wort „Start“ angezeigt.
3. Drücken Sie zweimal die Lautstärketaste, um „Wiederherstellung“ hervorzuheben. Drücken Sie die Ein-/Aus-Taste, um den Wiederherstellungsmodus zu starten.
4. Das weiße Google-Logo wird angezeigt. Bitte halten Sie weiterhin die Ein-/Aus-Taste und die Lauter-Taste etwa drei Sekunden lang gedrückt und lassen Sie dann die Lauter-Taste los, drücken Sie aber weiterhin die Ein-/Aus-Taste.
5. Markieren Sie mit den Lautstärketasten die Optionen und wählen Sie mit der Ein-/Aus-Taste die gewünschte Option aus.

Notiz: Verschiedene Android-Geräte verfügen über unterschiedliche Tastenkombinationen zum Aufrufen des Bootloader- oder Fastboot-Modus. Im Allgemeinen funktioniert das gleichzeitige Halten der Tasten „Leiser“/„Lautstärke“ und „Ein/Aus“ bei den meisten Android-Telefonen. Wenn es nicht hilft, müssen Sie möglicherweise in Google nach anderen Methoden suchen.

Schritt 1: Starten Sie dieses Programm auf dem Computer und führen Sie es aus. Wählen Sie in der linken Spalte die Option „Defekte Android-Datenextraktion“. Schließen Sie dann Ihr Telefon über das USB-Kabel an den Computer an, um fortzufahren.

Schritt 2 Bestätigen Sie die Situation und klicken Sie bitte auf der Benutzeroberfläche auf die Schaltfläche „Start“. Jetzt müssen Sie den Gerätenamen und das Modell Ihres Telefons auswählen.

Hinweis: Wenn Sie nicht wissen, wo Sie den Gerätenamen und das Modell finden, und Sie nicht auf Ihr Telefon zugreifen dürfen, um die Informationen anzuzeigen, können Sie den Akku öffnen, um das Modell anzuzeigen.

Schritt 3 Da der Computer das Gerät erfolgreich erkennen kann, hilft Ihnen das Programm dabei, Ihr Mobiltelefon zu analysieren und das Gerät mit dem Wiederherstellungspaket wiederherzustellen, bis es vollständig ist.

Schritt 4 Sie können die gescannten Ergebnisse einzeln überprüfen und einige Dateien zur Wiederherstellung auswählen, indem Sie auf die Schaltfläche „Wiederherstellen“ klicken und sie in einem bestimmten Ordner speichern. Danach würde dieses Programm Hände anbieten, um diesen Modus praktisch zu verlassen.

Ich hoffe, das hilft Ihnen weiter Starten Sie Ihr Android-Gerät im Wiederherstellungsmodus. Sie werden feststellen, dass es sehr praktisch ist, Ihr System auf diese Weise zu sichern oder zurückzusetzen. Wenn Sie dabei immer noch Probleme haben, senden Sie uns bitte eine E-Mail oder kommentieren Sie das Feld unten. Wir freuen uns auch über Ihre Vorschläge.

Bei der Verwendung eines mobilen Geräts mit Android-Betriebssystem (und insbesondere nach einem erfolglosen Flashen des Geräts) kann es beim Benutzer zu einem plötzlichen Neustart seines Gadgets kommen. Nach einem Neustart wird möglicherweise ein Menü auf dem Smartphone-Bildschirm angezeigt, in dem Sie aufgefordert werden, den Startmodus des Geräts auszuwählen („Startmodus auswählen“). Einer dieser Modi ist neben „Wiederherstellungsmodus“ und „Fastboot-Modus“ der „Normal“. Boot modus. In diesem Material erkläre ich Ihnen, was Normal Boot auf Android ist, welche Funktionen es bietet und erkläre auch den Unterschied zwischen Normal Boot und anderen Boot-Modi für Ihr Gadget.

„Normaler Start“– Dies ist der Standard-Startmodus für Ihr Mobilgerät. Typischerweise wird dieser Startmodus automatisch vom Gerät ausgewählt, sofern im System keine Fehler (vorzeitig oder vorhanden) vorliegen. Die Bootloader-Daten werden gelesen, dann wird der Betriebssystemkernel geladen, der einen vollständigen Satz an Treibern sowie Speicher-, Sicherheits- und Netzwerkverwaltungssubsystemen umfasst. Zu den Kernel-Tools gehört auch Ramdisk, ein Softwaretool zur Initialisierung von Dateisystempartitionen. Das Dateisystem wird gemountet, die notwendigen Systemdienste werden gestartet und schließlich sieht der Benutzer das Desktop-Fenster seines Gadgets.


Wenn Ihr Gerät plötzlich neu gestartet wurde und Sie dann aufgefordert wurden, die Startoptionen „Normaler Start“ – „Schnellstart“ – „Wiederherstellungsmodus“ auszuwählen, kann dies darauf hinweisen, dass Software- oder Hardwareprobleme mit dem Gerät vorliegen. Wählen Sie durch Drücken der Taste „Lautstärke erhöhen“ den Modus „Normaler Start“ aus und drücken Sie dann die Taste „Lautstärke verringern“, um Ihr Gadget im normalen Modus zu starten.


Wählen Sie den Modus „Normaler Start“.

Schnellstart, normaler Start und Wiederherstellungsmodus

Neben „Normal Boot“ (wir haben bereits herausgefunden, was Normal Boot ist) kann das System einen Boot-Modus namens „Fast Boot“ anbieten. Der Fastboot-Modus ist nicht Teil des Android-Betriebssystems, sondern ein wichtiges Element des Bootloaders eines bestimmten Mobilgeräts (einige Geräte unterstützen Fastboot überhaupt nicht). Dieser Modus dient zum Flashen des Geräts, sodass Sie sowohl den gesamten Speicher des Geräts als auch seine einzelnen Abschnitte flashen können.

Außerdem steht auf vielen Geräten neben „Normaler Start“ und „Schneller Start“ auch eine Auswahl an Wiederherstellungsmodi („Recovery Mode“) zur Verfügung. Dieser Modus dient dazu, den normalen Betrieb des Geräts zu stabilisieren, sodass Sie es auf die Werkseinstellungen zurücksetzen und wichtige Systemupdates installieren können.


Abschluss

Der „Normal Boot“-Modus wird von Ihrem Gerät verwendet, um die Strukturkomponenten des Betriebssystems standardmäßig zu starten. Typischerweise wird ein solcher Modus automatisch vom System ausgewählt, wenn das System zuvor nicht auf verschiedene Fehler bei seinem Betrieb gestoßen ist. Wenn Ihr Gadget plötzlich neu gestartet wurde und dann der Auswahlmodus „Normaler Start“ oder „Schnellstart“ auf dem Bildschirm angezeigt wurde, wählen Sie mit der Taste „Lautstärke erhöhen“ den Modus „Normaler Start“ aus und drücken Sie die Taste „Lautstärke verringern“. , wählen Sie den Standard-Boot-Algorithmus für Ihr Gadget aus.

Nicht jeder verfügt über ein mobiles Gerät in Form eines Smartphones oder Tablets, auf dem das Serienbetriebssystem läuft Android, weiß, dass es in jeder Version des Betriebssystems so etwas gibt Bootloader. Was es ist, wird nun besprochen. Wenn Sie den Kern des Problems verstehen, können Sie herausfinden, welche Vorgänge beim Entsperren ausgeführt werden können.

Bootloader: Was ist das?

Beginnen wir sozusagen mit den Grundlagen. Der Bootloader für Android-Systeme unterscheidet sich praktisch nicht von dem, was auf jedem Computerterminal verfügbar ist, sei es PC oder Mac. Einfach ausgedrückt ist Bootloader ein integriertes Betriebssystem-Boot-Tool.

Nehmen wir als Beispiel Computerterminals mit mehreren installierten Betriebssystemen (z. B. Windows und Linux), bietet der Bootloader dem Benutzer nach dem Einschalten des stationären Geräts oder Laptops die Möglichkeit, sich anzumelden, und lädt nach Bestätigung das eine oder andere Betriebssystem.

Betriebssystem-Boot-Prinzipien

Ebenso wie bei stationären Systemen greift der Bootloader bei mobilen Geräten genauso auf Initialisierungsdateien zu, wie es beispielsweise Windows beim Laden von Parametern aus der Datei boot.ini tut.

Wenn Sie auf solche Daten achten, ist es nicht schwer, den Schluss zu ziehen, dass Sie in Android-Systemen nicht nur die Startmethode, sondern auch das geladene Betriebssystem problemlos manuell oder automatisch ändern können. Allerdings wissen nur wenige, dass dieses Tool selbst nur das System lädt, das für ein bestimmtes Smartphone- oder Tablet-Modell geschrieben wurde.

Bootloader: Wie entsperre ich ihn und warum wird er benötigt?

Was die Möglichkeiten betrifft, die das Entsperren des Bootloaders bietet, beschränkt sich die Sache hier nicht nur auf die Datenwiederherstellung.

Es wird davon ausgegangen, dass der Benutzer in diesem Fall Zugriff auf den Systemkern erhält, was standardmäßig nicht möglich ist. Wie lässt sich der Bootloader in einer solchen Situation beschreiben? Was das ist, wird deutlich, wenn man sich das Fehlen des sogenannten ansieht Superuser-Rechte. Es stellt sich heraus, dass sie nach Aufhebung der Sperrung auf keiner Ebene mehr benötigt werden. Andernfalls müssen Sie häufig spezielle Firmware und Anwendungen installieren. Wenn angepasste Firmware Wenn es, gelinde gesagt, „ungeschickt“ ist, kann das ganze System scheitern.

Jeder Hersteller mobiler Geräte bietet die Möglichkeit, mit einer Komponente wie dem Bootloader zu arbeiten. Wie entsperre ich es? Dies geschieht normalerweise mithilfe spezieller Dienstprogramme, die auf einem PC installiert werden, wenn dieser über eine USB-Schnittstelle mit einem mobilen Gerät verbunden ist. Bitte beachten Sie, dass in diesem Fall keine Superuser-Rechte erforderlich sind.

Für die meisten Geräte, darunter beispielsweise Sony- und HTC-Gadgets, ist die Verwendung des Dienstprogramms impliziert, und für Sony müssen Sie zusätzlich spezielle Sony Fastboot-Treiber verwenden und sogar den speziellen Unlocker-Bereich auf der offiziellen Website konsultieren. Wie Sie sehen, ist das Verfahren zwar machbar, aber recht kompliziert.

So entsperren Sie den Bootloader im Detail

  • So entsperren Sie den Bootloader – HTC
  • So entsperren Sie den Bootloader – Nexus
  • So entsperren Sie den Bootloader – Sony
  • So entsperren Sie den Bootloader – Xiaomi
  • So entsperren Sie den Bootloader – Huawei
  • So entsperren Sie den Bootloader – LG

Datenwiederherstellung

Im Standardbetriebsmodus ist die Wiederherstellung des Bootloaders nach dem Zurücksetzen der Einstellungen auf die Werkseinstellungen hingegen recht einfach. Sie müssen dies nicht einmal tun.

Sie müssen lediglich die Einstellungen auf dem Gadget selbst zurücksetzen. Nach dem Neustart bietet das System die Möglichkeit, eine Option auszuwählen: entweder neue Einstellungen auf dem Gerät verwenden oder Einstellungen, Programme und Dateien mithilfe eines Google-Dienstkontos wiederherstellen. In diesem Fall müssen Sie Ihre Gmail-Adresse mit Passwort eingeben und sich zusätzlich mit dem Internet verbinden, beispielsweise über eine aktive WLAN-Verbindung.

Installieren eines anderen Betriebssystems

Wenn wir über die Möglichkeit sprechen, ein anderes Betriebssystem zu installieren, ist dieses Problem ziemlich kompliziert, obwohl wir es lösen können. Tatsache ist, dass einige Hersteller behaupten, dass es nach Android kein anderes System für das Gadget geben wird. Reiner Werbegag zur Werbung für das installierte System.

Doch die Chinesen haben mit ihren „linken“ HTC-Geräten bereits bewiesen, dass sowohl Android als auch Windows Phone problemlos auf einem Gerät koexistieren können. Darüber hinaus werden solche Modelle in den meisten Fällen mit einem bereits freigeschalteten Bootloader ausgeliefert. Was ist es in diesem Fall? Dabei handelt es sich um ein Tool, mit dem Sie nicht nur ein bootfähiges Betriebssystem auswählen, sondern auch jedes andere installieren können, indem Sie Parameter auf Systemebene ändern.

Das heißt, der Nutzer kann sogar auf Firmware oder Zusatzprogramme verzichten, um den Betrieb des installierten Betriebssystems zu optimieren. Außerdem! Dafür sind nicht einmal spezielle Dienstprogramme wie Optimierer erforderlich, von denen es heutzutage so viele gibt, dass der Benutzer selbst nicht versteht, was er aus dieser riesigen Anzahl von Programmen und Anwendungen auswählen soll.

Worauf sollte man gesondert achten?

Aber wenn es um benutzerdefinierte Firmware geht, die bei vielen Besitzern mobiler Geräte sehr beliebt ist, muss man damit sehr vorsichtig sein. Natürlich schadet eine intelligente Firmware oder ein Betriebssystem-Update nicht, im Gegenteil, es verbessert nur die Funktion des Geräts, aber wenn Sie etwas Inoffizielles und noch nicht getestetes (z. B. Computer-Betaversionen) installieren, müssen Sie mit Problemen rechnen. Dann hilft sicherlich kein Bootloader.

Übrigens wissen nur wenige, dass solche Versionen die Hardwarekomponenten zu stark beanspruchen können, was wiederum zu deren völliger Funktionsunfähigkeit führen kann. Aber der Prozessorwechsel im selben Smartphone ist bei weitem nicht die einfachste Sache.

Darüber hinaus führt das Entsperren des Bootloaders bei offiziell veröffentlichten Marken-Gadgets zum automatischen Verlust der Garantie und der Möglichkeit eines kostenlosen Service. Sie müssen also hundertmal nachdenken, bevor Sie solche Aktionen und Operationen durchführen.

Abschließend bleibt noch hinzuzufügen, dass auch die Frage der Installation eines anderen Betriebssystems auf einem Android-Gerät im Allgemeinen recht umstritten ist. Ja, natürlich funktioniert das System, egal was der Hersteller sagt. Aber wie es funktionieren wird, ist eine andere Frage, zumal die meisten Benutzer normalerweise eine leichtgewichtige Version installieren, deren Herkunft unbekannt ist. Aber vergeblich. Hier kann man, wie man sagt, so viel vermasseln, dass man am Ende keine Sünde begeht. Und im Falle solcher Änderungen übernimmt der Hersteller selbst nach aktuellen internationalen Standards keine Verantwortung für den ordnungsgemäßen Betrieb des Mobilgeräts. Daher muss die Entscheidung über die Zweckmäßigkeit vom Besitzer des Gadgets selbst getroffen werden. Aber es ist besser, mit solchen Dingen keine Witze zu machen.