现在的位置: 首页温馨贴士(Tips), 谷歌(Google)>正文
即使不小心格式化了Galaxy Nexus或Nexus 4的内置SD存储也没关系,因为我们可以找回失去的数据!

在大多数最现代的Android设备上,朝向自定义大门的第一个脚印便是Bootloader引导装置的解锁。就在几年前,Bootloader的解开还曾是一个可怕的和复杂的任务。而今,它已变得很容易,这主要由于各种各样的一键式工具和一体化的工具包的出现,几乎渗透到每款设备,至少新设备是这样。这多亏了存在于Android社区的广大的令人敬畏的开发者们。

在Android的“皇室”家族中,即Nexus系列,它们常常显得有些不同。Nexus设备直接由谷歌发布,这让他们有一定的“特权”,或说优惠的待遇吧,比如操作系统的更新,它们便最先被提供。然而,在较新款的Nexus设备中,这也是Android界的一个较特别的现象吧,就是Google将外部SD卡插槽去掉了,自然,扩展内存一说也无从谈起。

这意味着,我们常需要备份内置SD存储的内容到一个外接存储驱动器,或干脆真接备份到电脑上,这样以抵御因系统错误或一些其他局面而不得不清除数据时的损失。不过,总有一些较为常见确并不会引志很多用户待见的某些情况让设备内部的SD卡数据丢失了,尤其是引导装载程序的解锁。虽然大多数工具和指南都会明确地提及操作将会导致所有内部存储器上的数据被清除,但是,仍然有很多朋友们并没有耐心去看这些,从而忽视了这一点。因此,只是在实现后才发现所有的数据已不见了。兼于此种种情况,我们常在想,要是有一个办法把失去的东西找回来,那该是一件多么美好的事情。

始终,事实证明,这样的弥补方案确实存在。让你的内部记忆体中失去的东西全部找回来,这源于XDA-Developers开发者Wartickler的杰作,让大家有喜了。

我们就来看看具体是怎样进行的,到底如何将我们的内部SD卡中已丢失数据恢复过来。

说明

  • 教程以Google Galaxy Nexus作为举例说明,原则上,Google Nexus 4也适用。不过,根据原开发者的猜想,教程甚至适用于任何没有外部SD扩展存储的Android设备
  • 教程借以Windows 7电脑配合

准备

  • 在你的电脑上安装好Cygwin,请安装到系统盘根目录,如c:\cygwin,确保你一旦打开Cygwin,你将会看到/bin目录被创建,如c:\cygwin\bin。为了放置一个输出的.RAW文件,也请于\cygwin目录创建一个nexus目录,如c:\cygwin\nexus
  • 下载Netcat工具netcat-openbsd-win32-1.10.2.3.zip到电脑,解开,然后将解开的内容中bin文件夹下的nc.exe文件拷贝到c:\cygwin\bin目录
  • 下载VHD工具VhdTool.exe到你的电脑,将其拷贝到c:\cygwin\nexus目录
  • 在电脑上准备一个你最喜欢的数据恢复工具,我们以Piriform的Recuva v1.44版为例
  • 下载Fastboot文件fastboot.exeadb.exeAdbWinApi.dll到电脑
  • 开启设备的USB Debugging(USB调试)模式,一般在设备的Settings——Developer Options(设置——开发者选项)菜单,如若为Android 4.2系统,则请参考:
         开启Android 4.2 Jelly Bean的开发者选项(Developer Options)
  • 在你的电脑上安装Android SDK,然后将fastboot.exe、adb.exe、AdbWinApi.dll文件拷贝到Android SDK的“tools” 或“platform-tools” 目录,并设置好cmd命令提示符默认路径为此目录的变量
  • 你的Google Galaxy Nexus已经取得Root权限,请查看:
         Google Galaxy Nexus全系列机型运用Galaxy Nexus ToolKit整合工具Root、安装定制的Recovery、解锁Bootloader等
         其他Android设备也一样,你可以查查我们的Root专版,或许对你有所帮助
  • 你的Android设备上要安装有BusyBox,我们假定安装路径是/system/bin/busybox,注意,它也可能是/system/xbin/busybox或其他目录

哇呜!准备的工具还真不少噢。不过,你不用产生担心,实际上执行起来并不是很难。先来了解下我们的过程主要是怎样进行的:

  • 备份设备的整个内部内存分区到电脑,以一个单一的.RAW文件,这个文件可能相当庞大
  • 转换.RAW 文件到一个虚拟硬盘(VHD——Virtual Hard Disk)
  • 加载VHD作为一个磁盘于磁盘管理器中
  • 为了已删除的文件扫描附加的VHD卷,然后恢复

简要的过程了解了,心里已有个底啦!而接下来,我们就要学习详细的执行方法喽!要沉静、要仔细、要耐心!你一定行的。

