发明内容
本发明实施例的目的在于提供一种数据恢复的方法,以解决现有基于IOS操作系统的移动设备在没有与itunes进行过同步的情况下,无法恢复删除的数据问题。
本发明实施例是这样实现的,一种数据恢复的方法,所述方法包括:
Mac端从其IOS操作系统固件包中提取内核镜像文件,并通过所述内核镜像文件生成Ramdisk程序包;
Mac端在IOS强制固件升降级模式下将所述Ramdisk程序包安装到基于IOS操作系统的移动设备端的系统分区中,并修改该移动设备端的引导程序BootLoader;
基于IOS操作系统的移动设备端加载并运行所述Ramdisk程序包中的程序,并在运行完后,将所述基于IOS操作系统的移动设备端中的实际磁盘镜像到所述Mac端;
Mac端解析实际磁盘镜像后所获得的镜像文件,恢复所述基于IOS操作系统的移动设备端中删除的数据。
本发明实施例的另一目的在于提供一种数据恢复的系统,所述系统包括:
Mac端和基于IOS操作系统的移动设备端;
所述Mac端通过有线或者无线的方式与所述基于IOS操作系统的移动设备端连接通信;
所述Mac端用于从其IOS操作系统固件包中提取内核镜像文件,并通过所述内核镜像文件生成Ramdisk程序包,在IOS强制固件升降级模式下将所述Ramdisk程序包安装到基于IOS操作系统的移动设备端的系统分区中,并修改该移动设备的引导程序BootLoader,解析镜像文件,恢复所述基于IOS操作系统的移动设备端中删除的数据;
所述基于IOS操作系统的移动设备端用于加载并运行Ramdisk程序包中的程序,并在运行完后,将所述基于IOS操作系统的移动设备端中的实际磁盘镜像到所述Mac端。
一种数据恢复的系统,所述系统包括:
虚拟磁盘生成单元,用于从Mac端IOS操作系统固件包中提取内核镜像文件,并通过所述内核镜像文件生成Ramdisk程序包;
处理单元,用于在强制固件升降级模式下将所述Ramdisk程序包安装到基于IOS操作系统的移动设备端的系统分区中,并修改该移动设备的引导程序BootLoader,使得所述基于IOS操作系统的移动设备端加载并运行所述Ramdisk程序包中的程序;
数据恢复单元,用于解析镜像文件,恢复所述基于IOS操作系统的移动设备端中删除的数据,其中所述镜像文件为所述基于IOS操作系统的移动设备端在运行完所述Ramdisk程序包中的程序后,将其实际磁盘镜像到所述Mac端的文件。
一种数据恢复的系统,所述系统包括:
运行单元,用于加载并运行所述Ramdisk程序包中的程序;
镜像单元,用于在所述运行单元运行完后,将基于IOS操作系统的移动设备端中的实际磁盘镜像到Mac端,使得Mac端解析实际磁盘镜像后所获得的镜像文件,恢复所述基于IOS操作系统的移动设备端中删除的数据。
本发明实施例获得的有益效果是:通过在基于IOS操作系统的移动设备端加载并运行Ramdisk程序包中的程序,把基于IOS操作系统的移动设备端虚拟成一个磁盘或分区(或相当于外接U盘或移动硬盘等),然后再将所述基于IOS操作系统的移动设备端中的实际磁盘镜像到Mac端,通过解析磁盘镜像后获得的镜像文件,实现对该磁盘或分区的数据恢复,解决了现有基于IOS操作系统的移动设备在没有与itunes进行过同步的情况下,无法恢复删除的数据问题。而且用户无需安装任何类似与itunes的应用程序就可完成数据的恢复,极大的方便了用户对基于IOS操作系统的移动设备数据的恢复,并提高了其数据恢复的效率。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明实施例一提供的数据恢复系统的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
本发明实施例提供的数据恢复方法可以应用于该数据恢复系统中,该数据恢复系统至少包括:
Mac端1和至少一个基于IOS操作系统的移动设备端2;
所述Mac端1通过有线或者无线的方式与所述基于IOS操作系统的移动设备端2连接通信;
所述Mac端1用于从其IOS操作系统固件包中提取内核镜像文件,并通过所述内核镜像文件生成Ramdisk程序包,在IOS强制固件升降级模式下将所述Ramdisk程序包安装到基于IOS操作系统的移动设备端2的系统分区中,并修改该移动设备的引导程序BootLoader,解析镜像文件,恢复所述基于IOS操作系统的移动设备端2中删除的数据;
所述基于IOS操作系统的移动设备端2用于加载并运行Ramdisk程序包中的程序,并在运行完后,将所述基于IOS操作系统的移动设备端2中的实际磁盘镜像到所述Mac端1。
进一步的是,所述Mac端1还用于在所述基于IOS操作系统的移动设备2端加载所述Ramdisk程序包中的程序时,启动SSH服务;
所述基于IOS操作系统的移动设备端2具体用于:
加载并运行Ramdisk程序包中的程序,并在运行完,且所述Mac端1启动SSH服务后,启动Ramdisk子系统的SSH客户端程序,运行SSH客户端,通过所述SSH客户端把所述基于IOS操作系统的移动设备端2中的实际磁盘扇区拷贝到所述Mac端1的SSH服务,完成磁盘镜像。
实施例二:
图2示出了本发明实施例二提供的数据恢复方法的实现流程,该方法过程详述如下:
1、Mac端从其IOS操作系统固件包中提取内核镜像文件,并通过所述内核镜像文件生成Ramdisk(虚拟磁盘或者分区)程序包。
在本实施例中,所述Mac端为普通的苹果电脑客户端。其中,内核镜像文件的提取以及Ramdisk程序包的生成可采用现有技术实现,在此不再赘述。
2、Mac端在IOS强制固件升降级模式下将所述Ramdisk程序包安装到基于IOS操作系统的移动设备端的系统分区中,并修改该移动设备端的引导程序BootLoader。
在本实施例中,修改该移动设备端的引导程序BootLoader的目的是为了基于IOS操作系统的移动设备端在启动时加载并运行所述Ramdisk程序包中的程序。所述基于IOS操作系统的移动设备端包括iphone、ipad、ipod等。
3、基于IOS操作系统的移动设备端加载并运行所述Ramdisk程序包中的程序。
在本实施例中,所述Ramdisk程序包中包含了NAND FALSH等驱动程序,通过加载并运行NAND FALSH等驱动程序将NAND FALSH中的操作系统和资源文件加载到实际磁盘中。
4、将所述基于IOS操作系统的移动设备端中的实际磁盘镜像到所述Mac端。
在本实施例中,在所述Ramdisk程序包中的程序运行完后,通过TCP协议将所述基于IOS操作系统的移动设备端中的实际磁盘镜像到所述Mac端。
其中,所述将所述基于IOS操作系统的移动设备端中的实际磁盘镜像到所述Mac端具体包括:
Mac端在所述基于IOS操作系统的移动设备端加载所述Ramdisk程序包中的程序时,启动SSH服务,以便于与所述基于IOS操作系统的移动设备端中的SSH客户端进行通信;
基于IOS操作系统的移动设备端在所述Mac端启动SSH服务后,启动Ramdisk子系统的SSH客户端程序,运行SSH客户端,通过所述SSH客户端把所述基于IOS操作系统的移动设备端中的实际磁盘扇区拷贝到所述Mac端的SSH服务,完成磁盘镜像。
5、Mac端解析实际磁盘镜像后所获得的镜像文件,恢复所述基于IOS操作系统的移动设备端中删除的数据。
在本实施例中,基于IOS操作系统的移动设备端在将实际磁盘镜像到所述Mac端时,会生成一个镜像文件,Mac通过解析该镜像文件,获取所述基于IOS操作系统的移动设备端中删除的数据信息,恢复所述基于IOS操作系统的移动设备端中删除的数据。
需要说明的是,基于IOS操作系统的移动设备端系统在删除数据时,会把其实际磁盘的文件目录表中登记的文件的第一个字节改为E5(只是将文件第一个字节改为E5,该文件对应的数据依然存在于磁盘扇区中),Mac端在解析实际磁盘镜像后所获得的镜像文件时,将查所述第一个字节为E5所对应的磁盘扇区,恢复该磁盘扇区中的信息。
实施例三:
图3示出了本发明实施例三提供的Mac端的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该Mac端可以是运行于数据恢复系统内的硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到数据恢复系统中。
该Mac端1包括虚拟磁盘生成单元11、处理单元12以及数据恢复单元13。其中,各单元的具体功能如下:
虚拟磁盘生成单元11,用于从Mac端IOS操作系统固件包中提取内核镜像文件,并通过所述内核镜像文件生成Ramdisk程序包;
处理单元12,用于在IOS强制固件升降级模式下将所述Ramdisk程序包安装到基于IOS操作系统的移动设备端的系统分区中,并修改该移动设备的引导程序BootLoader,使得所述基于IOS操作系统的移动设备端加载并运行所述Ramdisk程序包中的程序;
数据恢复单元13,用于解析镜像文件,恢复所述基于IOS操作系统的移动设备端中删除的数据,其中所述镜像文件为所述基于IOS操作系统的移动设备端在运行完所述Ramdisk程序包中的程序后,将其实际磁盘镜像到所述Mac端的文件。
进一步的,所述Mac端1还包括:
服务启动单元14,用于在所述基于IOS操作系统的移动设备端加载所述Ramdisk程序包中的程序时,启动SSH服务。
本实施例提供的Mac端可以使用在前述对应的数据恢复方法,详情参见上述数据恢复方法实施例二的相关描述,在此不再赘述。
实施例四:
图4示出了本发明实施例四提供的基于IOS操作系统的移动设备端的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该基于IOS操作系统的移动设备端可以是运行于数据恢复系统内的硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到数据恢复系统中。
该基于IOS操作系统的移动设备端2包括运行单元21以及镜像单元22。其中,各单元的具体功能如下:
运行单元21,用于加载并运行所述Ramdisk程序包中的程序;
镜像单元22,用于在所述运行单元21运行完后,将基于IOS操作系统的移动设备端中的实际磁盘镜像到所述Mac端。
其中,所述镜像单元22具体用于:
在所述运行单元21运行完,且所述Mac端启动SSH服务后,启动Ramdisk子系统的SSH客户端程序,运行SSH客户端,通过所述SSH客户端把所述基于IOS操作系统的移动设备端中的实际磁盘扇区拷贝到所述Mac端的SSH服务,完成磁盘镜像,使得Mac端解析所述磁盘镜像后所获得的镜像文件,恢复所述基于IOS操作系统的移动设备端中删除的数据。
本实施例提供的基于IOS操作系统的移动设备端可以使用在前述对应的数据恢复方法,详情参见上述数据恢复方法实施例二的相关描述,在此不再赘述。
本领域普通技术人员可以理解为实施例三和四所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
综上所述,本发明实施例通过在基于IOS操作系统的移动设备端加载并运行Ramdisk程序包中的程序,把基于IOS操作系统的移动设备端虚拟成一个磁盘或分区(或相当于外接U盘或移动硬盘等),然后再将所述基于IOS操作系统的移动设备端中的实际磁盘镜像到Mac端,通过解析磁盘镜像后获得的镜像文件,实现对该磁盘或分区的数据恢复,解决了现有基于IOS操作系统的移动设备在没有与itunes进行过同步的情况下,无法恢复删除的数据问题。而且用户无需安装任何类似与itunes的应用程序就可完成数据的恢复,极大的方便了用户对基于IOS操作系统的移动设备数据的恢复,并提高了其数据恢复的效率。
本领域普通技术人员还可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,包括ROM/RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。