华为手机MATE10所有分区备份与数据恢复方法

华为手机MATE10所有分区备份与数据恢复方法
作者:爱吃干锅牛肉的喵
时间2020-3-23

前言:
前段时间笔者手机的root权限出问题,误操作重破解ROOT权限导致数据全部wipe并且系统也坏了。没办法重刷机。因为重新刷机,分区表结构都变了。以及用户分区文件系统是F2FS,很多数据恢复PC软件无法识别。在此提醒各位系统操作风险较大,没事别瞎JB折腾,否则后果自负。全盘恢复有一个好处就是连/DATA分区也备份了。应用数据包含在内。

以下回顾一下全盘完整备份的方法,备用。

(1)
手机需要解锁,解锁会清空所有数据,必须提前备份。
(2)
手机需要root,同时会清空所有数据,必须提前备份。
(3)
电脑准备adb调试,手机打开开发者USB调试,方法在设置-系统-关于手机连点N下版本号提示已处于开发者模式说明打开。
(4)
进入设置-系统-开发人员选项打开USB调试|仅充电模式下允许ADB调试|关闭监控ADB安装应用(可选)
(5)
电脑安装ADB工具包和CYGWIN的NC工具包或虚拟机安装LINUX(虚拟机安装系统方法不详细开展)
(6)
手机经过ROOT安装BUSYBOX并将BUSYBOX安装到/system/bin
(7)
命令部分:
电脑打开CMD,进入ADB文件夹执行
adb forward tcp:[端口号去掉中括号] tcp:[端口号去掉中括号]#安卓手机到电脑的端口映射
adb shell #进入安卓命令行
su #取root权限
cat /proc/partitions #查看安卓分区表
观察结果得知
major minor  #blocks  name
设备   分区编号  数据块  分区卷标

数据块最大那个就是整个分区表内容。

例如华为MATE10的
   8       48   62464000 sdd
SDD就是,本人手机是64G闪存的。
(8)
ADB中执行命令 
/system/bin/busybox nc -l -p [端口号去掉中括号] -e /system/bin/busybox dd if=[/dev/block/全盘分区挂载点]
全盘分区挂载点可以通过刚刚执行的命令cat /proc/partitions查看到

例如我的手机是 /dev/block/sdd

(9-1)
打开CYGWIN,要在windows中提前安装好cygwin
 #cygwin的路径自己配置,百度上找配置方法,并安装好NC;
(9-2)
安装一个虚拟机LINUX系统并配置好NC;ADB;百度上找配制配置方法;
二选一

(10-1)
输入“export PATH=”/cygdrive/c/ab”:$PATH”回车。
输入“adb forward tcp:[端口号去掉中括号] tcp:[端口号去掉中括号]”回车。
输入“nc 127.0.0.1 [端口号去掉中括号] > 镜像文件名.img”回车。
漫长的等待
(10-2)
启动虚拟机系统,打开终端执行nc 127.0.0.1 [端口号去掉中括号] > /挂载点/镜像文件名.img
漫长的等待
使用U盘|移动硬盘|网络共享等把镜像复制到物理主机
(11)打开R-STUDIO 这个可以识别镜像内各个分区,使用无格式|raw扫描
Active@ UNERASER;diskgenius;easyrecovery等PC数据恢复软件均可
再次漫长等待。
提取文件

此方法同样适用于系统备份还原,等于windows的ghost克隆系统。
还原方法为逆操作 打开一个CYGWIN或linux虚拟机终端

输入命令
nc -l -p [端口号去掉中括号] -e dd if=/挂载点/镜像文件名.img

再次打开一个CYGWIN或linux虚拟机终端

adb forward tcp:[端口号去掉中括号] tcp:[端口号去掉中括号]#安卓手机到电脑的端口映射
adb shell #进入安卓命令行
su #取root权限
127.0.0.1 [端口号去掉中括号] > /dev/block/全盘分区挂载点

参考资料网站
教程:手机数据恢复 教你恢复安卓设备内置存储中已删除的文件
http://www.intohard.com/article-218-1.html

linux使用dd命令拷贝和恢复镜像
https://blog.csdn.net/robothj/article/details/79776050

本人比较懒,不截图了。如有不明白的,欢迎评论讨论,小白瞎折腾,各路大神勿喷。

你可能感兴趣的:(华为手机MATE10所有分区备份与数据恢复方法)