终端及刷机失败恢复方法与流程

文档序号:11250736阅读:769来源:国知局
终端及刷机失败恢复方法与流程

本发明涉及通信领域,更具体地说,涉及一种终端及刷机失败恢复方法。



背景技术:

当前国内及国外智能终端市场越来越庞大,持有的智能终端数量越来越多,使用越来越频繁。用户持有的智能终端,既可以使用原厂家rom,也可以通过刷机,升级到第三方rom,可玩性是android智能终端的一大卖点。而随之而来的是大量的售后维护工作,大量的刷机必然会有相当一部分智能终端变砖,导致智能终端完全不能正常使用。帮助刷机变砖的设备重新恢复系统,在售后维护的工作中占了相当大的一部分。

在当前的系统恢复方案中,主要有以下两种方案:

recovery强制刷机救砖方案(也称卡刷包恢复方案):recovery模式指的是一种可以对安卓机内部的数据或系统进行修改的模式(类似于windowspe或dos)。在这个模式下可以刷入新的安卓系统以使得终端恢复系统,在该模式下也可以对已有的系统进行备份或升级,也可以在此恢复出厂设置。此时的recovery作为系统恢复工具,因此对于刷机失败的各智能终端,至少需要保证终端可以正常启动到recovery,若recovery镜像本身已损坏或者无法启动,则无法完成系统恢复,而在很多智能终端刷机失败变砖的场景中,都会存在刷入了第三方的recovery导致recovery镜像无法正常启动,这种场景下,通过恢复工具recovery就无能为力。可见这种救砖方案存在可靠性、通用性差的问题。

androidab系统方案:androida/b系统是google在android7.0中新增的feature,其目的就是提供一个刷不死的系统,双系统交替使用,单此方案有一个明显的弊端,就是对磁盘空间的损耗比较大,androida/b系统需要额外增加10gb左右的磁盘开销,这样的数据对于硬件低配版设备(如16gbemmc(embeddedmultimediacard))的用户来说,几乎是不可接受的,同时这种系统方案目前也存在技术不够成熟,稳定性及可靠性差的问题。

因此,急需提出一种稳定性、可靠性及通用性好,且磁盘开销小的终端刷机失败恢复方法。



技术实现要素:

本发明要解决的技术问题在于,现有终端刷机失败恢复方法的稳定性、可靠性及通用性差,磁盘开销大,导致用户体验满意度低。针对该技术问题,提供一种终端及刷机失败恢复方法。

为解决上述技术问题,本发明提供一种终端,包括:

存储控制模块,用于将刷机恢复数据存储于预设的安全隔离存储区,以及用于拒绝所述终端刷机过程中对所述安全隔离存储区发起的访问,所述刷机恢复数据包括系统升级文件和恢复工具系统镜像文件;

恢复模式控制模块,用于从所述安全隔离存储区加载所述恢复工具系统镜像文件以使所述终端正常运行恢复工具,通过所述恢复工具刷入所述安全隔离存储区中的系统升级文件以使所述终端系统恢复正常。

其中,所述系统升级文件为所述终端出厂版本系统文件,或为所述终端厂商预设的恢复版本系统文件。

其中,所述终端还包括快速启动模块,用于根据快速启动控制指令控制所述终端进入快速启动模式,所述快速启动模式中显示有所述恢复模式控制模块的访问接口;

所述恢复模式控制模块用于在所述快速启动模式下,根据接收到的一键恢复控制指令从所述安全隔离存储区加载所述恢复工具系统镜像文件以使所述终端正常运行恢复工具。

其中,所述恢复工具为recovery,所述恢复工具系统镜像文件为至少包含recovery镜像文件的板级支持包系统镜像文件,所述recovery镜像文件为所述终端出厂版本中的recovery的镜像文件。

其中,所述刷机恢复数据中还包括偏移地址记录文件,用于记录所述系统升级文件和所述恢复工具系统镜像文件在所述安全隔离存储区中的偏移地址;

所述恢复模式控制模块用于根据所述偏移地址记录文件中恢复工具系统镜像文件的偏移地址从所述安全隔离存储区加载所述恢复工具系统镜像文件,所述恢复工具根据所述偏移地址记录文件中系统升级文件的偏移地址刷入所述安全隔离存储区中的系统升级文件。

