TF101 Android: Image block device via adb
I have an Asus TF101 tablet running Android ICS. I am trying to image the entire internal flash file system onto my desktop via adb. The problem is that the image I am obtaining appears to be corrupted:
On my desktop I am using Ubuntu 12.10:
adt-bundle-linux-x86-20131030/sdk/platform-tools/adb shell su -c "dd if=/dev/block/mmcblk0" | pv > mmcblk0.raw
I am then trying to use this image with:
testdisk mmcblk0.raw
Unfortunately testdisk finds only nonsensical partition data even using a deep search. Attempting to list any of the files contained in these admittedly non-sensical partition results in a corrupt filesystem error.
Even when trying to read out only a single partition, e.g.
adt-bundle-linux-x86-20131030/sdk/platform-tools/adb shell su -c "dd if=/dev/block/mmcblk0p7" | pv > mmcblk0p7.raw
the resulting partition image seems corrupted. Trying to mount via a loop device fails with corrupt filesystem errors. Running fsck on the image floods me with non-ending file-system errors.
Any hint on what I am doing wrong here?
I know this topic is old, but this could help someone: If you can install a modded recovery it would be very useful, dumping with system on is not always a good idea. Then try this:
adb shell "dd if=/dev/block/mmcblk0" | dd of=mmcblk0
The filesystem should be unmounted when executing a dump for best results.