Wie kann man Daten aus dem adaptiven Speicher wiederherstellen, während das gerootete Telefon beim Booten hängen bleibt?

Ich verwende also Galaxy Mega (i9152) mit einem CM13-ROM, das ich über TWRP geflasht habe. Um PoGO ausführen zu können, hatte ich root über die Einstellungen der SuperSu-App in CM13 deaktiviert (das Spiel lief immer noch nicht, stolperte immer wieder über das Sicherheitsnetz). Das Telefon lief bis vor 2 Tagen einwandfrei, danach ging es in den Bootloop.

Also habe ich gegoogelt, wie man die Boot-Schleife löst, und festgestellt, dass das Festlegen von Dateiberechtigungen über TWRP das Problem lösen könnte. Ich habe das getan, ABER ich habe das Telefon auch gerootet, als TWRP mich aufforderte, SuperSU zu installieren, da das Telefon nicht gerootet war. Danach blieb das Telefon bei der Boot-Animation (dem CM-Android-Gesicht) hängen, möglicherweise weil ich das Telefon über TWRP gerootet hatte.

Ich hatte meine SD-Karte als intern formatiert, was bedeutete, dass sie auf keinem anderen Gerät funktionierte. Alle meine Bilder und Sachen sind jetzt auf dieser SD-Karte. Ich habe ausführlich bei Google recherchiert, um herauszufinden, wie ich die verschlüsselte SD-Karte entschlüsseln kann, und herausgefunden, dass ich sie über Linux entschlüsseln kann. Ich habe auch die .key-Datei aus dem Ordner /data/misc/vold wiederhergestellt und den Code über Terminalbefehle in das entsprechende 16-Byte-Format konvertiert.

Ich habe ein Linux-System und ich habe versucht, es zu entschlüsseln. Folgendes passiert, wenn ich parted -l ausführe. (Ich wollte auch die Ausgabe von fdisk -l posten, aber mein Reputationswert lässt mich nicht mehr als 2 Links posten)

wenn ich parted -l ausführe

Da die Namen "android_expand" und "android_meta" immer noch angezeigt werden, habe ich Hoffnung und guten Grund zu der Annahme, dass meine Daten noch intakt sind!

aber wenn ich versuche, es zu montieren ...

wenn ich versuche, die SD-Karte zu entschlüsseln und zu mounten

Ich weiß nicht, was ich jetzt tun soll, da dies alles ist, was ich wusste, alles, was ich hatte:/, ich habe keine Ahnung, welches Dateisystem die verschlüsselte Karte ist. Ich habe ext4 wie in der Anleitung beschrieben ausprobiert. Vielleicht könnte ich, wenn es eine Möglichkeit gäbe, die fstab-Datei durch ALLE möglichen Dateisysteme laufen lassen, das richtige treffen und schließlich meine SD-Karte mounten. Vielleicht hat die Mount-Funktion eine solche "Auto"-Funktion, um die Dateisysteme automatisch zu erkennen?

Ich habe versucht, das GLEICHE ROM ohne Zurücksetzen auf die Werkseinstellungen neu zu flashen, aber es gab mir eine Fehlermeldung mit der Aufschrift: "Fehler beim Ausführen der Updater-Binärdatei" und auch "kann nicht über inkompatible Daten installiert werden".

Ich habe den Cache und den Dalvik-Cache MEHRERE Male geleert.

Ich habe den DATA-Teil über TWRP gesichert, indem ich eine ANDERE SD-Karte im Telefon verwendet habe. Außerdem habe ich den SYSTEM-Teil im internen Speicher des Telefons gesichert. Ich mache mir nur Sorgen um meine Bilder und Sachen auf der SD-Karte. Ich kann meine verschlüsselte SD-Karte in TWRP nicht sehen, es zeigt mir nur O MB in der SD-Kartenoption in TWRP an, möglicherweise weil die SD-Karte verschlüsselt ist. Ich habe keine Ahnung, wie ich über den TWRP-Dateimanager auf meine Dateien auf der verschlüsselten SD-Karte zugreifen soll. Ich möchte meine Daten nicht verlieren. Bitte helfen Sie mir, Daten von dieser SD-Karte wiederherzustellen, die von Android Marshmallow verschlüsselt wurde. Ich weiß nicht, ob meine SD-Karte wie zuvor im Betriebssystem erkannt wird, wenn ich in der Lage bin, das GENAU GLEICHE ROM, das ich vor dieser Katastrophe verwendet habe, irgendwie neu zu flashen.