进一步地,本发明还提供了一种终端刷机失败恢复方法,所述终端预设的安全隔离存储区内预先存储有刷机恢复数据,所述刷机恢复数据包括系统升级文件和恢复工具系统镜像文件,所述安全隔离存储区为所述终端刷机过程中拒绝被访问的区域;所述方法包括:

从所述安全隔离存储区加载所述恢复工具系统镜像文件以使所述终端正常运行恢复工具;

通过所述恢复工具刷入所述安全隔离存储区中的系统升级文件以使所述终端系统恢复正常。

其中,所述系统升级文件为所述终端出厂版本系统文件,或为所述终端厂商预设的恢复版本系统文件。

其中,所述安全隔离存储区加载所述恢复工具系统镜像文件之前还包括:

根据快速启动控制指令控制所述终端进入快速启动模式;

所述从所述安全隔离存储区加载所述恢复工具系统镜像文件包括:

在所述快速启动模式下,根据接收到的一键恢复控制指令从所述安全隔离存储区加载所述恢复工具系统镜像文件以使所述终端正常运行恢复工具。

其中,所述恢复工具为recovery,所述恢复工具系统镜像文件为至少包含恢复工具镜像文件的板级支持包系统镜像文件,所述恢复工具镜像文件为所述终端出厂版本中的恢复工具的镜像文件。

其中,所述刷机恢复数据中还包括偏移地址记录文件,用于记录所述系统升级文件和所述恢复工具系统镜像文件在所述安全隔离存储区中的偏移地址;

所述从所述安全隔离存储区加载所述恢复工具系统镜像文件包括:

从所述偏移地址记录文件中获取恢复工具系统镜像文件的偏移地址;

根据获取的恢复工具系统镜像文件的偏移地址从所述安全隔离存储区加载所述恢复工具系统镜像文件;

通过所述恢复工具刷入所述安全隔离存储区中的系统升级文件包括:

从所述偏移地址记录文件中获取系统升级文件的偏移地址;

根据获取的所述系统升级文件的偏移地址从所述安全隔离存储区中刷入所述系统升级文件。

有益效果

本发明提供的终端及刷机失败恢复方法,在终端内设置安全隔离存储区以预先存储刷机恢复数据,存储的刷机恢复数据包括系统升级文件和恢复工具系统镜像文件,且设置该安全隔离存储区为终端刷机过程中拒绝被访问的区域,这样可以保证在刷机不会对该区域内的数据造成任何影响;然后在刷机失败需要进行系统恢复时,则从安全隔离存储区加载恢复工具系统镜像文件以使终端正常运行恢复工具(例如包括但不限于recovery),再通过正常运行起来的恢复工具刷入安全隔离存储区中的系统升级文件以使终端系统恢复正常;本发明的方案可以避免恢复工具在刷机过程中被损坏导致不能进行系统恢复的情况,且所预存的恢复数据可以仅包括系统升级文件和恢复工具系统镜像文件,占用的存储空间不超过1gbemmc,因此相对现有的系统恢复方法,存在稳定性、可靠性及通用性好,磁盘开销小,操作便捷简单等优点,能在很大程度上提升用户体验的满意度。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1为实现本发明各个实施例一个可选的移动终端的硬件结构示意图;

图2为本发明第一实施例提供的终端结构示意图;

图3为本发明第一实施例提供的另一终端结构示意图;

图4为本发明第二实施例提供的buckup分区数据结构存储示意图;

图5为本发明第二实施例提供的终端系统恢复流程示意图;

图6为本发明第三实施例提供的终端刷机失败恢复方法流程示意图。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

现在将参考附图描述实现本发明各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。

终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、导航装置等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。下面,假设终端是移动终端,然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。

电子终端一般都由软件部分和硬件部分两部分组成,且不同功能的电子终端的软件部分和硬件组成部分还可能不同。图1为实现本发明各个实施例一个可选的移动终端的硬件结构示意图。

移动终端100可以包括无线通信单元110、a/v(音频/视频)输入单元120、用户输入单元130、感测单元140、输出单元150、存储器160、接口单元170、控制器180和电源单元190等等。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件,可以替代地实施更多或更少的组件,将在下面详细描述移动终端的元件。

