• [SSH]iPhone发生意外时,如何备份iPhone中的数据


    相信喜欢折腾iPhone的果粉,对下面2张图并不陌生,下面两张图就是我们在折腾iPhone时可能会遇到的情况。

                    

    注:

    左图是恢复模式时的界面,和DFU模式有点不同。开机如果直接显示该界面,说明机子可能因刷机或其它原因进入恢复模式,无法正常退出。在此情况,一般需要用一些工具(如红雪,小雨伞等工具)来将机子踢出该模式。

    右图为苹果的logo,俗称白苹果,正常开机的话,加载时间只有几分钟,如果开机过程中卡在白苹果界面的话,一直都进不了主屏幕,那么便是机器白苹果了。

    遇见上述情况的话,最常见的解决方法就是通过刷机了,但是刷机的话,手机里面的现有数据如照片短信联系人还有程序备份等重要数据将会全部丢失,如果有用iTunes备份的习惯,还可以从备份中恢复一部分数据,因为很少有人每天都用iTunes备份。如果没有iTunes备份的话,那就真的无力回天了?

    经过百度,Google搜索后,终于找到了无iTunes备份解决方案,那就是利用SSHDFU模式下备份iPhone数据,原理就是将手机进入DFU模式,然后通过工具建立SSH通道,最后使用SSH客户端将数据备份。下面将详细介绍如何建立SSH通道,如何使用SSH客户端传输数据等。

    使用环境及工具列表

    1. Java6运行环境,JRE6Update37:网盘下载
    2. ssh_rd_rev04a:网盘下载
    3. 退出恢复模式工具Exit_Recovery_Mode.zip:网盘下载
    4. Putty:官方下载 网盘下载
    5. Winscp:官方下载 网盘下载

    教程开始

    * Step1,将手机进入DFU模式;

    1. 如何进入DFU模式,如果手机还在白苹果,同时按下HOME+POWER直至屏幕变黑。然后按住POWER键,松开HOME键,出现白苹果的时候,再同时按下HOME键,开始默数,正常的话手机屏幕会再次变黑,当数到10的时候,保持HOME键按住,松开POWER键,再默数15下。基本上都可以进入DFU模式。

    * Step2,利用ssh_rd_rev04a.jar工具虚拟个ramdisk,用来建立和iPhone连接的SSH通道,并获取登录用户名和密码;

    1. 这里要注意,ssh_rd_rev04a.jar是java的可执行文件,所以该工具正常运行的前提是您的电脑已经正常安装JRE(Java Runtime Environment),即java运行环境。

    2. 打开ssh_rd_rev04a.jar,启动正常后会出现如下窗口:

        

    3. 如果提示“Connect a device in DFU mode”,即请连接DFU模式的iDevice。这里的iDevice指的是iPhone,iPod等苹果产品。如果出现其它提示,比如:

        

      注意上图中红色框内的内容,错误提示是1.要求安装iTunes9或更新版本,以及2.无法绑定2202端口。但很大可能是您的java版本过新,不被该工具支持。解决方法,除了确认iTunes版本是9以上外,将电脑上的jre卸载掉,然后在文章开头下载jre6,并安装。安装后,再重新打开ssh_rd_rev04a.jar工具,应该就可以正常运行了。

    4. 将已进入DFU模式的iPhone连接到电脑,该工具会自动识别并加载,我们所需要的只是安静等待而已,工具窗口内不断更新进度信息。过几分钟一切就绪后,工具显示为:

      注意上图红色部分中的登录名及密码

      login:root 即登录名
      password:alpine 即密码
      如果手机有越狱并修改过root密码的话,密码处显示的可能会不一样

    5. 数据线一头的手机上则显示为刷机界面,不过和刷机不一样,白苹果下方的进度条始终处于初始状态,且在数据拷贝过程中始终没有发生变化。

    * Step3,利用putty加载iPhone文件夹

    • 保持ssh工具打开,然后打开putty,来建立个ssh连接。在如下位置填入:
    • Host Name: 127.0.0.1
    • Port: 2022
    • Connection type: SSH

    • 点击“Open”会弹出一个命令行窗口,并显示:

      login as:

      提示输入用户名,此处请填入用户名,也就是root,回车后提示输入密码,请输入在ssh工具中显示的密码,默认为alpine。命令行窗口显示:

    • 在光标处,输入命令: mount.sh 回车后,显示将disk0s1s1及disk0s1s2分别加载到mnt1和mnt2:

    * Step4,使用Winscp来备份数据;

    1. 接下来,我们用winscp再来复制数据。Winscp是Windows系统下常用的SSH图形化客户端。图形化界面使得在操作上相当方便。打开winscp,在出现的窗口中再次输入Host name, port, username和password。

    2. 暂且先不点击Login,建议再设置下文件名的编码。点击左边菜单里里面的“Environment”选项,在右边的“UTF-8 encoding for filenames”的下拉菜单里面选择“On”,然后点击Login进行连接。这点比较重要,如果您的iPhone设置为中文语言环境,那么一些程序的数据可能存在以中文名命名,没有设置文件名编码的话,这些中文文件名的数据将无法被winscp正常识别,导致数据传输时出现无法找到该文件的错误。

    3. 设置完后点击Login,winscp会自动连接iPhone,连接成功后出现如下窗口:

    4. 窗口的左下部是本地文件夹,右下部默认打开“/private/var”,在上图的下拉菜单中可以打开其它文件夹,图形化界面的操作比较简单,这里就不多介绍了。这里主要的要注意mnt1和mnt这2个文件夹,mnt1主要保存着和系统相关的文件和设置等,常用的相片,视频,信息,联系人,还有各个程序的数据都是保存在/mnt2/mobile里面。系统自带的程序保存文件夹如:

      /mnt2/mobile/Media/DCIM/: 照片

      /mnt2/mobile/Media/Recordings/:语言备忘录

      /mnt2/mobile/Library/AddressBook/:联系人

      /mnt2/mobile/Library/SMS/:短信

      /mnt2/mobile/Library/Notes/:备忘录

      用户自行安装的程序是在/mnt2/mobile/Applications/下面,该文件夹下面的每个文件夹代表一个已安装的程序,文件夹的名字都是由一串字母和数字以及横杆组成的程序ID。如:

      /mnt2/mobile/Applications/15F42897-C562-4466-8DAD-5201C40DBFDE

      程序文件的数据一般都保存在该程序文件夹下面的/Documents/子文件夹下面。

      将上述文件夹拷贝到本地电脑就可以完成数据备份。已备份照片为例,介绍下如何使用winscp进行数据备份。打开/mnt2/mobile/Media,选中DCIM,在右单击弹出的菜单内选择Download

      然后会提示文件的保存位置

      输入保存文件夹后,点击OK就开始下载数据到指定的文件夹内。等待数据备份操作完毕

    * Step5,备份完毕后,重启手机。

    这时就可以重新刷机了,不然就是一部砖头。

  • 相关阅读:
    向量的基本运算
    tar 命令小解
    写一个块设备驱动11,12
    写一个块设备驱动9,10
    写一个块设备驱动7,8
    写一个块设备驱动5,6
    写一个块设备驱动1,2
    Linux驱动开发庖丁解牛系列
    Linux设备驱动程序(第三版)
    嵌入式系统移植基础三部曲 段彦青
  • 原文地址:https://www.cnblogs.com/superdo/p/4476936.html
Copyright © 2020-2023  润新知