日志分页: 1 2

即使不小心格式化了Galaxy Nexus或Nexus 4的内置SD存储也没关系,因为我们可以找回失去的数据!:目前有30 条留言

  1. 11 : 2013年02月19日11:45 回复

    nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0p12.raw

    bash: pv: command not found
    什么原因

    • hanfei : 2013年02月19日14:27 回复

      Hi朋友!
      新年快乐!
      您是否没有安装好Busybox?

      • 11 : 2013年02月20日09:30 回复

        新年快乐!
        我又重新安装了一下busybox
        busybox应该没问题吧
        安装完system/bin下也没有pv
        这个pv是不是pc上的安装

        • hanfei : 2013年02月21日12:03 回复

          Hi朋友!

          奇怪,昨天晚上我使用Windows XP SP3专业版电脑测试了朋友的Galaxy Nexus没问题呀,是否Cygwin的安装不完整?

          很报谦没有为您解决好问题!
          希望您的问题可以尽快解决!以好让大家都知道相关情况而避免其他用户出现同样的情况.

          祝您生活愉快!

  2. csgfox : 2013年03月19日00:57 回复

    nc 127.0.0.1 5555 / pv -i 0.5 > dcim.raw
    -bash: nc: command not found
    你好,这是什么问题阿?
    buxybox在/system/xbin里面,nc这在这个folder里

    • hanfei : 2013年03月19日12:17 回复

      您好!

      是否Cygwin的安装不完整?

      • csgfox : 2013年03月20日19:41 回复

        您好,
        cygwin是下载这篇文章链接里的,然后运行,在线安装的。
        另,我是nexus4

      • csgfox : 2013年03月20日20:41 回复

        您好。
        是NC忘了放在电脑上了。
        不过现在提示:nc: interval cannot be negative
        另外,咨询下,恢复sdcard/dcim/camera下的照片,因该在命令中:/system/xbin/busybox nc -l -p 5555 -e /system/xbin/busybox dd if=
        输入哪里呢?

        • hanfei : 2013年03月21日15:11 回复

          您好!朋友!

          恢复sdcard/dcim/camera,可以使用整体用户数据的方法来恢复,至于nc: interval cannot be negative,我也不太清楚了,没有研究过耶!要不你同下面的nonigh研究研究看

          很报谦不能给你带来完美的解决方案!

          祝您生活愉快!

  3. nonigh : 2013年03月19日21:21 回复

    cygwin里没有pv命令 自己下一个扔到cygwin/bin里就可以了 另外我也在恢复内置存储数据
    还没研究明白 各种问题 能帮上我的或者需要我帮助的 联系nonigh@gmail.com

    • csgfox : 2013年03月21日18:31 回复

      你好,请问哪里有PV下载啊?

      • hanfei : 2013年03月22日14:28 回复

        Hi朋友!

        这是我的pv for Cygwin,希望对您有所帮助!

        Best Regards!

  4. andrew : 2013年06月04日09:10 回复

    请问为什么执行完 nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0p12.raw这句后,c:/cygwin/nexus/mmcblk0p12.raw文件一直都是0K呢

    • Mytiankong : 2013年06月04日13:03 回复

      Hi andrew!

      我不太明白您的意思,您是说后续工作执行不了吗?

      Best Regards!
      Jesse

  5. 七度小寒 : 2013年07月01日19:27 回复

    大大, $ nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0p12.raw
    58 B 0:00:00 [18.9kiB/s] [
    我执行拷贝下来是这个结果,这个文件夹很明显是有内容的,然后换成其它文件夹也是要么空,要么没有58B,不知道是哪里出了问题……

    • Mytiankong : 2013年07月02日08:42 回复

      您好!七度小寒!

      这个问题,一时之间我也不太清楚,您可以与其他用户们(csgfox、nonigh等)商讨看看他们能否有一个好的解决方案。

      Best Regards!
      Jesse

  6. shuo23 : 2013年08月30日07:44 回复

    仔细按照步骤走到了输入nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0p12.raw,可是毫无反应……
    会不会是因为64位cygwin需要不同的步骤?

    • Mytiankong : 2013年08月30日15:19 回复

      您好shuo23!

      您的文件是mmcblk0p12.raw这么名吗?名字不能出错.另外,您使用的是Cygwin 64位版吗?您安装的是Cygwin-1.7.22-setup-x86_64.exe这个64位版本吗?还有就是您执行这行命令后没有显示什么错误,只是什么都没有显示吗?

      Best Regards!

      • shuo23 : 2013年08月31日20:21 回复

        感谢您的回复。我查了下dev/block,里边有mmcblk0p1~25……我试了1,6,12,24都没有反应。我用的的确是那个文件的64位版本,不过Bin文件夹什么的都没错。我执行这条命令后什么都没有显示,还是只有$

        • Mytiankong : 2013年09月02日11:32 回复

          您好,Shao23!

          您是说您的Cygwin中的Bin文件夹什么的都没有吗?如果这样的话,说明Cygwin安装不完整,那是不可以的,Cygwin的许多执行命令都是位于Bin文件夹的。

          Best Regards!

  7. gg@gg.gg : 2013年09月23日19:22 回复

    博主就不能打包成一个下载吗?一个一个下载很麻烦的

    • Mytiankong : 2013年09月24日09:39 回复

      您好,gg!

      当时写此文的时候,由于按步就班地来的,所以就一个一个传的。要不您帮忙整合一个包,附在评论处,好让其他朋友们都能方便下载。

      Best Regards!

  8. Hobbey : 2013年11月26日00:08 回复

    按照教程,一点一点试了
    一开始遇到pv: command not found
    是因为装cygwin的时候,没选择装pv的两个组件

    最后一步,始终这样
    $ nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0p12.raw
    0 B 0:00:00 [ 0 B/s] [

    不知道为什么卡被我格了几遍
    现在还没敢往里放东西怕覆盖

    想要恢复的东西在DCIM里,能直接挂载它么
    另外这一整套操作在Linux下会不会方便一些

    • Mytiankong : 2013年11月26日11:06 回复

      您好Hobbey!

      非常报谦,我们并没有在Linux下试过,您可以尝试下。而nc的命令那行似乎有不少朋友都碰到过,但由于没有真机在手,具体我们也没有办法确定。希望您能够与其他的朋友们讨论会,看看他们有没有什么更好的解决方案。好希望这个问题能够彻底地解决掉。

      Best Regards!

  9. 水源碎冰 : 2015年03月01日09:50 回复

    我进行到以下步骤时:
    “打开Cygwin Terminal程序,输入:
    adb forward tcp:5555 tcp:5555 ”
    总是出现以下错误:
    “error: device not found”
    重装了usb adb驱动,重新下载新版本的adb工具箱,都不能解决问题,请指教!

    • Mytiankong : 2015年03月01日21:57 回复

      您好,水源碎冰!

      从错误码来看,设备没有与电脑成功连接,我也认为是驱动的问题,但您的驱动重装后仍然不成功,是否没有安装OK?试试通过从最新版的Android SDK来安装。或者Galaxy Nexus试试Samsung的驱动,Nexus 4则试试LG的驱动,Nexus 4也可以看看Stryder5的驱动(mytiankong.com/?p=10288),另Samsung与LG的更多的驱动能从这儿找到(mytiankong.com/?page_id=11558)

      新年快乐!

  10. mou : 2015年04月21日17:06 回复

    你好,我输入
    adb forward tcp:5555 tcp:5555
    cygwin显示:
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    不知是否正常?
    然后我再输入adb shell显示已经连接到安卓设备
    之后输入:/system/xbin/busybox nc -l -p 5555 -e
    结果显示:
    nc: option requires an argument — e
    BusyBox v1.20.2-Stericson (2012-07-04 21:33:31 CDT) multi-call binary.

    Usage: nc [-iN] [-wN] [-l] [-p PORT] [-f FILE|IPADDR PORT] [-e PROG]

    Open a pipe to IP:PORT or FILE

    -e PROG Run PROG after connect
    -l Listen mode, for inbound connects
    (use -l twice with -e for persistent server)
    -p PORT Local port
    -w SEC Timeout for connect
    -i SEC Delay interval for lines sent
    -f FILE Use file (ala /dev/ttyS0) instead of network
    之后再输入:/system/xbin/busybox dd if=/dev/block/mmcblk0p12就提示
    dd: can”t open ”/dev/block/mmcblk0p12”: Permission denied
    疯啦,求助啊~
    另外还请问是否所有GALAXY NEXUS回复分区都是mmcblk0p12?我通过文件大师看这个文件只有0K啊,谢谢!

    • Mytiankong : 2015年04月22日17:35 回复

      您好,mou!

      去XDA原文看看,(forum.xda-developers.com/galaxy-nexus/general/guide-internal-memory-data-recovery-yes-t1994705),那儿有很多的疑问及相关的解答,那儿将助你了解得更透彻。
      不要急躁,慢慢研究。
      希望您的问题尽快解决!

      • mou : 2015年04月27日18:59 回复

        谢谢,我研究研究。。

        • Mytiankong : 2015年04月28日11:57 回复

          您好,mou!

          您的问题解决了好吗?如果您完全地解决了,希望您能帮忙在评论处分享下你的心得,或者,您能详细地写下您的研究,然后Email给我们,我们会完整地以一篇单独的博文来展示它,这样好让更多的读者们受益于您的成果。

          祝您生活愉快!

给我留言

/ 快捷键:Ctrl+Enter