前言全局说明
某些原因,软件不能正确读取手机分区信息,那么就要手动创建脚本来备份
注意:刷机,会丢失用户:照片、聊天等信息资料。请备份基带等信息。请慎重刷机 !!!
注意:刷机,会丢失用户:照片、聊天等信息资料。请备份基带等信息。请慎重刷机 !!!
注意:刷机,会丢失用户:照片、聊天等信息资料。请备份基带等信息。请慎重刷机 !!!
一、说明
1.1 环境:
Windows 7 旗舰版
OPPO R9m Android 5.1(Color 3.0) MT6775
1.2 adb相关命令汇总
https://www.cnblogs.com/wutou/p/17930583.html
二、查找分区、外置存储卡路径
2.1 在挂载信息里找 by-name
cat /proc/mounts|grep "by-name"
因为不同版本和厂商等原因,by-name不一定在同一路径下
2.2 by-name路径汇总
高通
/dev/block/bootdevice/by-name
联发科MTK
/dev/block/by-name
下面路径是:OPPO R9m Android5.1(Color3.0)
/dev/block/platform/mtk-msdc.0/by-name
2.3 外置存储卡路径:
/mnt/media_rw/sdcard1
三、创建img备份脚本
3.1 新建备份文件夹
mkdir -p /mnt/media_rw/sdcard1/000_Backup/
3.2 创建脚本
根据上面获取信息,修改下面命令,生成脚本。
将下面内容一次全部复制,粘贴在 adb 命令行窗口。
ls /dev/block/platform/mtk-msdc.0/by-name | grep -ixvE "userdata|cache" | while IFS= read -r name; do echo "dd if=/dev/block/platform/mtk-msdc.0/by-name/$name of=/mnt/media_rw/sdcard1/000_Backup/$name.img" >> /mnt/media_rw/sdcard1/000_Backup/001_Backup.sh; echo "fastboot flash $name $name.img" >> /mnt/media_rw/sdcard1/000_Backup/002_Restore.bat; done
001_Backup.sh 是备份脚本,在手机里执行
002_Restore.bat 是手机启动fastboot模式后,在Win下执行的恢复脚本
放在外置存储的目的是因为备份文件可能大,内存存储放不下。
001_Backup.sh 不创建 userdata(apk、视频、照片等用户数据) 、cache(缓存临时文件)的img文件
3.3 如果信息正确,将在目录下生成两个文件。
3.4 执行 sh 脚本开始备份
sh 001_Backup.sh
有些机器不识别 sh 可以用 bash
执行备份,等待即可,速度快慢取决于你手机配置高低。
3.5 校验镜像完整性
3.5.1 用md5生成校验信息
cd /mnt/media_rw/sdcard1/000_Backup/ && md5sum * > /mnt/media_rw/sdcard1/000_Backup/003_MD5Hsah.txt
有些机器没有 md5sum 这个命令,所以会执行不成功
3.5.2 把命令 md5sum 换成 md5
cd /mnt/media_rw/sdcard1/000_Backup/ && md5 * > /mnt/media_rw/sdcard1/000_Backup/003_MD5Hsah.txt
另:通过 ls /system/bin 查看里面都支持那些命令
3.6 打包文件
文件太多,一个个传输比较慢,打包传输快些。
cd /mnt/media_rw/sdcard1/ && tar -zcpvf PartitionBackup_OPPO-R9m-Android5.1_Color3.0_\$(date +'%Y%m%d-%H%M').tgz 000_Backup
有些机器没有 tar 这个命令,所以会执行不成功
通过查看 在线Android5.1源码,目录下确实没有tar命令源码,https://www.androidos.net.cn/android/5.1.0_r3/xref/system/core/toolbox
3.7 传输文件
3.7.1 方式1,使用命令:
adb pull /mnt/media_rw/sdcard1/000_Backup/ D:\000_Backup\
文件名有中文,传电脑上会乱码,尤其是Win7。
Android 编码默认是utf8, win7默认是gb2312,win11默认是utf8
3.7.2 方式2,读卡器器传输:
因为没有打包命令,文件太多,一个个传,怕漏掉。
直接把外置存储TF卡放读卡器里传到电脑。
四、源文章
4.1 原文链接
【备份手机字库基带方法(使用命令备份)-哔哩哔哩】 https://b23.tv/1104cB8
4.2 原文截图
注意:在手机里和电脑上查看内容显示有不同。
在手机里查看这句话显示:如果是联发科机型,请将下面命令中的/dev/block/bootdevice/by-name 修改为/dev/block/by-name 。
在电脑上查看就少了路径,如果是联发科机型,请将下面命令中的 修改为 。
幸亏在手机先看到,要不还以为文章又是残缺的版本。
可能是浏览器的问题
免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。
参考、来源:
https://www.baidu.com/s?ie=UTF-8&wd=%2Fdev%2Fblock%2Fby-name&tn=75144485_1_dg&ch=8 (2.1)