[TUT] Wiederherstellung gelöschter Dateien auf Androiden ohne USB-Massenspeichermodus

  • 2 Antworten
  • Neuester Beitrag
Diskutiere [TUT] Wiederherstellung gelöschter Dateien auf Androiden ohne USB-Massenspeichermodus im Sonstige Hard- und Software-Fragen im Bereich Weitere Themen.
P

PDP

Stammgast
Diese Anleitung stammt nicht von mir persönlich, sondern von Wartickler, der diese bei xda-developers gepostet hat. Ich habe die Anleitung übersetzt und an einigen Stellen ergänzt in der Hoffnung auch weniger erfahrenen Benutzern zu helfen.

Link zum Original: [GUIDE] Internal Memory Data Recovery - Yes We | Galaxy Nexus > XDA


Die meisten werden das Szenario kennen: Einmal gelöscht, heißt bei Androidgeräten leider oftmals für immer verloren, da es keinen „Papierkorb“, wie bei Windows gibt. Bei ein paar Bildern kann man das noch verkraften, bei ganzen Ordnern wird es schon ärgerlich. Und wer öfter mal die Firmware wechselt, verliert – ohne Backup – ganz schnell alle seine Daten.
Gelöscht heißt aber nicht gleich verloren. Das System vergißt einfach, wo die Dateien gespeichert sind, da lediglich die Verlinkung in der Indexdatei oder die komplette Indexdatei gelöscht wird. Das heißt die Daten sind zunächst noch vollständig erhalten. Erst mit der Zeit werden sie überschrieben; deshalb ist es auch wichtig die Daten so schnell wie möglich nach dem Bemerken des Verlustes wiederherzustellen. Nur so ist das beste Ergebnis zu erzielen, wobei es natürlich auch hier keine Garantie für eine vollständige Wiederherstellung gibt.
Im Internet kann man sich jede Menge Programme besorgen, um gelöschte Dateien auf Androiden wiederherzustellen. Leider setzen diese allesamt den USB-Massenspeichermodus voraus, der seit Android 4.2 nicht mehr standardmäßig vorhanden ist. Einige Hersteller lizenzieren diesen eigenständig und bauen ihn in die Androidversion ihrer Geräte ein. Hier kann man die bekannten Programme sofort nutzen. Für alle ohne USB-Massenspeichermodus ist diese Anleitung gedacht.