无线通信单元110通常包括一个或多个组件,其允许移动终端100与无线通信系统或网络之间的无线电通信。例如,无线通信单元可以包括广播接收模块、移动通信模块、无线互联网模块、近距离通信模块(例如蓝牙通信模块、红外通信模块、nfc(nearfieldcommunication,nfc)通信模块等)和位置信息模块(例如gps定位模块、热点定位模块、基站定位模块等)中的至少一个。

a/v输入单元120用于接收音频或视频信号。a/v输入单元120可以包括相机和麦克风,相机对在视频捕获模式或图像捕获模式中由图像捕获装置获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示模块上。经相机处理后的图像帧可以存储在存储器160(或其它存储介质)中或者经由无线通信单元110进行发送,可以根据移动终端的构造提供两个或更多相机。麦克风可以在电话通话模式、记录模式、语音识别模式等等运行模式中经由麦克风接收声音(音频数据),并且能够将这样的声音处理为音频数据。处理后的音频(语音)数据可以在电话通话模式的情况下转换为可经由移动通信模块发送到移动通信基站的格式输出。麦克风可以实施各种类型的噪声消除(或抑制)算法以消除(或抑制)在接收和发送音频信号的过程中产生的噪声或者干扰。

用户输入单元130可以根据用户输入的命令生成键输入数据以控制移动终端的各种操作。用户输入单元130允许用户输入各种类型的信息,并且可以包括键盘、锅仔片、触摸板(例如,检测由于被接触而导致的电阻、压力、电容等等的变化的触敏组件)、滚轮、摇杆等等。特别地,当触摸板以层的形式叠加在显示模块上时,可以形成触摸屏。

感测单元140检测移动终端100的当前状态,(例如,移动终端100的打开或关闭状态)、移动终端100的位置、用户对于移动终端100的接触(即,触摸输入)的有无、移动终端100的取向、移动终端100的加速或减速移动和方向等等,并且生成用于控制移动终端100的操作的命令或信号。例如,当移动终端100实施为滑动型移动电话时,感测单元140可以感测该滑动型电话是打开还是关闭。另外,感测单元140能够检测电源单元190是否提供电力或者接口单元170是否与外部装置耦接。感测单元140可以包括接近传感器。

接口单元170用作至少一个外部装置与移动终端100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(i/o)端口、视频i/o端口、耳机端口等等。识别模块可以是存储用于验证用户使用移动终端100的各种信息并且可以包括用户识别模块(uim)、客户识别模块(sim)、通用客户识别模块(usim)等等。另外,具有识别模块的装置(下面称为"识别装置")可以采取智能卡的形式,因此,识别装置可以经由端口或其它连接装置与移动终端100连接。接口单元170可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端100内的一个或多个元件或者可以用于在移动终端和外部装置之间传输数据。

另外,当移动终端100与外部底座连接时,接口单元170可以用作允许通过其将电力从底座提供到移动终端100的路径或者可以用作允许从底座输入的各种命令信号通过其传输到移动终端的路径。从底座输入的各种命令信号或电力可以用作用于识别移动终端是否准确地安装在底座上的信号。输出单元150被构造为以视觉、音频和/或触觉方式提供输出信号(例如,音频信号、视频信号、警报信号、振动信号等等)。

输出单元150可以包括显示模块、音频输出模块、警报模块等等。

显示模块可以显示在移动终端100中处理的信息。例如,当移动终端100处于电话通话模式时,显示模块可以显示与通话或其它通信(例如,文本消息收发、多媒体文件下载等等)相关的用户界面(ui)或图形用户界面(gui)。当移动终端100处于视频通话模式或者图像捕获模式时,显示模块可以显示捕获的图像和/或接收的图像、示出视频或图像以及相关功能的ui或gui等等。

例如,本发明中的各种指示信息就可以通过显示模块显示在移动终端显示界面上。

同时,当显示模块和触摸板以层的形式彼此叠加以形成触摸屏时,显示模块可以用作输入装置和输出装置。显示模块可以包括液晶显示器(lcd)、薄膜晶体管lcd(tft-lcd)、有机发光二极管(oled)显示器、柔性显示器、三维(3d)显示器等等中的至少一种。这些显示器中的一些可以被构造为透明状以允许用户从外部观看,这可以称为透明显示器,典型的透明显示器可以例如为toled(透明有机发光二极管)显示器等等。根据特定想要的实施方式,移动终端100可以包括两个或更多显示模块(或其它显示装置),例如,移动终端可以包括外部显示模块(未示出)和内部显示模块(未示出)。触摸屏可用于检测触摸输入压力以及触摸输入位置和触摸输入面积。

