在开始之前先介绍一些数据恢复方面的基础知识:
想必大家在平常使用可存储设备(包括电脑、手机、U盘、移动硬盘等等)都会有遇到这种情况:不小心删除(包括直接删除、清空回收站、格式化、重新分区等)了一些存储中的重要数据,但是苦于不懂数据恢复,在外面去恢复动不动就收费几百上千甚至上万元,要是财力允许还好,否则就只能悔不当初。
好的话自己还可以再把之前删除的东西重新做一遍,只是多花点时间而已,但是实际上多数时候这些东西都是不可能再重做的(比如重要的照片等)。这个时候懂一些数据恢复方面的知识将会帮你很大的忙。
简单地说,我们使用的存储设备,在使用前都要格式化,此时文件系统会把整个卷按照一定大小分成若干个很小的区域,我们的数据就存储在这一个个小的区域中,然后建立文件的时候,文件系统会创建一个索引链接到该文件的存储位置。
在删除文件时,多数情况下(只要你不是用其他数据覆盖了该区域)都只是将该文件在硬盘中的索引删除,而文件还是完整无损的躺在存储设备中,此时可以用数据恢复软件再将其恢复出来。这就是数据恢复的原理。
切记:
一旦发现误删除了数据,一定要及时做好恢复前的准备工作:千万不要再对该存储介质进行读写操作,因为任何一次多余的操作都可能会将原来存储数据的区域覆盖,而一旦被覆盖,要想再恢复回来就比较困难了。
即使用软件恢复回来的文件,很多时候也都不可再用,需要用更加专业的设备或软件才能进一步恢复,而且这也只是部分地恢复。所以,切记这一点!
看到这里想必你已经对数据恢复有了一定了解,下面就让我们开始进入正题:如何对手机的内置存储进行恢复(SD卡建议用读卡器连接电脑进行恢复)。
首先,你需要:
1.已经取得了root权限的Android手机一部(比如我自己来说,就是Note 2国行单卡版N7100和HTCNew One电信双卡版802D)。
2.已经安装了busybox(注意:必须安装在/system/bin目录下,而不是/system/xbin,可以使用“Busybox Pro”进行安装)。
3.已经在您的电脑上装好了必要的驱动程序。
4.下载恢复工具“Recovery Tool.rar”。(下载地址在最后面)
5.下载“Recuva”。该软件用于恢复你的数据,或者你可以使用您自己喜欢的数据恢复软件,但是我还是建议使用“Recuva”。(下载地址在最后面)。
操作步骤:(以下操作都以N7100为例)
1.打开手机的“设置”->“开发者选项”,开启“保持唤醒”和“USB调试”。
2.连接您的手机到电脑,并安装好驱动。
3.将下载好的 “Recovery Tool.rar” 解压到“C:\”(解压后你会发现两个文件夹:“AB”和“Cygwin”。)
注意:请确保你的C盘有足够的空间,至少有相同于手机内置存储空间大小,我的16G版N7100大概是10.6G左右,如果C盘空间不够,可以解压后将“Cygwin”文件夹移动到其他盘也可以操作,只需把后面教程中相关的“C:”替换为对应盘符即可。
4.到开始菜单“所有程序”->“附件”,以管理员身份运行“命令提示符”,(XP下直接点击“开始”->“运行”,输入“CMD”回车即可)。
5.在打开的命令提示符窗口中输入“cd c:\ab\”回车。
6.输入“adb devices”回车。
**确认在设备列表下面回显了一串数字(即你手机的IMEI号)。
7.输入“adb Shell”回车,再输入“mount”回车。
注意:接下来的事情比较重要了,刚刚输入的命令会给出一个很长的列表,你需要在里面找到“dev/block/mmcblkopXX” /data(或者user data)”。XX可能是任何数字。在N7100和N7105中,“mmcblk0p16”是数据分区。最后这两个数字会因为不同的设备而不同,只要注意该分区名称“/data”就行。比如我的N7100就是“mmcblk0p16”,而802d是“mmcblk0p40”。
8.关闭命令行窗口。打开“我的电脑”->“C:\” ->“Cygwin”->运行“Cygwin.bat”打开“Cygwin Terminal”。
9.输入“export PATH=”/cygdrive/c/ab”:$PATH”回车。
10.输入“adb forward tcp:5555 tcp:5555”回车。
11.输入“adb shell”回车。
12.输入“su”回车,此时手机上会提示权限请求。
13.在手机上授权“Superuser”权限请求给ADB shell(成功后Cygwin 终端中的“[md:content]rdquo;会变成“#”)。
14.接着在“#”后面输入“/system/bin/busybox nc -l -p 5555 -e /system/bin/busyboxdd if=/dev/block/mmcblk0p16”回车。
15.最小化该Cygwin窗口,打开另一个“Cygwin Terminal”:“我的电脑”->“C:\”->“Cygwin”->运行“Cygwin.bat”。
16.输入“export PATH=”/cygdrive/c/ab”:$PATH”回车。
17.输入“adb forward tcp:5555 tcp:5555”回车。
18.输入“cd /aa”回车。
19.输入“nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0p16.raw”回车。
20.现在让命令运行,这会花费较长时间,我自己的用了将近半个小时才完成。
21. 再到开始菜单“所有程序”->“附件”,以管理员身份运行“命令提示符”,(XP下直接点击“开始”->“运行”,输入“CMD”回车即可)。
22.输入“cd c:\cygwin\aa\”回车。
23.输入“VhdTool.exe /convert mmcblk0p16.raw”回车。
24.现在关闭全部命令行窗口,在桌面“我的电脑”点右键->“管理”。
25.在打开的窗口中选择“存储”->“磁盘管理”。
26.在菜单中选择“操作”->“附加VHD”。
27.在位置栏输入“c:\cygwin\aa\mmcblk0p16.raw”,点击“确定”。
28. 加载完后,右边显示为“未分配”的磁盘空间,右键单击左边的该磁盘名称(比如我的是“磁盘 3”),选择“初始化磁盘”。
29.在“初始化磁盘”窗口中选中“GPT (GUID 分区表)”复选框,并点击“确定”。
30.在显示“未分配”的磁盘空间上右击,选择“新建简单卷”。
31.在打开的向导中点击“下一步”,各选项使用默认设置,为该磁盘选择一个盘符(比如我选的是“N”),再“下一步”,确认此处一定要选中“不要格式化这个卷”复选框,点击“下一步”,“完成”。
32.此时会弹出窗口询问是否要格式化,此时选择“取消”不要格式化。
33. 在新的RAW分区上点右键,“格式化”,确保你选择的文件系统格式为“FAT32”,设置分配单元大小为“默认”,并确保“执行快速格式化”复选框为选中。你一定不想用“0”全部填充该分卷,这会损坏你的数据。“快速格式化”意味着它只会尝试删除该分卷的索引并创建一个新索引。如果未选中该复选框,Windows操作系统会用“0”填充整个分区,从而损坏你的数据。最后点击“确定”。
34.此时会弹出窗口询问“格式化此卷将清除其上的所有数据”。如果此时你还不确信之前是否选择了“执行快速格式化”请取消并再次确认,然后再选择“确定”。
35.打开Piriform Recuva程序,在向导中点击“下一步”,选择“所有文件”,再点击“下一步”,选择“在特定位置”,输入“N:\”或者点击“浏览”选择N盘,再点击下一步,选中启用“启用深度扫描”。
36.程序可能会花费较长时间来完成“深度扫描”。
37.一旦该程序完成扫描,你就可以通过复选框选择需要恢复的文件,然后点击“恢复...”并选择你要恢复文件到哪个位置,最后“确定”。
38.等待你选择的文件恢复完成。如果有部分文件恢复后打不开,说明已经有部分数据被覆盖或者丢失,需要进一步修复,过程相当复杂,在此就不提供了,请谅解。