Seite 1 von 1

Feature Request: 1:1 Dump des internen Speichers

Verfasst: Fr 2. Mär 2012, 02:41
von mychi
Hi

Ich habe heute aus Versehen (und aufgrund eines Android-Bugs) sämtliche (eigene) Dokumente und Fotos auf meinem Galaxy Nexus verloren. Da dieses nur via MTP/PTP und nicht als normaler Massenspeicher angeschlossen werden kann, habe ich selbst nach x-stündiger Suche im Web nicht herausgefunden, wie die Dateien wiederhergestellt werden können :-(

Da man mit MyPhoneExplorer ziemlich viel des Dateisystems sieht, dachte ich mir, dass es evtl. technisch auch möglich wäre einen 1:1 Dump (im Sinne von "dd if=/dev/hda of=hda.dump" bei Unix) zu erstellen.

Die Idee wäre also, dass ich mit MyPhoneExplorer ein Dump/Image ziehen kann (und zwar Byte für Byte die ganze "Platte", d.h. in jedem Fall 16 GB, auch wenn nur 1 GB davon genutzt ist). Aus diesem Dump könnte ich dann mit diversen Recovery-Tools versuchen die gelöschten Daten zu retten (welche "physisch" noch vorhanden sein sollten, solange nicht mit Neuem überschrieben).

Wäre sowas einfach zu programmieren? Oder hat man dazu dann doch zuwenig Zugriff auf das Gerät?

Wenn diese Funktion möglich wäre, bald eingebaut werden kann (von mir aus auch in einer "Alpha- oder Beta-Version") und mir dadurch hilft wenigstens einen Teil meiner Daten zu retten, würde mich das sehr spendierfreudig stimmen :wink:

Verfasst: Sa 3. Mär 2012, 12:39
von peterfido
Hast nun Du oder ein Bug die Daten gelöscht?

Evtl. gibt es für das Nexus auch Tools, welche den Flash komplett dumpen können. Evtl. mal bei den XDA-Developers umsehen.

Kennt Kies das Nexus? Kies kann Backups des Galaxy S erstellen.
Ich würde auch immer Backups anlegen. Nachdem ein Fehler aufgetreten ist, lässt sich da wenig machen. Sind die Speicherbereiche als frei markiert, werden sie über kurz oder lang neu beschrieben. Flashspeicher arbeitet da etwas anders als z.B. eine Festplatte. Da kann Android noch so sagen, dass z.B. Block X ausgelesen werden soll. Der Flash-Controller allein weiß, wo wirklich was abgelegt ist. Ob dieser eine Zelle wirklich ausliest, wenn diese als leer gekennzeichnet ist, oder aus Leistungsgründen nur Leerdaten schickt, weiß auch nur dieser.

Um den ganzen Flash zu dumpen, benötigt es oft root Rechte und oder einen bsetimmten Modus (z.B. Download - Modus beim Galaxy S). Ein Android Bug, wo Daten verloren gehen, ist mir neu. Besteht dieser "nur" auf dem Nexus, würde ich es umtauschen. Falls er auf jedem (oder mehreren Android - Smartphone vorhanden ist, bitte ich um eine Info inkl. Quelle. Damit ich weiß, welches Gerät (Hersteller) ich zukünftig in keinem Fall kaufe.

Das Smartphone betrachte ich wie einen USB-Stick: Daten die wichtig sind, gehören an anderer Stelle zusätzlich gesichert.

Verfasst: Sa 3. Mär 2012, 14:58
von mychi
peterfido hat geschrieben:Hast nun Du oder ein Bug die Daten gelöscht?

Im Prinzip beides: Ich habe zwar bei einem Ordner auf "löschen" geklickt, durch den Bug (bei der Verbindung via MTP) hat es aber einen anderen Ordner gelöscht.

Konkret geht es um folgenden Bug:
http://code.google.com/p/android/issues/detail?id=23974

Schliesst man das Nexus via MTP an, sieht man im Explorer unter "Computer\Galaxy Nexus\Internal Storage" den Inhalt des Ordners /sdcard/ (oder /mnt/sdcard/). Dort drin hatte ich einen weiteren Ordner namens "sdcard", welcher aber leer war. Nun habe ich diesen leeren Ordner gelöscht und dank des MTP-Bugs löschte das nicht den Ordner /sdcard/sdcard/ sondern den Ordner /sdcard/. Daher also im Prinzip alles auf was man als nicht-root Zugriff hat.


Evtl. gibt es für das Nexus auch Tools, welche den Flash komplett dumpen können. Evtl. mal bei den XDA-Developers umsehen.

Leider habe ich auch dort nichts gefunden, ausser evtl. kTool, das bald auch für das Nexus funktionieren soll, welches aber soweit ich das verstanden habe nur den Kernel dumped.

Kennt Kies das Nexus? Kies kann Backups des Galaxy S erstellen.

Soweit ich das in Erfahrung bringen konnte, wird das Nexus nicht von Kies unterstützt. Allerdings ist die Frage was du mit "Backup" genau meinst, denn MyPhoneExplorer kann ja auch Backups erstellen.

Ich würde auch immer Backups anlegen. Nachdem ein Fehler aufgetreten ist, lässt sich da wenig machen. Sind die Speicherbereiche als frei markiert, werden sie über kurz oder lang neu beschrieben. Flashspeicher arbeitet da etwas anders als z.B. eine Festplatte. Da kann Android noch so sagen, dass z.B. Block X ausgelesen werden soll. Der Flash-Controller allein weiß, wo wirklich was abgelegt ist. Ob dieser eine Zelle wirklich ausliest, wenn diese als leer gekennzeichnet ist, oder aus Leistungsgründen nur Leerdaten schickt, weiß auch nur dieser.

Naja, ironischerweise wollte ich eben genau (endlich) ein Backup meines Nexus machen und habe es darum an den PC angeschlossen um alles zu Kopieren. Nur fing ich dann durch meinen "Ordnungszwang" an, zuerst mal all die leeren Ordner zu löschen. Kann ja nichts passieren (dachte ich), denn ich sehe ja nur einen Teil des Nexus, sozusagen den "user space". Hatte leider zu viel Vertrauen in das Ganze und war mir nicht bewusst, dass MTP offenbar noch ziemlich unausgereift ist. War mich halt an Massenspeicher gewöhnt.

Bzgl. des Flash-Controllers: Meinst du also, selbst wenn ich mit einem Tool den internen Speicher "1:1" dumpen könnte, hätte ich meine Daten trotzdem nicht, da der Flash-Controller dem Dump-Tool für frei markierte Bereiche einfach 0 schickt, statt die tatsächlichen Bytes?

Um den ganzen Flash zu dumpen, benötigt es oft root Rechte und oder einen bsetimmten Modus (z.B. Download - Modus beim Galaxy S).

Ja, hätte ich root Rechte gäbe es da schon ein paar Tools. Leider müsste ich für root Zugriff aber sowieso den ganzen Speicher überschreiben, oder? Und dann wäre noch eben die von dir erwähnte Thematik mit dem Flash-Controller.

Ein Android Bug, wo Daten verloren gehen, ist mir neu. Besteht dieser "nur" auf dem Nexus, würde ich es umtauschen. Falls er auf jedem (oder mehreren Android - Smartphone vorhanden ist, bitte ich um eine Info inkl. Quelle. Damit ich weiß, welches Gerät (Hersteller) ich zukünftig in keinem Fall kaufe.

Ja, das war mir auch neu. Die Frage ist natürlich auch, ob der Bug tatsächlich bei Android selbst liegt oder beim MTP-Treiber oder so. Jedenfalls, wenn man den Bug kennt, kann man den Datenverlust ja verhindern: Einfach nie irgendwelche leere Ordner löschen, wenn das Gerät via MTP angeschlossen ist. Ansonsten kann ich das Nexus schon empfehlen und ich wüsste von keinem anderen Gerät, das ich im Moment für "kaufwürdig" halte.

Das Smartphone betrachte ich wie einen USB-Stick: Daten die wichtig sind, gehören an anderer Stelle zusätzlich gesichert.

Naja, mit einem USB-Stick kann man halt keinen Content generieren. Ein paar der verlorenen Daten habe ich schon noch auf dem PC, nämlich diejenigen, die ich von dort aus auf das Nexus kopiert habe (analog zu einem USB-Stick). Aber alle Daten, die vom Gerät aus erzeugt wurden (Photos, Videos, Notizen, Konfigurationen einzelner Apps) oder von dort mit dem Browser heruntergeladen, die hatten (noch) kein Backup. Ein Backup zu erstellen war eigentlich genau die Idee, die dann dazugeführt hat, dass ich alles verloren habe. Ironie des Schicksals :-/

Danke für deine Antwort und die Infos.

Verfasst: Sa 3. Mär 2012, 18:16
von peterfido
Für Root Rechte wird normal im Kernel etwas überschrieben. Das dürfte die Daten-Partition nicht angreifen. Dafür kenne ich mich mit dem Nexus aber nicht aus.

Ich habe da leider nicht viel Hoffnung für Deine Daten. Falls jemand ein für Dich passendes Tool entwickelt, wäre es sicher von Vorteil an dem Nexus nichts weiter zu speichern. Da Android aber ständig was speichert, hieße das, dass Du es abgeschaltet lassen müsstest, bis der Rettungsversuch startet.

Bleibt nur für die Zukunft: Erst sichern und dann überflüssiges löschen.

Verfasst: Di 6. Mär 2012, 01:33
von FJ
MyPhoneExplorer "sieht" genau das was jede andere Dateibrowser-App auch sehen kann. Da ist leider nix mit tieferen Zugriffen. das zu programmieren würde mindestens ein gerootetes Handy voraussetzen und das will ich dann auch wieder nicht weil sonst die User anfangen ihr Handy wegen MyPhoneExplorer zu rooten

ACHTUNG: Beim Rootvorgang vom Galaxy Nexus wird das Handy auf Werkszustand zurückgesetzt. Man wird zwar gewarnt, und da ich keine ungesicherten Kontakte/Termine auf dem Handy habe war das für mich auch kein Problem. Nach dem Rootvorgang bin ich dann aber doch erschrocken daß sämtliche Dateien aus dem Speicher weg waren (private Videos, Fotos,...). Im Nachhinein ists klar weil das Nexus ja nur den internen Speicher hat, aber dadurch daß andere Handys eine externe und somit vom Löschvorgang geschützte Speicherkarte haben hatte ich das einfach übersehen

Verfasst: Di 6. Mär 2012, 21:28
von mychi
FJ hat geschrieben:MyPhoneExplorer "sieht" genau das was jede andere Dateibrowser-App auch sehen kann. Da ist leider nix mit tieferen Zugriffen.

Alles klar, dann gibt es wohl drei "Stufen": Was man per Windows sieht (direkt via MTP) < MyPhoneExplorer und andere Apps ohne root-Voraussetzung < Apps, die root voraussetzen.

das zu programmieren würde mindestens ein gerootetes Handy voraussetzen und das will ich dann auch wieder nicht weil sonst die User anfangen ihr Handy wegen MyPhoneExplorer zu rooten

Finde ich gut so. Es braucht m.E. Apps, die möglichst viel aus dem herausholen, was auch ohne root-Zugriff möglich ist. Viele User möchten ihr Gerät nicht rooten.

ACHTUNG: Beim Rootvorgang vom Galaxy Nexus wird das Handy auf Werkszustand zurückgesetzt. Man wird zwar gewarnt, und da ich keine ungesicherten Kontakte/Termine auf dem Handy habe war das für mich auch kein Problem. Nach dem Rootvorgang bin ich dann aber doch erschrocken daß sämtliche Dateien aus dem Speicher weg waren (private Videos, Fotos,...). Im Nachhinein ists klar weil das Nexus ja nur den internen Speicher hat, aber dadurch daß andere Handys eine externe und somit vom Löschvorgang geschützte Speicherkarte haben hatte ich das einfach übersehen

Ja, das bin ich mir bewusst. In einem anderen Forum hat man mir allerdings gesagt, durch das rooten sollten die Daten im Prinzip auch nur "als gelöscht markiert" werden und daher könne es sein, dass ich selbst nach dem rooten noch gewisse gelöschte Daten retten könnte.

Ich denke viel mehr zu verlieren habe ich nicht. Klar, es ist ein zusätzlicher Aufwand alle Apps wieder zu installieren und konfigurieren. Aber früher oder später hätte ich wohl eh das Bedürfnis gehabt das Gerät zu rooten, warum also nicht gleich jetzt, da noch die Möglichkeit besteht gewisse Daten zu retten.

Werde mir wahrscheinlich dieses Wochenende Zeit nehmen für:
- Backup (soweit möglich) mit MyPhoneExplorer
- Bootloader unlock (=> alle Daten weg)
- root Zugriff
- Versuch den internen Speicher zu dumpen oder mit "root"-Apps direkt versuchen die Daten wiederherzustellen
- Apps neu installieren und konfigurieren

Verfasst: So 11. Mär 2012, 22:13
von mychi
FYI: Auch nach einem unlock + root habe ich keine Möglichkeit gefunden die Daten wiederherzustellen oder einen dump zu ziehen. Alle Apps scheinen nur für FAT (oder FAT-ähnliche) Speicher zu funktionieren.

Trotzdem danke für eure Hilfe.