Nur zur Verdeutlichung: Ich verwende den internen SD-Kartenleser meines Laptops zum Lesen von Karten mit Linux (ich habe Ubuntu 16.04 LTS) mit einem SD-Kartenadapter, der mit der Karte geliefert wird (es ist ein Kingston 16 GB, SDHC-Klasse 4).

Wenn ich irgendwie auf meine SD-Karte zugreifen und alle meine Daten von ihr abrufen kann, ist mein Problem gelöst. bitte hilf mir.

PS: Außerdem könnte ich ganz am Anfang dieser Tortur versehentlich Partitionen auf der SD-Karte erstellt haben, während ich die fdisk benutzte. Ich hoffe, das hat die Daten nicht von der SD-Karte gelöscht oder beschädigt. Ich habe das Dienstprogramm mit STRG + C verlassen, ohne die Änderungen zu speichern ... das könnte also Hoffnung machen.

BEARBEITEN (1. Dezember 2019): Dies ist KEIN Duplikat, wie aus der unten bereitgestellten Lösung ersichtlich ist. Diese Frage stellt einen viel ernsteren Fall mit angenommenem Speicher dar, bei dem Ihr Telefon Probleme beim Booten hat oder Ihr Betriebssystem beschädigt ist. Bitte lassen Sie diese Frage so, wie sie ist, da sie sich für fortgeschrittene Benutzer und andere als hilfreich erweisen wird, deren Dateien in einem angenommenen Speicher stecken bleiben, während sie Schwierigkeiten beim Zugriff auf das Betriebssystem ihres Telefons haben.

Sind Sie sicher, dass /dev/mmcblk0p2 auf Ihrem Linux-Gerät vorhanden ist? Führen Sie dmesg aus, um die genaue Fehlermeldung zu sehen. Sie können versuchen, „blockdev --getsize /dev/...“ als eigenständigen Befehl auszuführen, um die Größe abzurufen und Fehler anzuzeigen.
Versuchen Sie auch, dmeset mit dem Flag -v auszuführen, um zusätzliche Details darüber zu erhalten, was passiert.
@NikolayElenkov, danke für die Antwort! Ich habe das Problem gelöst, teilweise dank Ihres Führers und dank meiner eigenen Intuition. Ich bin ein CIS-Student (Computer Engg) im Abschlussjahr und möchte in Kontakt bleiben. Wo sind Sie gut erreichbar?
@NikolayElenkov, ich habe die Daten auf meinem PC gesichert. Jetzt habe ich das Problem, dass ich möchte, dass mein Handy die SD-Karte so erkennt, wie sie ist. Ich habe dies versucht, indem ich Daten, System, Cache, Dalvik gelöscht und DANN das neue Rom neu geflasht habe. und legen Sie dann die .key-Datei in den vold-Ordner und starten Sie das Telefon neu. UND das Telefon erkennt die Karte (es fordert NICHT zum Neuformatieren der Karte auf), aber es erkennt die Daten nicht, es sieht keine Datei, kein Bild in den Daten, obwohl es 1,63 GB von 14,55 GB anzeigt in der SD-Karte ist belegt. kann ich diesbezüglich Hilfe bekommen?
@Irfan Latif nein, das ist mit Sicherheit kein Duplikat. Es könnte ähnlich sein, aber diese Frage (und die nachfolgende Antwort) stellt einen viel ernsteren Fall dar, in dem Sie keine triviale Möglichkeit haben, auf Ihre Dateien zuzugreifen oder sogar Ihr Telefon über die Boot-Animation hinaus zu booten. Bitte berücksichtigen Sie den Unterschied in den Fällen, bevor Sie sie als Duplikat kennzeichnen.
@MuhammadYasir Das Markieren von Duplikaten bedeutet nicht, dass Ihre Frage oder Antwort kein guter Beitrag zur Community ist. Durch das Markieren von Duplikaten oder Zusammenführen soll sichergestellt werden, dass mehr Besucher die hilfreichen Inhalte, die Sie hier einstellen, nach der Recherche erreichen und davon profitieren können. Meiner Meinung nach sollte diese Frage mit der anderen zusammengeführt werden. Im Wesentlichen ist die Frage dieselbe, mit guten Details. Und die Antwort ist viel detaillierter, aber sie bekommt nicht so viel Aufmerksamkeit, wie sie hätte sein sollen. Aber offensichtlich reicht meine Meinung allein nicht aus, es erfordert mehr Stimmen und/oder das Eingreifen des Moderators.
@NikolayElenkov (off-topic) Kürzlich haben wir herausgefunden, wie man den Zähler für die fehlgeschlagene Entschlüsselung in der fde-Krypto-Fußzeile zurücksetzt. Wir laden Sie ein, an unserem Gespräch auf xda teilzunehmen (Link in den Kommentaren) android.stackexchange.com/q/230892