Vorbereitung


  1. Das Androidgerät MUSS gerootet sein. Die Methoden sind für Geräte und Hersteller unterschiedlich. Anleitungen dazu finden sich hier im Forum in den entsprechenden Gerätekategorien.
  2. Die App „Busybox“ muss installiert werden.
    Nach dem Installieren die App öffnen (superuser Anfrage bestätigen) und den Speicherort merken (/bin oder /xbin) und auf installieren drücken
  3. Cygwin unbedingt in der 32-bit Version installieren. Speicherort: [c:\cygwin]
    Die Pakete „pv“ und „util-linux“ müssen installiert werden. Das kann man prüfen indem man den cygwin Ordner öffnet und unter /bin nach „pv“ und „util-linux“ sucht. Sind diese Pakete nicht installiert, startet man die Installations-EXE von cygwin erneut und tippt im Suchfeld die entsprechenden Namen ein. Nach der Installation nochmal im /bin Ordner prüfen, ob die Dateien vorhanden sind
    Den Ordner [c:\cygwin\nexus] anlegen
  4. Netcat.zip entpacken und die nc.exe in den Ornder [c:\cygwin\bin] kopieren
  5. Android SDK herunterladen und die ADB daraus verwenden (Speicherort: [\sdk\platform-tools]
    Es empfiehlt sich stets die aktuellen adb’s zu verwenden. Leider ist der Download des Android SDK sehr gross. Wer einen Link zu einer aktuellen ADB-Version hat, bitte Link posten, dann füge ich diesen hier ein
    ABD in den Pfad einbringen: Windows-Taste + Pause-Taste > Erweiterte Systemeinstellungen > Umgebungsvariablen > unter Systemvariablen (unterer Abschnitt) doppelt auf „Path“ klicken und den Pfad der ADB-Tools angeben (bis zu dem Ordner, indem die adb.exe liegt)
  6. USB-Debugging und Option Aktiv lassen am Androidgerät aktivieren; Einstellungen > Entwickleroptionen > USB-Debugging + Aktiv lassen
  7. VHD-Tool.exe herunterladen und in [c:\cygwin\nexus] kopieren
  8. Piriform Recuva oder ein anderes Datenrettungsprogramm installieren



Im nächsten Schritt müssen wir natürlich entscheiden, welche Partition wir wiederherstellen wollen (z.b. userdata). Diese Angaben sind für die Geräte unterschiedlich. Ich gebe hier in der Anleitung die Partitionen für das GALAXY NEXUS an. Weitere Geräte können hier gefunden werden.


GALAXY NEXUS
Partitionen zur Wiederherstellung (Dank an scandium)

lrwxrwxrwx root root 2012-07-01 01:03 boot -> /dev/block/mmcblk0p7
lrwxrwxrwx root root 2012-07-01 01:03 cache -> /dev/block/mmcblk0p11
lrwxrwxrwx root root 2012-07-01 01:03 dgs -> /dev/block/mmcblk0p6
lrwxrwxrwx root root 2012-07-01 01:03 efs -> /dev/block/mmcblk0p3
lrwxrwxrwx root root 2012-07-01 01:03 metadata -> /dev/block/mmcblk0p13
lrwxrwxrwx root root 2012-07-01 01:03 misc -> /dev/block/mmcblk0p5
lrwxrwxrwx root root 2012-07-01 01:03 param -> /dev/block/mmcblk0p4
lrwxrwxrwx root root 2012-07-01 01:03 radio -> /dev/block/mmcblk0p9
lrwxrwxrwx root root 2012-07-01 01:03 recovery -> /dev/block/mmcblk0p8
lrwxrwxrwx root root 2012-07-01 01:03 sbl -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 2012-07-01 01:03 system -> /dev/block/mmcblk0p10
lrwxrwxrwx root root 2012-07-01 01:03 userdata -> /dev/block/mmcblk0p12
lrwxrwxrwx root root 2012-07-01 01:03 xloader -> /dev/block/mmcblk0p1



Durchführung


  1. Telefon einschalten und per USB-Kabel mit dem Computer verbinden (wer nicht gestört werden will, aktiviert zudem den Flugmodus, auch WLAN kann ausgeschaltet werden)
  2. Gerät entsperren (PIN, Muster, Geste)
  3. Cygwin Terminal am Computer öffnen und folgenden Code eingeben

    Code:
    adb forward tcp:5555 tcp:5555
    adb shell
    su
    /system/bin/busybox nc -l -p 5555 -e /system/bin/busybox dd if=/dev/block/mmcblk0p12
    WICHTIG: Nach Eingabe des su-Befehls erscheint auf dem Androidgerät eine superuser Anfrage von ADB. Diese muss natürlich bestätigt werden.

    WICHTIG: Im Code muss der Speicherort der BusyBox angegeben werden, also muss der Code entsprechend mit /bin oder /xbin angegeben werden.
  4. Zweites Cygwin-Terminal öffnen und folgenden Code einfügen

    Code:
    adb forward tcp:5555 tcp:5555
    cd /nexus
    nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0p12.raw
    Dieser Vorgang dauert bei einer 16GB großen Partition drei Stunden und länger! Das sollte dann so aussehen, wie in Anhang 1 gezeigt. Die Geschwindigkeitsanzeige kann variieren. Das Symbol bewegt sich.


    Es empfiehlt sich eine Sicherungskopie der .raw Datei an einem anderen Speicherort anzulegen!
  5. Die erzeugte .raw Datei muss nun in eine VHD-Datei konvertiert werden. Dazu eine Windows Kommandozeile (cmd.exe) öffnen (ausführen als Administrator nicht nötig) und in den Ordner [c:\cygwin\nexus] navigieren

    Code:
    VhdTool.exe /convert mmcblk0p12.raw
    Dieser Vorgang geht sehr schnell und wird mit einem „complete“ bestätigt (siehe Anhang 2).

    Die Dateiendung muss nun noch manuell von .raw in .vhd geändert. Die Datei befindet sich im Ordner [c:\cygwin\nexus].
  6. Datenträgerverwaltung öffnen (Rechtsklick auf Mein Computer bzw. Dieser PC > Verwalten > Datenspeicher bzw. direkt auf Datenträgerverwaltung

In der Menüleiste unter Aktion > virtuelle Festplatte anfügen wählen und als Speicherort [c:\cygwin\nexus\mmcblk0p12.vhd] angeben

Der „Datenträger“ wird nun geladen und erscheint in der Auflistung der Datenträgerverwaltung (siehe Anhang 3).

Nun auf den Namen (linke Spalte) mit der rechten Maustaste klicken und Datenträgerinitialisierung auswählen. Im Menü GPT (GUID Partitionstabelle) auswählen und bestätigen.

Jetzt auf den nicht zugeordneten Speicherplatz (rechte Spalte) mit der rechten Maustaste klicken und Neues einfaches Volume wählen. Im Assistenten auf weiter klicken, die Volumegröße unverändert lassen und erneut auf weiter klicken und im nächsten Abschnitt einen beliebigen Laufwerksbuchstaben zuordnen (z.B. E) und erneut auf weiter klicken.
Jetzt sicher gehen das „Dieses Volume NICHT formatieren“ ausgewählt ist, sonst sind die Daten in der Datei verloren und man muss von vorne beginnen oder das backup nutzen ;-)
Im nächsten Abschnitt auf fertig stellen klicken.

Mit der rechten Maustaste auf die .raw klicken (rechte Spalte) und Formatieren wählen.
Die Volumenbezeichnung kann unverändert bleiben. Unter zu verwendendes Dateisystem muss unbedingt FAT32 ausgewählt werden. Bei Schnellformatierung muss der Haken gesetzt sein. Das Popup-Fenster mit der Warnung mit OK bestätigen.

Anschließend öffnet Windows den leeren Ordner des Laufwerks.

Im abschließenden Schritt öffnet man das Datenwiederherstellungsprogramm und wählt das entsprechende Laufwerk aus. Es empfiehlt sich einen Tiefenscan durchzuführen.



FAQ

  • Es werden in den Einstellungen keine Entwickleroptionen angezeigt?

    Einstellungen > Über das Gerät > Mehrfach auf die Buildnummer klicken bis das Popup „Sie sind jetzt Entwickler“ erscheint


  • Nach Eingabe des ADB-Befehls wird immer device offline angezeigt.

    Die ADB-Tools sind veraltet. Die aktuellste Version kann immer aus dem Android SDK entnommen werden.

  • Die erzeugte .raw Datei ist 0KB groß und im cygwin Terminal passiert nichts?

    Die superuser Anfrage auf dem Androidgerät wurde nicht bestätigt.

  • Beim Anfügen der virtuellen Festplatte wird beim Navigieren in den Ordner keine Datei angezeigt. Nach dem Auswählen von Alle Dateien (*,*) wirft die Datenträgerverwaltung einen Fehler aus ("Für die angegebene Datei wurde kein Anbieter zur Unterstützung von virtuellen Datenträgern gefunden").

    Nach der erfolgreichen Verwendung des VhdTools wurde die .raw Datei nicht manuell in .vhd geändert.

  • Im Ordner wird keine Dateiendung angezeigt und daher kann diese auch nicht von .raw in .vhd geändert werden.

    Im Ordner in der Menüleiste Ansicht > Optionen > Tab Ansicht > Erweiterungen bei bekannten Dateitypen ausblenden ABwählen

  • Wie navigiere ich in cygwin und in der Windowskommandozeile?

    Ordner wechseln: cd [name des Ordners]
    Einen Ordner zurück: cd..
    Inhalt des aktuellen Ordners anzeigen: dir


Für Rückfragen stehe ich natürlich zur Verfügung.
 

Anhänge

Zuletzt bearbeitet:
cla1966

cla1966

Fortgeschrittenes Mitglied
mit
Code:
adb shell
cat /proc/emmc
lassen sich die MMC mount points von HTC geräten auslesen
cla