将完整磁盘映像从 Android 复制到计算机
Copy full disk image from Android to computer
我有一个 smartphone 无法插入 SD 卡。
我想转储最大的分区(因为我丢失了文件,我想使用转储来恢复它们)。
分区为10GB。
我一直在寻找 ADB
使用 dd
到 pull
的命令,但什么都没有...
我尝试通过 OTG 将 Carliv touch recovery
与 32GB USB 密钥一起使用,但 USB 密钥未安装...然后我无法直接在 phone 上使用“dd”使用Aroma file manager
和终端仿真。
谢谢!
我不明白为什么他们通过链接一个完全不同的问题来关闭一个已经被接受的答案的问题。复制文件和复制分区是两件事。
运行 作为根:
adb root
使用dd将内容输出到stdout并在您的计算机上写入文件:
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
您想将磁盘从您的 android 设备复制到您的计算机(最好是在您最快的驱动器上)以获得更快和无损 analysis/recovery。
这是在windows中的简短分步指南(linux:向下滚动)使用 linux 工具 dd
来实现它,该工具旨在精确地按位复制数据。功劳归于钪 on xda for the code, see his post for more details。
先决条件
Windows:
- 安装cygwin。在安装过程中,添加
netcat
(在 Net 下)和 pv
(在 util-linux
下)包;标准安装位于 C:\
,因此请确保您事先有足够的磁盘 space;
安装adb e.g. through Android Studio. Make sure to add adb.exe
executable file to the path variable to access it properly (guide).
打开两个cygwinconsoles/terminals(一个发送数据,一个接收数据)在其中一个终端输入进入设备:
# terminal 1
adb forward tcp:5555 tcp:5555 # forward data over tcp connection
adb shell # open a connection
su # gain root access
BUSYBOX=/system/xbin/busybox # default location for most bb installers
# note: adapt the variable `BUSYBOX` to point to your install directory
# the TWRP default is `BUSYBOX=/sbin/busybox` (in case of bricked device)
决定要复制的分区,/dev/block/mmcblk0
分区通常是包含您通常需要的数据的分区。
在下面的代码中,根据4修改分区名,快速依次输入terminal 1
和terminal 2
:
# terminal 1
$BUSYBOX nc -l -p 5555 -e $BUSYBOX dd if=/dev/block/mmcblk0
# terminal 2
nc 127.0.0.1 5555 | pv -i 0.5 > $HOME/mmcblk0.raw
This saves the partition in the cygwin home directory (in a nutshell: it sends/receives output of dd
over a tcp connection)
看文件/分析
要挂载 Windows 中的分区,您可以使用 (OSFmount)。
要分析我推荐的文件 Active@ Undelete 但是有很多选择。使用该程序,您还可以直接从文件加载所有分区(无需安装它,因此在这种情况下第 5 步是多余的)。
GNU/Linux 用户指南:安装netcat
和pv
(第 1 步),使用 Disks 实用程序分析
正如评论中所说,adb pull /dev/block/mmcblk0 mmcblk0.img
对我有用。 "DD image"只是设备的二进制映像文件。
我有一个 smartphone 无法插入 SD 卡。 我想转储最大的分区(因为我丢失了文件,我想使用转储来恢复它们)。
分区为10GB。
我一直在寻找 ADB
使用 dd
到 pull
的命令,但什么都没有...
我尝试通过 OTG 将 Carliv touch recovery
与 32GB USB 密钥一起使用,但 USB 密钥未安装...然后我无法直接在 phone 上使用“dd”使用Aroma file manager
和终端仿真。
谢谢!
我不明白为什么他们通过链接一个完全不同的问题来关闭一个已经被接受的答案的问题。复制文件和复制分区是两件事。
运行 作为根:
adb root
使用dd将内容输出到stdout并在您的计算机上写入文件:
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
您想将磁盘从您的 android 设备复制到您的计算机(最好是在您最快的驱动器上)以获得更快和无损 analysis/recovery。
这是在windows中的简短分步指南(linux:向下滚动)使用 linux 工具 dd
来实现它,该工具旨在精确地按位复制数据。功劳归于钪 on xda for the code, see his post for more details。
先决条件
Windows:
- 安装cygwin。在安装过程中,添加
netcat
(在 Net 下)和pv
(在util-linux
下)包;标准安装位于C:\
,因此请确保您事先有足够的磁盘 space; 安装adb e.g. through Android Studio. Make sure to add
adb.exe
executable file to the path variable to access it properly (guide).打开两个cygwinconsoles/terminals(一个发送数据,一个接收数据)在其中一个终端输入进入设备:
# terminal 1
adb forward tcp:5555 tcp:5555 # forward data over tcp connection
adb shell # open a connection
su # gain root access
BUSYBOX=/system/xbin/busybox # default location for most bb installers
# note: adapt the variable `BUSYBOX` to point to your install directory
# the TWRP default is `BUSYBOX=/sbin/busybox` (in case of bricked device)
决定要复制的分区,
/dev/block/mmcblk0
分区通常是包含您通常需要的数据的分区。在下面的代码中,根据4修改分区名,快速依次输入
terminal 1
和terminal 2
:
# terminal 1
$BUSYBOX nc -l -p 5555 -e $BUSYBOX dd if=/dev/block/mmcblk0
# terminal 2
nc 127.0.0.1 5555 | pv -i 0.5 > $HOME/mmcblk0.raw
This saves the partition in the cygwin home directory (in a nutshell: it sends/receives output of
dd
over a tcp connection)
看文件/分析
要挂载 Windows 中的分区,您可以使用 (OSFmount)。
要分析我推荐的文件 Active@ Undelete 但是有很多选择。使用该程序,您还可以直接从文件加载所有分区(无需安装它,因此在这种情况下第 5 步是多余的)。
GNU/Linux 用户指南:安装netcat
和pv
(第 1 步),使用 Disks 实用程序分析
正如评论中所说,adb pull /dev/block/mmcblk0 mmcblk0.img
对我有用。 "DD image"只是设备的二进制映像文件。