3

Android系统中如何导出分区镜像

 1 year ago
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.
neoserver,ios ssh client

Android系统中如何导出分区镜像 - 迷途小书童的Note迷途小书童的Note

> 操作系统 > Android > Android系统中如何导出分区镜像
  • android 9
  • mtk方案

本文介绍了如何导出 Android 设备的分区镜像。通过使用 Android Debug BridgeADB)工具,可以与设备进行通信并获取特定分区的副本,如 system 分区、boot 分区和 recovery 分区。文章提供了简单的步骤指南,导出的镜像文件可以用于设备备份、分析、修改或还原。然而,对设备分区的操作需要谨慎,请确保了解相关风险并遵守法律和政策。

这边的情况是串口输出,因此可以直接进入 Android 系统终端



  1. # 切换到root权限
  2. su
  3. # 保存在本地存储上,by-name文件夹下面有多个镜像,如常见的boot、system、recovery、userdata等,需要哪个就导出哪个
  4. cat /dev/block/platform/$平台/by-name/boot > /mnt/shell/emulated/0/boot.img
  5. # 也可以使用dd命令
  6. dd if=/dev/block/platform/$平台/by-name/boot of=/mnt/shell/emulated/0/boot.img

导出的镜像需要保存下来,这里可以使用系统内的存储位置(要求可写),或者是外部的存储,比如接个 U 盘,然后通过 mount 命令查看设备是否上线以及对应的挂载点,这样就可以写入保存了。

如果无法像我这里一样直接进入系统终端,可以在 PC 上通过网络的方式进行 adb 连接,提前是 Android 设备能够进入开发者模式,这里以 windows 为例,打开 cmd



  1. # 这步需要在设备上确认连接
  2. adb connect $Android设备的IP
  3. # 在连接的 Android 设备上启动一个交互式的 shell 终端
  4. adb shell
  5. # 使用dd导出
  6. dd if=/dev/block/platform/$平台/by-name/boot of=/mnt/shell/emulated/0/boot.img
  7. # 重新开启一个cmd,然后拉取文件到本地电脑
  8. adb pull /mnt/shell/emulated/0/boot.img .


  1. "* daemon not running. starting it now on port 5038 *
  2. ADB server didn't ACK
  3. * failed to start daemon *
  4. error: cannot connect to daemon"

这个错误一般是由于没有执行 su 命令引起的。

如果执行了 su 也无法解决的话,可以先尝试重新启动下 Android 设备,然后去看看端口5038是否已经被打开



  1. netstat -ano | grep 5038

接着重启下 adb 的服务,命令如下



  1. adb kill-server
  2. adb start-server

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK