Android系统中如何导出分区镜像
source link: https://xugaoxiang.com/2023/08/17/how-to-export-android-image/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Android系统中如何导出分区镜像 - 迷途小书童的Note迷途小书童的Note
- android 9
- mtk方案
本文介绍了如何导出 Android
设备的分区镜像。通过使用 Android Debug Bridge
(ADB
)工具,可以与设备进行通信并获取特定分区的副本,如 system
分区、boot
分区和 recovery
分区。文章提供了简单的步骤指南,导出的镜像文件可以用于设备备份、分析、修改或还原。然而,对设备分区的操作需要谨慎,请确保了解相关风险并遵守法律和政策。
这边的情况是串口输出,因此可以直接进入 Android
系统终端
# 切换到root权限
su
# 保存在本地存储上,by-name文件夹下面有多个镜像,如常见的boot、system、recovery、userdata等,需要哪个就导出哪个
cat /dev/block/platform/$平台/by-name/boot > /mnt/shell/emulated/0/boot.img
# 也可以使用dd命令
dd if=/dev/block/platform/$平台/by-name/boot of=/mnt/shell/emulated/0/boot.img
导出的镜像需要保存下来,这里可以使用系统内的存储位置(要求可写),或者是外部的存储,比如接个 U
盘,然后通过 mount
命令查看设备是否上线以及对应的挂载点,这样就可以写入保存了。
如果无法像我这里一样直接进入系统终端,可以在 PC
上通过网络的方式进行 adb
连接,提前是 Android
设备能够进入开发者模式,这里以 windows
为例,打开 cmd
# 这步需要在设备上确认连接
adb connect $Android设备的IP
# 在连接的 Android 设备上启动一个交互式的 shell 终端
adb shell
# 使用dd导出
dd if=/dev/block/platform/$平台/by-name/boot of=/mnt/shell/emulated/0/boot.img
# 重新开启一个cmd,然后拉取文件到本地电脑
adb pull /mnt/shell/emulated/0/boot.img .
"* daemon not running. starting it now on port 5038 *
ADB server didn't ACK
* failed to start daemon *
error: cannot connect to daemon"
这个错误一般是由于没有执行 su
命令引起的。
如果执行了 su
也无法解决的话,可以先尝试重新启动下 Android
设备,然后去看看端口5038是否已经被打开
netstat -ano | grep 5038
接着重启下 adb
的服务,命令如下
adb kill-server
adb start-server
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK