I am quite new to Android and I would like to be able to make a complete backup of an Android smartphone storage so that I can restore everything in case I mess it up or it breaks. My plan is to buy another phone of exactly the same model and restore my image to it so that I get exactly the same system back as the old one was at the time of the backup.
I have some experience doing this with a laptop. In this case I boot the laptop using an external USB stick with a live Linux distribution (let's say the USB stick is
/dev/sdb after boot), attach an external drive (seen as
/dev/sdc) that is larger than my laptop's internal disk (
/dev/sda). From the live system I then do something like:
# mount /dev/sdc1 /mnt # dd if=/dev/sda of=/mnt/sda.img # umount /mnt # reboot
The procedure for restoring the image is similar.
I have found some guides and questions on how to do this on Android but most of them show how to backup user files or individual partitions, which is not what I want.
I illustrate my questions with reference to this guide (from which I would prefer the adb + dd method, because it does not require to install additional software).
Question 1 The guide says that I should root the device: why is this needed?
Question 2 The guide shows how to make images of individual partitions but I would like to make an image of the whole system device with something like
dd if=/dev/mtd of=...
Would this work at all? Since I have to boot the device in order to connect to it with adb, will one or more partitions be mounted? Of course, I do not want this: all filesystems should be unmounted while I perform the backup.
Question 3 Is it possible to transfer the image over to my laptop directly, without writing it to an SD-card?