Antworten (1)

Bevor Sie beginnen, würde ich empfehlen, eine VOLLSTÄNDIGE Sicherung Ihrer SD-Karte über ein RAW-Image zu erstellen (googlen Sie den Befehl „dd“ in Linux).

Ich bin der Anleitung hier gefolgt; Beschädigte SD-Karte als interner Speicher formatiert

ABER mit einigen WICHTIGEN MODIFIKATIONEN von mir!

  1. Das Telefon blieb in BOOTLOOP und später bei BOOT Animation hängen, kein Zugriff auf ein übliches Dateimanager-Dienstprogramm. Wohlgemerkt, dies ist eine SEHR schwerwiegende Situation, da es keine triviale Methode gibt, um Zugriff auf Ihre SD-Karte zu erhalten (sie wird im TWRP-Dateimanager als 0 MB angezeigt), um Ihre wertvollen Daten, Bilder und Erinnerungen zu sichern. Außerdem ist dies der einzige Teil, der etwas wackelig ist, da ich nicht ganz sicher bin, ob mein Telefon gerootet war oder nicht (da sich mein Problem von Bootloop zu Boot-Animation geändert hat, als ich versuchte, über TWRP auf SuperSu zu installieren) und den Verschlüsselungsschlüssel abrufen ist zentral, um dies zu lösen. Ich musste mir die .key-Datei besorgen, da diese ausschlaggebend dafür war, die Verschlüsselung der SD-Karte zu knacken. Inmitten all der Panik konnte ich also über den TWRP-Dateimanager zum Ordner /data/misc/vold navigieren und die .key-Datei finden. Dies war ein GROSSER Durchbruch!

  2. Als nächstes , um die Datei zu extrahieren. Ich habe eine andere, UNVERSCHLÜSSELTE SD-Karte verwendet und die .key-Datei über den TWRP-Dateimanager auf diese Karte übertragen, diese SD-Karte in den Laptop eingelesen und die .key-Datei auf Ubuntu (16.04) heruntergeladen. Entschlüsselte die .key-Datei und erhielt den 16-Byte-Schlüssel. Es gibt zwei Möglichkeiten, dies zu tun ... entweder öffnen Sie die Datei über einen Hex-Editor (ich habe BLESS verwendet) und kopieren Sie die 16 Paare von Hex-Ziffern, die Sie sehen, ODER verwenden Sie diesen Befehl;

hexdump -e '1/1 "%.2x"' expand_8838e738a18746b6e435bb0d04c15ccd.key

Stellen Sie sicher, dass Sie sich im selben Verzeichnis wie die .key-Datei befinden, wenn Sie diesen Befehl ausführen (fortgeschrittene Linux-Benutzer werden sich darum kümmern, aber ich möchte, dass es so anfängerfreundlich wie möglich ist).

Also, ich habe den 32-stelligen / 16-Byte-Schlüssel.

  1. Als nächstes entschlüsseln Sie die SD-Karte und lassen Linux sie erkennen. Als ich es über den Kartenleser einlas, wurde es in Nautilus (dem Ubuntu-Dateimanager) nicht angezeigt, aber beim Ausführen von fdisk-l und parted -l sah ich

"parted -l Ausgabe"

http://pasteboard.co/5klviklR8.jpg

"fdisk -l Ausgabe"

http://pasteboard.co/POGvyBOxO.png

