将完整磁盘映像从Android复制到计算机

时间:2015-04-04 04:11:57

标签: android adb

我有一部智能手机,无法插入SD卡。 我想转储最大的分区(因为我丢失了文件而且我想使用转储来恢复它们)。

分区为10GB。

我正在使用ADBpull寻找dd命令,但没有...

我尝试使用OTG的32GB usb密钥Carliv touch recovery,但USB密钥没有安装...然后我无法使用" dd"直接在手机上使用Aroma file manager和终端仿真。

谢谢!

3 个答案:

答案 0 :(得分:23)

正如评论中所述,adb pull /dev/block/mmcblk0 mmcblk0.img为我工作。 A" DD图像"只是设备的二进制图像文件。

答案 1 :(得分:10)

简而言之:您需要在计算机上制作副本(最好是SSD驱动器),以便更快,无损地进行分析/恢复。这是在Windows中实现此功能的简便方法(代码为on xda的代码see his post for more details):

  1. 安装cygwin link)。在安装过程中,添加netcat(在Net下)和pv(在util-linux下)包。
  2. 安装adb (通过Android Studio,link)。确保将adb.exe添加到路径变量中以正确访问它(guide)。
  3. 确保您的设备已植根并且您已在标准位置(/ system / xbin)的手机上安装了busybox
  4. 打开2个cygwin控制台,然后快速输入
    1. adb forward tcp:5555 tcp:5555(通过tcp连接转发数据)
      adb shell(打开连接)
      su(获得root访问权限)
      /system/xbin/busybox nc -l -p 5555 -e /system/xbin/busybox dd if=/dev/block/mmcblk0(通过tcp端口传递dd命令)
    2. adb forward tcp:5555 tcp:5555
      nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0.raw(通过tcp端口接收数据,保存在mmcblk0.raw中)
  5. 这会将分区保存在cygwin的用户目录(home下)中。标准安装位于C:\,因此请确保您事先有足够的磁盘空间。

    1. 要在Windows中安装分区,您可以使用OSFmount(link)。
    2. 要分析文件我建议使用Active @ Undelete(link),但有很多选择。使用Active @ Undelete,您还可以直接从文件加载所有分区(无需安装,因此在这种情况下,步骤5是多余的)。

答案 2 :(得分:6)

以root身份运行:

adb root

使用dd将内容输出到计算机上的stdout和write文件中:

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

或全部(参见cat / proc / partitions)

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