web-dev-qa-db-de.com

Kopieren Sie das vollständige Festplattenabbild von Android auf den Computer

Ich habe ein Smartphone ohne die Möglichkeit, eine SD-Karte einzulegen ... Ich möchte einen Dump der größten Partition erstellen (da ich Dateien verloren habe und ich einen Dump verwenden möchte, um sie wiederherzustellen).

Die Partition ist 10 GB groß.

Ich suchte nach einem ADB-Befehl für pull mit dd, aber nichts ...

Ich habe versucht, Carliv touch recovery mit einem 32-GB-USB-Schlüssel von OTG zu verwenden, aber der USB-Schlüssel konnte nicht eingebunden werden. Dann konnte ich "dd" nicht direkt auf dem Telefon verwenden, indem ich Aroma file manager und eine Terminalemulation verwendete.

Vielen Dank!

14
Alexis_FR_JP

Wie gesagt, adb pull /dev/block/mmcblk0 mmcblk0.img arbeitete für mich. Ein "DD-Image" ist nur eine binäre Image-Datei des Geräts.

20
Alexis_FR_JP

Kurz gesagt: Sie sollten eine Kopie auf Ihrem Computer (vorzugsweise ein SSD-Laufwerk) für eine schnellere und verlustfreie Analyse/Wiederherstellung erstellen. Dies ist ein einfacher Weg, um dies in Windows zu erreichen (Credits für scandium auf xda für den Code, siehe seinen Beitrag für weitere Details ):

  1. install cygwin ( link ). Fügen Sie während der Installation die Pakete netcat (unter Net) und pv (unter util-linux) hinzu.
  2. install adb (über Android Studio, link ). Stellen Sie sicher, dass die Datei adb.exe der Pfadvariablen hinzugefügt wird, um ordnungsgemäß darauf zuzugreifen ( guide ).
  3. Stellen Sie sicher, dass Ihr Gerät gerootet ist und Sie in Ihrem Telefon an einem Standardspeicherort (/ system/xbin) installiert haben.
  4. Öffnen Sie 2 Cygwin-Konsolen und geben Sie schnell hintereinander: .__ ein.
    1. adb forward tcp:5555 tcp:5555 (Daten über TCP-Verbindung weiterleiten)
      adb Shell (Verbindung öffnen)
      su (Root-Zugriff erhalten)
      /system/xbin/busybox nc -l -p 5555 -e /system/xbin/busybox dd if=/dev/block/mmcblk0 (leiten Sie den Befehl dd durch den TCP-Port)
    2. adb forward tcp:5555 tcp:5555 
      nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0.raw (empfangen Sie die Daten über den TCP-Port, speichern Sie sie in mmcblk0.raw)

Dadurch wird die Partition im Benutzerverzeichnis (unter home) des cygwin gespeichert. Die Standardinstallation befindet sich in C:\. Stellen Sie daher sicher, dass Sie über ausreichend Speicherplatz verfügen.

  1. Zum Einhängen der Partition unter Windows können Sie OSFmount ( link ) verwenden. 
  2. Zur Analyse der Dateien empfehle ich Active @ Undelete ( link ), aber es gibt unzählige Alternativen. Mit Active @ Undelete können Sie auch alle Partitionen direkt aus der Datei laden (ohne sie einzuhängen, Schritt 5 ist in diesem Fall überflüssig).
9
user2305193

Als root ausführen:

adb root

Verwenden Sie dd, um Inhalte in stdout auszugeben und Dateien auf Ihrem Computer zu schreiben:

adb Shell 'dd if=/dev/block/platform/msm_sdcc.1/by-name/XXXXXX 2>/dev/null' > XXXXXX.img

Oder alle (siehe cat/proc/partition)

adb Shell 'dd if=/dev/block/mmcblk0 2>/dev/null' > mmcblk0.img
2
Nikola