存储器160可以存储由控制器180执行的处理和控制操作的软件程序等等,或者可以暂时地存储己经输出或将要输出的数据(例如,电话簿、消息、静态图像、视频等等)。而且,存储器160可以存储关于当触摸施加到触摸屏时输出的各种方式的振动和音频信号的数据。

存储器160可以包括至少一种类型的存储介质,所述存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等等。而且,移动终端100可以与通过网络连接执行存储器160的存储功能的网络存储装置协作。

控制器180通常控制移动终端的总体操作。例如,控制器180执行与语音通话、数据通信、视频通话等等相关的控制和处理。另外,控制器180可以包括用于再现(或回放)多媒体数据的多媒体模块,多媒体模块可以构造在控制器180内,或者可以构造为与控制器180分离。控制器180可以执行模式识别处理,以将在触摸屏上执行的手写输入或者图片绘制输入识别为字符或图像。

电源单元190在控制器180的控制下接收外部电力或内部电力并且提供操作各元件和组件所需的适当的电力。

这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(asic)、数字信号处理器(dsp)、数字信号处理装置(dspd)、可编程逻辑装置(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在控制器180中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器160中并且由控制器180执行。

至此,己经按照其功能描述了移动终端。下面,为了简要起见,将描述诸如折叠型、直板型、摆动型、滑动型移动终端等等的各种类型的移动终端中的滑动型移动终端作为示例。因此,本发明能够应用于任何类型的移动终端,并且不限于滑动型移动终端。

以下通过具体实施例进行详细说明。

第一实施例

本实施例在终端内设置一个安全隔离存储区,该安全隔离存储区在终端刷机过程中(还可进一步包括在终端的正常使用过程中)并不提供任何访问服务,以保证其内部存储的数据在刷机过程中不被破坏。然后将刷机恢复数据预先存储在该区域,例如可以在出厂时或者出厂后终端刷机前的任意时段进行存储;所存储的刷机恢复数据包括系统升级文件和恢复工具系统镜像文件。在需要对终端进行系统恢复时,则从安全隔离存储区加载恢复工具系统镜像文件以使终端正常运行恢复工具(例如对于运行安卓系统的终端,该恢复工具可以是recovery),再通过正常运行起来的恢复工具刷入安全隔离存储区中的系统升级文件以使终端系统恢复正常。该系统恢复方案可以避免恢复工具在刷机过程中被损坏导致不能进行系统恢复的情况,且所预存的恢复数据可以仅包括系统升级文件和恢复工具系统镜像文件,占用的存储空间一般在800mb左右,具有稳定性、可靠性及通用性好,磁盘开销小,操作便捷简单等优点。应当理解的是,本实施例中的上述系统恢复方法适用于android、ios、symbian、windowsphone、blackberryos等系统。为了便于理解,下面结合一个终端示意图对进行进一步示例说明。

请参见图2所示,本实施例提供的终端2包括:

存储控制模块21,用于将刷机恢复数据存储于预设的安全隔离存储区,以及用于拒绝终端刷机过程中对所述安全隔离存储区发起的访问,刷机恢复数据包括系统升级文件和恢复工具系统镜像文件。

本实施例中的安全隔离存储区可以是一个backup(备份当前系统)裸分区,其大小具体可以根据待存储的刷机恢复数据而设定,例如可以设置为900mb。本实施例中,存储控制模块21拒绝终端刷机过程中对所述安全隔离存储区发起的访问以保证存储在该区域内的刷机恢复数据在刷机过程不会被干扰、破坏,进而保证该部分数据的有效性。存储控制模块21可以通过设置安全隔离区域的访问权限或者对各个访问请求进行甄别而做出同意或拒绝访问的操作,以达到对该区域进行安全隔离的目的。当然,为了进一步提升可靠性和安全性,存储控制模块21还可以在终端的正常使用过程中也拒绝对该安全隔离存储区域发起的访问,此时该存储区域可以看作一个专门用于系统恢复用的备份存储区域。

恢复模式控制模块22,用于从安全隔离存储区加载恢复工具系统镜像文件以使该终端正常运行恢复工具,进而通过正常运行起来的恢复工具刷入安全隔离存储区中的系统升级文件以使终端系统恢复正常。

本实施例中的恢复模式控制模块22具体可在终端需要进行系统恢复时执行上述步骤。在需要进行系统恢复时,恢复模式控制模块22从安全隔离存储区加载恢复工具系统镜像文件之前,还可以先运行终端内的恢复工具以判断其是否可以正常运行,如可以则不再从安全隔离存储区加载恢复工具系统镜像文件,在判断运行异常时,再从安全隔离存储区加载恢复工具系统镜像文件,这样可以在一定程度上提升系统恢复效率和资源利用率。

本实施例中,恢复模式控制模块22从安全隔离存储区加载恢复工具系统镜像文件后,终端正常运行恢复工具也即进入相应的恢复工具的模式(例如recovery),在该模式下再从安全隔离存储区中刷入系统升级文件以使终端系统恢复正常。

本实施例中,预选存储的刷机恢复数据中还可包括偏移地址记录文件,用于记录系统升级文件和恢复工具系统镜像文件在安全隔离存储区中的偏移地址;

恢复模式控制模块22用于根据偏移地址记录文件中恢复工具系统镜像文件的偏移地址从安全隔离存储区加载所述恢复工具系统镜像文件,恢复工具根据偏移地址记录文件中系统升级文件的偏移地址刷入所述安全隔离存储区中的系统升级文件。

应当理解的是,本实施例中,终端可以直接通过一些操作触发方式进入到相应的恢复工具工作模式,也可以通过其他模式进入恢复工具模式。

例如,参见图3所示,本实施例中的终端还可包括快速启动模块23,用于根据快速启动控制指令控制终端进入快速启动模式(例如android系统中的fastboot模式或bootloader模式,下面以fastboot模式进行示例说明),在该快速启动模式中显示有所述恢复模式控制模块的访问接口,用户可以通过该访问接口下发一键恢复控制指令,该指令会触发后续的恢复工具系统文件加载以及后续系统升级文件的刷入,可以大大简化用户的操作,进一步提升用户体验的满意度。

恢复模式控制模块22则用于在该快速启动模式下,根据接收到的一键恢复控制指令(可以是用户进行下发该指令,也可以设置指令下发条件,在判定满足该条件是自动下发)从安全隔离存储区加载恢复工具系统镜像文件以使终端正常运行恢复工具。

应当理解的是,本实施例中的恢复工具可以采用各操作系统内相应的用于系统恢复的各种工具,例如对于android和ios系统可以采用recovery工具,对于其他类型的系统则以此类推,在此不再赘述。下面以恢复工具位recovery进行示例说明,本实施例中的恢复工具系统镜像文件可以为恢复工具最小系统镜像文件,例如具体可以为包含recovery镜像文件的板级支持包(bsp:boardsupportpackage)系统镜像文件,且为了保证系统恢复的稳定性和可靠性,recovery镜像文件可以设置为终端出厂版本中的recovery的镜像文件,也即非第三方的recovery镜像文件;当然本实施例也可以设置为可信任的第三方recovery镜像文件,或者设置多个版本的recovery镜像文件,用户可以根据当前希望恢复的系统版本选择相应的recovery镜像文件,此时设置的系统升级文件也可以对应有多个版本。

本实施例中,预选存储的系统升级文件具体可以为终端出厂版本系统文件,这样恢复后的系统版本与终端初始版本匹配,避免存在因为版本升级跨度大而无法正常启动的现象,进一步保证系统恢复的稳定性、可靠性。当然,本实施例中的系统升级文件也可以为终端厂商预设的恢复版本系统文件,例如该恢复版本系统文件可以是通用的稳定性比较好的系统文件,或者是版本最低的初始版本文件等。且本实施例中的系统升级文件可以是镜像文件,也可以不是镜像文件,例如在android系统中,当安全隔离存储区为backup裸分区时就可以直接是zip格式。当然也可以是生成的.img镜像格式。具体系统升级文件版本以及格式的设置可以根据具体应用场景灵活的设定。

本实施例中的终端通过设置一个隔离的安全隔离存储区将系统恢复所需要的所有数据(包括但不限于恢复工具和系统文件数据)在该区域进行安全存储;当终端刷机失败后,则可直接调用该安全隔离存储区内的恢复工具系统文件运行恢复工具,进而通过该恢复工具刷入相应的系统升级文件,使得终端系统恢复正常;这种处理方式相对现有的系统恢复方式具有开销小,稳定性好、可靠性高,用户一键操作便捷简单等优点,能在很大程度上提升用户体验满意度。

第二实施例

本实施例以终端为运行android系统的智能终端(可以是手机、平板电脑以及各种音乐播放器或阅读器等)为示例进行说明。

在智能终端中设置一个安全隔离存储区,具体可以在partition.xml中新增一个backup裸分区,该backup裸分区的具体大小可以根据待存储数据大小而设置,例如待存储的数据为800mb时,可以设置为850mb。在一种示例中,具体的分区表可以表示如下:

<programsector_size_in_byets=“512”file_sector_offset=“0”

filename=“backup.img”label=“backup”num_partition_sectors=“1922389”

然后可以在智能终端出厂时将刷机恢复数据存储在该backup裸分区中,包括系统升级文件(sd卡包)、恢复工具系统文件,该示例中恢复工具位recovery,恢复工具系统文件为能保证终端能正常进入recovery模式也即正常运行recovery的最小系统文件,本实施例采用bsp基本镜像文件,其为recovery系统正常运行提供最基本、最原始的硬件操作的软件模块。本示例中的系统升级文件以非镜像文件的格式进行存储,表示为update.zip,bsp基本镜像文件中包括sml1.imgemmc-appsboot.mbn、rpm.mbn、hyp.mbn、recovery.img等,buckup分区的一种存储示例参见图4所示。其中:offset.xml为偏移地址记录文件,用于记录所有系统恢复文件在backup裸分区的偏移地址,方便寻址;bsp镜像用于在终端进入快速启动模式(本示例以bootloader模式说明)中写入,确保可以正常启动到recovery模式升级;update.zip为终端发货出厂版本的sd卡包,也即发货出厂版本的系统,用于升级系统,完成系统恢复(也即完成救砖)。本实施例中具体在bootloader模式中增加救砖选项(”savedevice”,也即恢复模式控制模块的访问接口),用户只需在bootloader模式选择该选项触发系统恢复操作,真正实现一键式救砖。具体过程参见图5所示,包括:

s501变砖终端(也即刷机失败的终端)重启进入s502的bootloader模式,在该bootloader模式下选择”savedevice”选项,刷入backup裸分区中的bsp镜像进入s504中的recovery模式,在recovery模式执行s505输入backup裸分区中的update.zip即进入s506完成终端的系统恢复,然后重启进入s507终端正常开机启动。至此,完成变砖终端的系统恢复。

一些android智能终端进入bootloader模式的方式可以是:

将终端完全关机后,按住音量键下(上)+电源键,进入bootloader界面。

其中音量键为光标选择键,可以用来移动光标,电源键则是确认键。

本实施例通过在终端中新增一个backup裸分区,来实现用户的紧急救砖,与初始版本匹配,且不存在因为升级版本跨度大而无法正常启动的现象,不需要用户重新下载全量升级包,大大简化了用户的操作,用户实际需要做的就是在强制进入bootloader菜单并选择救砖功能,真正实现一键操作,也减少了出错的可能,提升用户操作体验。

第三实施例

本实施例提供了一种终端刷机失败恢复方法,预先在终端内设置安全隔离存储区,然后在该安全隔离存储区内预先存储刷机恢复数据,该刷机恢复数据包括系统升级文件和恢复工具系统镜像文件,所设置的安全隔离存储区为终端刷机过程中拒绝被访问的区域以保证存储在该区域内的刷机恢复数据在刷机过程不会被干扰、破坏,进而保证该部分数据的有效性,当然,为了进一步提升可靠性和安全性,可以在终端的正常使用过程中也拒绝对该安全隔离存储区域发起的访问,此时该存储区域可以看作一个专门用于系统恢复用的备份存储区域。且该备份存储区域具体可以是一个可以是一个backup(备份当前系统)裸分区,其大小具体可以根据待存储的刷机恢复数据而设定。本实施例中的终端刷机失败恢复方法参见图6所示,包括:

s601:从安全隔离存储区加载恢复工具系统镜像文件以使所述终端正常运行恢复工具。

本实施例中的s601具体可在终端需要进行系统恢复时执行上述步骤。在需要进行系统恢复时,从安全隔离存储区加载恢复工具系统镜像文件之前,还可以先运行终端内的恢复工具以判断其是否可以正常运行,如可以则不再从安全隔离存储区加载恢复工具系统镜像文件,在判断运行异常时,再从安全隔离存储区加载恢复工具系统镜像文件,这样可以在一定程度上提升系统恢复效率和资源利用率。

s602:通过正常运行起来的恢复工具刷入安全隔离存储区中的系统升级文件以使终端系统恢复正常。

从安全隔离存储区加载恢复工具系统镜像文件后,终端正常运行恢复工具也即进入相应的恢复工具的模式(例如recovery),在该模式下再从安全隔离存储区中刷入系统升级文件以使终端系统恢复正常。

本实施例中,预选存储的刷机恢复数据中还可包括偏移地址记录文件,用于记录系统升级文件和恢复工具系统镜像文件在安全隔离存储区中的偏移地址;

s601中具体可以根据偏移地址记录文件中恢复工具系统镜像文件的偏移地址从安全隔离存储区加载所述恢复工具系统镜像文件;s602中恢复工具具体可以根据偏移地址记录文件中系统升级文件的偏移地址刷入所述安全隔离存储区中的系统升级文件。具体的,从所述安全隔离存储区加载恢复工具系统镜像文件包括:

从偏移地址记录文件中获取恢复工具系统镜像文件的偏移地址;

根据获取的恢复工具系统镜像文件的偏移地址从安全隔离存储区加载所述恢复工具系统镜像文件;

通过恢复工具刷入所述安全隔离存储区中的系统升级文件包括:

从偏移地址记录文件中获取系统升级文件的偏移地址;

根据获取的系统升级文件的偏移地址从安全隔离存储区中刷入系统升级文件。

本实施例中,执行s601之前,还可以根据快速启动控制指令控制终端进入快速启动模式(例如android系统中的fastboot模式或bootloader模式);s601从安全隔离存储区加载所述恢复工具系统镜像文件包括:

在快速启动模式下,根据接收到的一键恢复控制指令从安全隔离存储区加载所述恢复工具系统镜像文件以使终端正常运行恢复工具。

用户可以在快速启动模式中下发一键恢复控制指令,该指令会触发后续的恢复工具系统文件加载以及后续系统升级文件的刷入,可以大大简化用户的操作,进一步提升用户体验的满意度。

本实施例中,预选存储的系统升级文件具体可以为终端出厂版本系统文件,这样恢复后的系统版本与终端初始版本匹配,避免存在因为版本升级跨度大而无法正常启动的现象,进一步保证系统恢复的稳定性、可靠性。当然,本实施例中的系统升级文件也可以为终端厂商预设的恢复版本系统文件,例如该恢复版本系统文件可以是通用的稳定性比较好的系统文件,或者是版本最低的初始版本文件等。且本实施例中的系统升级文件可以是镜像文件,也可以不是镜像文件,例如在android系统中,当安全隔离存储区为backup裸分区时就可以直接是zip格式。当然也可以是生成的.img镜像格式。具体系统升级文件版本以及格式的设置可以根据具体应用场景灵活的设定。

应当理解的是,本实施例中的恢复工具可以采用各操作系统内相应的用于系统恢复的各种工具,例如对于android和ios系统可以采用recovery工具,对于其他类型的系统则以此类推,在此不再赘述。下面以恢复工具位recovery进行示例说明,本实施例中的恢复工具系统镜像文件可以为恢复工具最小系统镜像文件,例如具体可以为包含recovery镜像文件的板级支持包(bsp:boardsupportpackage)系统镜像文件,且为了保证系统恢复的稳定性和可靠性,recovery镜像文件可以设置为终端出厂版本中的recovery的镜像文件,也即非第三方的recovery镜像文件;当然本实施例也可以设置为可信任的第三方recovery镜像文件,或者设置多个版本的recovery镜像文件,用户可以根据当前希望恢复的系统版本选择相应的recovery镜像文件,此时设置的系统升级文件也可以对应有多个版本。

本实施例提供的终端刷机失败恢复方法,通过设置一个隔离的安全隔离存储区将系统恢复所需要的所有数据在该区域进行安全存储;在进行系统恢复时可直接调用该安全隔离存储区内的恢复工具系统文件运行恢复工具,进而通过该恢复工具刷入相应的系统升级文件,使得终端系统恢复正常;这种处理方式相对现有的系统恢复方式具有开销小,稳定性好、可靠性高,用户一键操作便捷简单等优点,能在很大程度上提升用户体验满意度。

第四实施例

本实施例以终端为android手机为示例进行说明。

在手机中设置一个安全隔离存储区,具体也通过可以在partition.xml中新增一个backup裸分区实现,该backup裸分区的具体大小可以根据待存储数据大小而设置,例如设置为900mb,在一种示例中backup裸分区也可以支持动态扩展。

在手机出厂时将刷机恢复数据存储在该backup裸分区中,包括系统升级文件(sd卡包)、恢复工具系统文件,该示例中恢复工具位recovery,恢复工具系统文件为能保证终端能正常进入recovery模式也即正常运行recovery的最小系统文件,本实施例采用bsp基本镜像文件,其为recovery系统正常运行提供最基本、最原始的硬件操作的软件模块。本示例中的系统升级文件以镜像文件的格式进行存储,表示为update.img,bsp基本镜像文件中包括xbl\cmnlib\cmnlib64\gpt\lk\recovery等镜像文件;backup裸分区中还包括偏移地址记录文件offset.xml,用于记录所有系统恢复文件在backup裸分区的偏移地址,方便寻址;bsp镜像用于在终端进入快速启动模式(本示例以fastboot模式说明)中写入,确保可以正常启动到recovery模式升级;update.img为终端发货出厂版本的sd卡包,也即发货出厂版本的系统镜像文件,用于升级系统,完成系统恢复(也即完成救砖)。本实施例中具体在fastboot中增加救砖选项(”savedevice”,也即恢复模式控制模块的访问接口),用户只需在fastboot模式选择该选项触发系统恢复操作,真正实现一键式救砖。在现有的android手机中,fastbootmenu中主要包括以下功能:

rebootsystemnow;重启手机(刷机完毕选择此项就能重新启动系统)

reboottorecoverymode;重启到恢复模式

reboottonubiaemergencyrecovery;重启到努比亚急救恢复模式

powerdown;关机

reboottoedlmode;重启到edl模式;

增加一项”savedevice”,其具体功能通过软件实现类似批处理的功能,具体包括一下三部分功能:

刷入bsp镜像,如:fastbootflashrpmrpm.mbn,具体数据的获取通过offset.xml中记录的分区偏移地址来获得;

cache(cachememory)中写入对应recovery参数(backup分区下的包地址);

重启至recovery

重启至recovery后,因为cache中的传参已写好,recovery会自动读取参数并完成升级,该部分功能recvoery是默认支持的。升级完成之后自动重启。

本实施例提供的刷机失败恢复方法,与现有的卡刷包恢复和androida/b系统,至少具备以下优点:

卡刷包恢复,是现有手机等终端默认的恢复方式,但从实际的项目经验来看,相当一部分用户玩机后,设备变砖,可能因为镜像损坏等原因,机器已经无法正常启动到recovery,这样也就无法通过卡刷包来恢复。而本实施例中的方案,通过先自动刷入bsp最小系统镜像,保证recovery系统的正常启动,在通过预埋的包自动升级救砖,整个过程一键完成,不需要额外的操作,用户自己就可以完成,可以相当程度的减轻售后的救砖压力。

androida/b系统是google在android7.0中新增的feature,其目的就是提供一个刷不死的系统,双系统交替使用,其除了技术不成熟、不稳定以及可靠性差等问题外,还存在一个明显的弊端,就是对磁盘空间的损耗比较大。在实际项目中androida/b系统需要额外增加10gb左右的磁盘开销,这样的数据对于硬件低配版设备(如16或32gbemmc)的用户来说,几乎是不可接受的。而实施例的方案,对于磁盘空间的额外需求不到1gb,约800mb左右,相比googleabsystem,磁盘空间的损耗不到其十分之一,开销更小的同时,稳定性、可靠性以及通用性反而更好。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1