Beachten Sie die android_meta und android_expand , diese Namen gaben mir Hoffnung, dass meine Daten noch intakt waren. BESONDERS, da ich zu Beginn des Problems Partitionen und Partitionstabellen auf der SD-Karte über das fdisk-Dienstprogramm erstellt hatte (aber ich habe Strg + C gedrückt, sodass es möglich ist, dass die Änderungen nicht geschrieben wurden, Puh!)

Das unbekannte Dateisystem war der größte Schmerz in diesem ganzen Fiasko ... da laut den wenigen Anleitungen und Diskussionen zu diesem Problem SD-Karten, die von Marshmallow als intern formatiert wurden, ein ext4-Dateisystem sein sollten. aber das war nicht der Fall, zumindest nicht hier.

  1. Also, um die Karte zu entschlüsseln, habe ich verwendet
dmsetup create crypt1 --table "0 `blockdev --getsize /dev/mmcblk0p2` crypt aes-cbc-essiv:sha256 "insert your 16-byte key here w/out double quotes" 0 /dev/mmcblk0p2 0"

Wenn Sie einen ioctl-bezogenen Fehler erhalten, verwenden Sie stattdessen dieses Format (dies ist das EXAKTE Format, das ich heute verwendet habe, mit meinem Schlüssel und allem).

dmsetup create crypt7 --table "0 `blockdev --getsize /dev/mmcblk0p2` crypt aes-cbc-essiv:sha256 07147CFFB77F249A5DBD2AD204610E7D  0 /dev/mmcblk0p2 0"

Bitte beachten Sie, dass das Dienstprogramm dmsetup unter Linux installiert werden sollte. (Google es ) . Beachten Sie auch, dass ich mich für die Parition 'mmcblk0p2' entschieden habe, da diese die größere war und die offensichtliche Schlussfolgerung hatte, alle Daten zu enthalten!

das ging gut, ohne Fehler abgeschlossen. Der nächste Teil machte mich jedoch ABSOLUT verrückt und dauerte ungefähr 20 Stunden (einschließlich meiner Schlafzeit), um richtig gelöst zu werden.

  1. das GADDAMN-Dateisystem ! Es wurde ÜBERALL geschrieben, dass Adoptivspeicher als ext4 formatiert ist, also als ich den Befehl ausführte

# mount -t ext4 /dev/mapper/crypt1 /mnt/1/

(Bitte beachten Sie, dass mnt/1/ als Verzeichnis in Ihrem Stammordner existieren sollte, wenn nicht, verwenden Sie mkdir, um es zu erstellen)

es ergab den verdammten Fehler

falsche fs oder schlechte Option.

und das brachte mich zum nachdenken ... wenn die sd - karte NICHT vom typ ext4 ist , wie um alles in der welt soll ich dann wissen , um welches dateisystem es sich bei allen möglichen handelt !

Ich suchte und suchte nach einem Befehl, der ALLE Möglichkeiten in einer Brute-Force-Methode durchlaufen könnte, oder nach einem Eintrag, den ich in der /etc/fstab-Datei vornehmen könnte, der das Dateisystem irgendwie AUTOMATISCH erkennen könnte, aber ohne Erfolg ...

5 . Am Ende erinnerte ich mich ... dass vielleicht, nur MÖGLICHERWEISE das Dateisystem f2fs (Flash-freundliches Dateisystem) war. Und das erwies sich als aufschlussreiche Erinnerung ...

für diesen Code ;

mount -t f2fs /dev/mapper/crypt1 /mnt/1

erwies sich als SIEGENDES ZIEL!

Ich konnte dann in /mnt/1 cd und sah einige sehr vertraute Android-ähnliche Dateien und von da an war es Eternal BLISS!

Sowohl ext4 als auch f2fs haben einen Superblock, der das Dateisystem identifiziert. Wenn Sie sich die ersten Bytes der Partition ansehen, können Sie das verwendete Dateisystem leicht identifizieren.
@NikolayElenkov ah .. danke! Das erweitert mein Wissen und wird das nächste Mal berücksichtigen, wenn ich mich mit Dateisystemen befasse! können Sie in der Zwischenzeit bitte hier nachsehen ; android.stackexchange.com/questions/172347/… Außerdem habe ich hier einen ausführlichen Beitrag dazu verfasst: forum.xda-developers.com/… <-- hier habe ich das Problem detailliert und Schritt für Schritt beschrieben. Ich würde mich freuen, wenn Sie sich das ansehen und mich retten würden!