Unterschied zwischen ADB-Shell und TWRP-Terminal

TLDR :
Gibt es beim Booten in TWRP (nicht das Android-Betriebssystem) einen Unterschied zwischen der Ausführung eines Befehls auf einer ADB-Shell und der Ausführung im TWRP-Terminal? Speziell etwas, das Partitionen durcheinander bringt? Ist es sicher? Sind andere Ergebnisse zu erwarten?

Hintergrund :
Ich habe ein Problem mit meinem OnePlus One. Es startet scheinbar zufällig neu oder schaltet sich sofort aus. Verweigert manchmal den Neustart, es sei denn, der Netzschalter wird etwa 30 Sekunden lang gedrückt oder der Batteriestecker wird getrennt und wieder angeschlossen. Laut diesem Artikel könnte das Problem eine beschädigte Partition sein. Es schlägt vor, Folgendes auszuführen:

`make_ext4fs /dev/block/mmcblk0p15

über ADB. Leider ist es mir nicht möglich, ADB dazu zu bringen, mein Gerät richtig zu erkennen. Ich habe alles getan, was dieser Artikel vorgeschlagen hat , aber es hat nicht geholfen. Ich habe versucht, nach ADB-Geräten zu suchen, während ich in TWRP gebootet habe (es wurden keine Geräte angezeigt) und ich habe versucht, nach Geräten zu suchen, während ich in Android gebootet habe, aber sobald ich das USB-Debugging aktiviere, wird das Telefon ständig getrennt, etwa mehrmals pro Sekunde. Ich habe versucht, eine aktive USB-Verlängerung zu verwenden, wie hier vorgeschlagen , aber es hat nicht geholfen. Ich habe auch die Stromaufnahme gemessen und sie hat ständig zwischen ~230mA und ~270mA gewechselt (das Netzteil hätte bis zu 5100mA zugelassen). Außerdem weigere ich mich aus Sicherheitsgründen, ADB über WiFi zu machen. Es wäre auch höchstwahrscheinlich mühsam, die Firewalls dazu zu bringen, dies zuzulassen.

Ich frage mich auch, ob es eine Möglichkeit gibt, herauszufinden, ob eine der anderen Partitionen beschädigt ist (es gibt etwa 50 Geräte, die unter aufgelistet sind /dev/block/).

Antworten (2)

Ich würde keine aktuell verwendeten Partitionen manipulieren – was beim Hochfahren des Systems der Fall wäre. Während sie in die Wiederherstellung gebootet werden, werden sie nicht verwendet, es sei denn, Sie mounten sie explizit (oder wenn sie automatisch gemountet werden, können Sie sie unmounten und weiterhin ein System ausführen).

Dinge wie Neupartitionierung oder Formatierung werden also besser von der Wiederherstellung aus durchgeführt. Dasselbe gilt für das Imaging ( dd), wo Sie sicher sein möchten, dass sich der Inhalt nicht ändert, während Sie dieses "Festplatten-Image" erstellen, da Sie möchten, dass es konsistent ist (natürlich kein Problem mit Partitionen, die schreibgeschützt gemountet sind).

Und auch hier gilt wieder, wenn man das Dateisystem reparieren will: Dazu muss die entsprechende Partition ausgehängt/data werden, was zB für die Partition beim normalen Hochfahren nicht möglich ist – fsck(File System Check) erfordert exklusiven Zugriff darauf.


Was Ihr zugrunde liegendes Problem betrifft: Ich würde empfehlen, in die Wiederherstellung zu booten und zuerst eine Dateisystemprüfung durchzuführen, um festzustellen , ob eine Partition beschädigt ist. In den meisten Fällen fsckist es auch in der Lage, die Beschädigung zu reparieren, und Sie werden Ihre Daten so behalten. Wenn fsckProbleme gefunden werden, die es nicht lösen kann (oder Sie "absolut sicher und sauber" sein möchten), können Sie es trotzdem ausführen make_ext4fs- was natürlich "alle Daten verloren" bedeuten würde. Wenn Sie das tun, /systembedeutet dies auch, dass Sie anschließend ein ROM flashen müssen, da Ihr Betriebssystem weg wäre. Und wenn Sie es auf einer anderen Partition als /system, /dataoder tun/cache(oder die SD-Karte) können Sie Ihr Gerät ziegeln, da Sie nicht wissen, was Sie dort ablegen sollen, um es wieder zum Leben zu erwecken. Oh, und stellen Sie außerdem sicher, dass die Partition, die Sie "formatieren" möchten, wirklich ext4 verwendet, bevor Sie make_ext4fssie ausführen. Obwohl es transparent sein sollte, könnte ein unerwartetes Dateisystem das Betriebssystem verwirren :)

@iBug Ich habe es nicht gesagt, bitte lesen Sie noch einmal: "Stellen Sie sicher, dass die Partition, die Sie "formatieren" möchten, wirklich ext4 verwendet, bevor Sie make_ext4fssie ausführen." Da die SD-Karte sie wahrscheinlich nicht verwendet, sollten Sie sie laut meiner Antwort nicht so formatieren (es gibt mkfsdort andere Befehle für FAT: mkfs.vfatund mkfs.exfat).

Nö. Beim Booten in TWRP werden alle Befehle mit Root-Rechten ausgeführt, Shell-Befehle sind größtenteils gleich, aber TWRP hat einen hiertwrp dokumentierten Befehl hinzugefügt , der meiner Meinung nach am bequemsten ist und schwer falsch zu machen ist.

Ich habe keine Ahnung von häufigen Neustarts, aber ich schlage vor, Sie überprüfen den Stromanschluss.