Der Speicherchip eines Handys (eMMC oder eUFS) ist im System deklariert als
/dev/block/mmcblk0
. Er besitzt immer eine
GUID Partitionstabelle (GPT).
Jede Partition (/system, /vendor usw.) wird dann mit der Erweiterung p1, p2, p3,..., p
n deklariert. Gleichzeitig wird jede Partition mithilfe eines Symlinks auch unter der Partitionsbezeichnung geführt, z.B.:
Code:
/dev/block/bootdevice/by-name/system (=> /dev/block/mmcblk0p1)
Um ein Image des gesamten Handys zu erstellen, musst du also ein Image von
/dev/block/mmcblk0
erstellen. Auf die Verschlüsselung muss keine Rücksicht genommen werden, denn das S5 ist standardmäßig nicht verschlüsselt. Es kann nur über die Einstellungen manuell verschlüsselt werden (Full Device Encryption, FDE).
Jetzt hast du mehrere Möglichkeiten, um auf
/dev/block/mmcblk0
zuzugreifen und dein Image zu erstellen:
- im lfd. System per Terminalapp und Root-Zugriff
- über eine Custom Recovery (TWRP, Orange Fox) und deren Terminalfunktion
- über eine ADB-Verbindung, während du in einer Custom Recovery bist
Wichtig: Eine ADB-Verbindung im lfd. System kann nicht auf
/dev/block/mmcblk0
zugreifen. Festgelegt wird das durch den Eintrag
ro.debuggable
, deren Wert im lfd. System immer 0 ist. Bei einer Custom Recovery z.B. ist er immer 1 und somit hat ADB hier die Zugriffsrechte (s.
getprop ro.debuggable
).
Der eleganteste Weg wäre in der Custom Recovery via ADB-Verbindung:
Code:
adb pull /dev/block/mmcblk0
Der Befehl erstellt das Image 'mmcblk0' in dem Verzeichnis, in dem sich deine cmd.exe aktuell befindet.
Besitzt die Custom Recovery eine Terminalfunktion:
Code:
dd if=/dev/block/mmcblk0 of=/external_sd/mmcblk0.img
Hierbei musst du beachten, dass das Image logischerweise nicht im internen Speicher erstellt werden darf, da der interne Speicher ein Teil des Images selbst ist! Glücklicherweise besitzt das Galaxy S5 einen Slot für eine SD-Karte. Möglich wäre aber auch ein USB-Stick.
Im laufenden System per Terminalapp und Root-Zugriff:
Code:
su
dd if=/dev/block/mmcblk0 of=PFAD_SD-KARTE|PFAD_USB-STICK
Diese Lösung ist natürlich sehr "unsauber", da du in deinem Image eine Kopie von
/data
erstellst, während
/data
vom System genutzt und beschrieben wird. Aber als Ergebnis erhältst du trotzdem ein Image des gesamten Handys.