CN108874581A - 一种efs恢复和备份方法、系统及终端 - Google Patents
一种efs恢复和备份方法、系统及终端 Download PDFInfo
- Publication number
- CN108874581A CN108874581A CN201710329344.0A CN201710329344A CN108874581A CN 108874581 A CN108874581 A CN 108874581A CN 201710329344 A CN201710329344 A CN 201710329344A CN 108874581 A CN108874581 A CN 108874581A
- Authority
- CN
- China
- Prior art keywords
- efs
- backup
- terminal
- storage area
- recovery
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000011084 recovery Methods 0.000 claims abstract description 163
- 230000015654 memory Effects 0.000 claims abstract description 55
- 238000000605 extraction Methods 0.000 claims description 37
- 238000001514 detection method Methods 0.000 claims description 35
- 239000003999 initiator Substances 0.000 claims description 12
- 239000000284 extract Substances 0.000 claims description 10
- 239000007858 starting material Substances 0.000 claims description 8
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 5
- 208000007525 plasmablastic lymphoma Diseases 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本文公开了一种EFS恢复和备份方法、系统及终端;上述EFS恢复方法,包括:检测EFS存储区是否存在损坏的EFS文件;在检测到EFS存储区存在损坏的EFS文件时,将EFS备份区中的EFS内容写入EFS存储区;其中,EFS备份区中的EFS内容是根据预设备份策略备份得到的。如此,当终端因异常掉电导致EFS文件损坏造成死机时,能够通过备份的EFS内容进行EFS恢复。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种加密文件系统(EFS,Encrypting FileSystem)恢复和备份方法、系统及终端。
背景技术
目前,针对终端死机情况,可以通过以下任一方式进行恢复:
一、终端上设置恢复系统和正常系统,其中,恢复系统用于系统数据恢复;正常系统用于正常的启动和用户应用运行;当终端发生系统问题无法启动时,可通过组合按键进入恢复系统,由恢复系统的相关恢复应用对正常系统的数据进行恢复;
二、终端具有异常死机重启机制,可以通过重启恢复终端系统;
三、对关键文件进行备份,当由于关键文件损坏导致死机时,通过还原相关的关键文件进行系统恢复。
然而,上述第一种方式中,一方面恢复系统本身需要占用大量额外的存储空间,备份的系统镜像数据也需要占用存储空间,这样导致用户可用的存储空间变少;而且,恢复系统实际也是运行的系统,如果恢复系统出现异常导致无法正常运行,则正常系统也无法从异常状态恢复。上述第二种方式中,如果通过重启依然无法恢复,则终端会继续死机,造成终端无法使用。上述第三种方式中,需要事先确定需要备份的文件,如文件名、文件路径等,如果无法预测损坏的文件,则无法实施文件备份。
而且,在终端的Modem(调制解调)侧加密文件系统(EFS,Encrypting FileSystem)因终端异常掉电导致文件损坏造成死机时,上述处理方式均无法进行恢复。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请实施例提供一种EFS恢复和备份方法、系统及终端,能够解决由于EFS文件损坏导致的死机问题。
第一方面,本申请实施例提供一种EFS恢复方法,包括:
检测终端的EFS存储区是否存在损坏的EFS文件;
在检测到EFS存储区存在损坏的EFS文件时,将EFS备份区中的EFS内容写入所述EFS存储区;其中,所述EFS备份区中的EFS内容是根据预设备份策略备份得到的。
在示例性实施方式中,所述预设备份策略可以包括:从终端的EFS存储区提取EFS内容;将提取到的EFS内容写入终端的EFS备份区。
在示例性实施方式中,所述检测终端的EFS存储区是否存在损坏的EFS文件,可以包括:在终端的第二级启动器SBL启动阶段,检测所述EFS存储区是否存在损坏的EFS文件,并根据检测结果,设置EFS恢复标志;
所述在检测到存在损坏的EFS文件时,将EFS备份区中的EFS内容写入所述EFS存储区,可以包括:在终端的第三级启动器LK启动阶段,检测所述EFS恢复标志,并在检测到所述EFS恢复标志指示需要进行EFS恢复时,将所述EFS备份区中的EFS内容写入所述EFS存储区。
在示例性实施方式中,所述检测所述EFS存储区是否存在损坏的EFS文件,并根据检测结果,设置EFS恢复标志,可以包括:
通过读取EFS存储区中的目录和文件,检测是否存在损坏的EFS文件;
在检测到存在损坏的EFS文件时,设置EFS恢复标志用于指示需要进行EFS恢复,在检测到没有损坏的EFS文件时,设置EFS恢复标志用于指示EFS正常。
在示例性实施方式中,所述将EFS备份区中的EFS内容写入所述EFS存储区,包括:
确定所述EFS备份区内的EFS数据大小;
读取所述EFS备份区内的EFS数据,并写入所述EFS存储区;
在将所述EFS备份区内的EFS数据全部写入所述EFS存储区之后,清空所述EFS存储区的剩余空间。
第二方面,本申请实施例提供一种EFS备份方法,包括:
从终端的EFS存储区提取EFS内容;
将提取到的EFS内容写入终端的EFS备份区。
在示例性实施方式中,所述从终端的EFS存储区提取EFS内容,并将提取到的EFS内容写入终端的EFS备份区,可以包括:
调用EFS镜像提取接口从终端的EFS存储区提取EFS内容,并将提取到的EFS内容写入终端的EFS备份区;或者,
通过EFS镜像方式提取EFS文件并烧录到所述EFS备份区。
在示例性实施方式中,所述调用EFS镜像提取接口从终端的EFS存储区提取EFS内容,并将提取到的EFS内容写入终端的EFS备份区,可以包括:
进行以下处理直至所述EFS存储区内的EFS内容全部写入所述EFS备份区:
调用EFS镜像提取接口从所述EFS存储区提取EFS数据;
每次在读取到N帧EFS数据之后,按照预设策略确定所述N帧EFS数据在所述EFS备份区的存储位置,将读取到的N帧EFS数据按照所述存储位置写入所述EFS备份区;其中,N为大于或等于1的整数。
在示例性实施方式中,所述调用EFS镜像提取接口从终端的EFS存储区提取EFS内容,并将提取到的EFS内容写入终端的EFS备份区,还可以包括:
在所述EFS存储区的EFS内容已读完,且剩余M帧EFS数据未写入所述ESF备份区时,按照预设策略确定所述M帧EFS数据在所述EFS备份区的存储位置,并将所述M帧EFS数据按照所述存储位置写入所述EFS备份区,其中,M为小于N且大于或等于1的整数。
在示例性实施方式中,所述将提取到的EFS内容写入EFS备份区之后,上述方法还可以包括:
在所述EFS备份区内所述EFS内容的存储位置之后,写入结束标记。
在示例性实施方式中,所述EFS备份区所在的存储器为闪存(Flash),所述Flash的每一页配置为能够写入N帧EFS数据,所述Flash的每一块包含L页,L为正整数;
所述按照预设策略确定所述N帧或M帧EFS数据在所述EFS备份区的存储位置,可以包括:
在第k次将EFS数据写入所述EFS备份区的第P页之后,在第k+1次写入EFS数据时,检查所述第P页所在的第B块是否写满;其中,k、B和P均为大于或等于0的整数;
若第B块已经写满,依次检查第B+i块是否可用,直至查找到可用的第B+I块;其中,i的取值包括大于或等于1的整数,I为i的取值中的一个;
确定第B+I块内的第一页的页号为(B+I)×L,将本次的EFS数据写入第(B+I)×L页;
若所述第P页所在的第B块没有写满,则将本次的EFS数据写入第P+1页。
在示例性实施方式中,在从终端的EFS存储区提取EFS内容之前,上述方法还可以包括:在收到EFS备份指令之后,设置EFS锁;
在将提取到的EFS内容写入所述EFS备份区之后,上述方法还可以包括:释放所述EFS锁。
第三方面,本申请实施例提供一种EFS恢复方法,包括:
将EFS内容备份到终端存储器的EFS备份区;
在终端启动阶段检测到有EFS文件损坏时,设置EFS恢复标志;
在终端启动阶段检测到所述EFS恢复标志时,将所述EFS备份区内的EFS内容恢复到EFS存储区。
第四方面,本申请实施例提供一种EFS恢复系统,包括:
EFS检测模块,用于检测终端的EFS存储区是否存在损坏的EFS文件;
EFS恢复模块,用于在检测到EFS存储区存在损坏的EFS文件时,将EFS备份区中的EFS内容写入所述EFS存储区;其中,所述EFS备份区中的EFS内容是根据预设备份策略备份得到的。
在示例性实施方式中,所述预设备份策略可以包括:从终端的EFS存储区提取EFS内容;将提取到的EFS内容写入终端的EFS备份区。
在示例性实施方式中,所述EFS检测模块可以用于在终端的第二级启动器SBL启动阶段,检测所述EFS存储区是否存在损坏的EFS文件,并根据检测结果,设置EFS恢复标志;
所述EFS恢复模块可以用于在终端的第三级启动器LK启动阶段,检测所述EFS恢复标志,并在检测到所述EFS恢复标志指示需要进行EFS恢复时,将所述EFS备份区中的EFS内容写入所述EFS存储区。
第五方面,本申请实施例提供一种EFS备份系统,包括:
EFS提取单元,用于从终端的EFS存储区提取EFS内容;
EFS备份单元,用于将提取到的EFS内容写入终端的EFS备份区。
在示例性实施方式中,所述EFS提取单元可以用于调用EFS镜像提取接口从终端的EFS存储区提取EFS内容。
第六方面,本申请实施例提供一种EFS恢复系统,包括:
EFS备份模块,用于将EFS内容备份到终端存储器的EFS备份区;
EFS检测模块,用于在终端启动阶段检测到有EFS文件损坏时,设置EFS恢复标志;
EFS恢复模块,用于在终端启动阶段检测到所述EFS恢复标志时,将所述EFS备份区内的EFS内容恢复到EFS存储区。
第七方面,本申请实施例提供一种终端,包括:启动器、调制解调(modem)处理器以及一个或多个存储器;其中,所述一个或多个存储器中包括EFS存储区以及EFS备份区;所述modem处理器包括EFS备份模块,用于将EFS内容备份到EFS备份区;所述启动器包括:EFS检测模块,用于在终端启动阶段检测到有EFS文件损坏时,设置EFS恢复标志;EFS恢复模块,用于在终端启动阶段检测到所述EFS恢复标志时,将所述EFS备份区内的EFS内容恢复到所述EFS存储区。
在示例性实施方式中,所述EFS备份模块可以用于在收到EFS备份指令之后,调用EFS镜像提取接口从所述EFS存储区提取EFS内容,并将提取到的EFS内容写入所述EFS备份区。
在示例性实施方式中,所述EFS检测模块可以用于在所述终端的第二级启动器SBL启动阶段,检测到所述EFS存储区中存在损坏的EFS文件时,设置EFS恢复标志用于指示需要进行EFS恢复;
所述EFS恢复模块可以用于在所述终端的第三级启动器LK启动阶段,检测到所述EFS恢复标志指示需要恢复EFS时,将所述EFS备份区中的EFS内容恢复到所述EFS存储区。
本申请实施例还提供一种机器可读介质,存储有EFS恢复程序,所述EFS恢复程序被处理器执行时实现上述第一方面或第三方面的EFS恢复方法。
本申请实施例还提供一种机器可读介质,存储有EFS备份程序,所述EFS备份程序被处理器执行时实现上述第二方面的EFS备份方法。
在本申请实施例中,进行EFS内容的备份,当终端因异常掉电导致EFS文件损坏造成死机时,能够通过备份的EFS内容进行EFS恢复,从而解决由于EFS文件损坏导致的死机问题,而且本申请提供的方案操作简便、易于实施,可以极大地提高终端的稳定性,且不额外增加成本。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实施例的一种终端的架构示意图;
图2为本申请实施例提供的一种EFS恢复方法的流程图;
图3为本申请实施例提供的一种EFS备份方法的流程图;
图4为本申请实施例提供的另一种EFS恢复方法的流程图;
图5为本申请实施例的EFS备份过程的示例流程图;
图6为本申请实施例中将提取的EFS内容写入Flash的流程图;
图7为本申请实施例的EFS恢复过程的示例流程图;
图8为本申请实施例中将EFS备份区的数据写入EFS存储区的示例流程图;
图9为本申请实施例的一种EFS恢复系统的示意图;
图10为本申请实施例的一种EFS备份系统的示意图;
图11为本申请实施例的另一种EFS恢复系统的示意图。
具体实施方式
以下结合附图对本申请实施例进行详细说明,应当理解,以下所说明的实施例仅用于说明和解释本申请,并不用于限定本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例提供一种终端,包括:启动器(bootloader)、调制解调(modem)处理器、一个或多个存储器;其中,一个或多个存储器中包括EFS存储区以及EFS备份区;modem处理器包括EFS备份模块,用于将EFS内容备份到EFS备份区;启动器包括:EFS检测模块,用于在终端启动阶段检测到有EFS文件损坏时,设置EFS恢复标志;EFS恢复模块,用于在终端启动阶段检测到EFS恢复标志时,将EFS备份区内的EFS内容恢复到EFS存储区。
其中,EFS存储区和EFS备份区可以在同一存储器中,也可以在不同存储器中。本申请对此并不限定。
其中,备份到EFS备份区的EFS内容(即EFS实际内容)可以包括:EFS实际文件内容、EFS目录数据以及文件路径数据。EFS内容可以是二进制数据,也可以是十六进制数据。
其中,EFS备份模块可以用于在收到EFS备份指令之后,调用EFS镜像提取接口从存储器中的EFS存储区提取EFS内容,并将提取到的EFS内容写入EFS备份区。
需要说明的是,EFS镜像提取接口并不是简单从存储器上读数据,而是经过一定的加工处理将EFS根目录下的所有文件和目录数据提取出来,读出来的数据类似于版本镜像文件内容的组织形式,当提取的数据写到存储器之后,相当于烧录镜像版本到存储器上,系统可以直接加载。
其中,EFS检测模块可以用于在终端的第二级启动器(SBL,Second Boot Loader)启动阶段,检测EFS存储区中是否存在损坏的EFS文件,根据检测结果,设置EFS恢复标志,并存储EFS恢复标志;
EFS恢复模块可以用于在终端的第三级启动器(LK,Little Kernel)启动阶段,检测EFS恢复标志,并在检测到EFS恢复标志指示需要恢复EFS时,将EFS备份区中的EFS内容写入EFS存储区。
下面参照图1以基于高通平台的终端为例进行说明。图1为本申请实施例提供的一种终端的架构示意图。如图1所示,本实施例的终端可以包括:启动器(bootloader)14、调制解调(Modem)处理器12、应用处理器(AP,Application Processor)10以及存储器16。其中,Modem处理器12、AP10以及存储器16之间可以通过总线相连。
需要说明的是,在图1中仅示意性绘出本申请涉及的元件或部分,在实际应用中,终端可以具有更多或更少的部件,或具有与图1不同的配置。
本实施例中的终端可以为智能手机等移动终端,本申请对此并不限定。
本实施例中,EFS存储区和EFS备份区在同一存储器16中。如图1所示,存储器16中包括EFS存储区161以及EFS备份区162;其中,EFS存储区161用于存储正常的EFS,比如存储有EFS目录以及EFS文件等;EFS备份区162用于存储从EFS存储区161提取到的EFS内容。
需要说明的是,EFS为文件系统,EFS存储区161内不是所有存储位置都存储有数据,有些存储位置没有存储实际数据;换言之,EFS目录和文件均衡分布在EFS存储区内的相应存储位置;而本申请中仅将EFS存储区161内的EFS实际内容提取出来,并存储在EFS备份区162,因此,EFS备份区162内占用的存储空间大小会小于EFS存储区161内占用的存储空间大小,从而节省备份所需空间,以提高备份效率。
如图1所示,存储器16中还可以包括:SBL存储区163、LK存储区164、AP存储区165以及Modem存储区166,分别用于给SBL、LK、AP以及Modem处理器提供相应的存储空间。
如图1所示,Modem处理器12中包括EFS备份模块120,用于在收到EFS备份指令之后,调用EFS镜像提取接口从EFS存储区161提取EFS内容,并将提取到的EFS内容写入EFS备份区162。
其中,EFS镜像提取接口可以是通过高通工具提取EFS镜像所使用的软件接口,然而,本申请对此并不限定。
如图1所示,bootloader14包括第一级启动器(PBL,Primary Boot Loader)140、SBL 142以及LK 144。其中,PBL固化在芯片上不可修改;在SBL启动阶段可以通过读取EFS目录和文件获取相关EFS文件的状态,因此,可以得知哪个EFS文件损坏,但是该阶段不支持存储器(如Flash)写操作,无法在此阶段对EFS中损坏的EFS文件进行恢复;在LK启动阶段可以支持Flash读写操作,但是无法加载EFS,因此,针对损坏的EFS文件,不能支持以EFS文件方式进行恢复。另外,SBL到LK之间可以通过共享内存传递标志状态。
本实施例中,SBL 142中可以包括:EFS检测模块1420,用于在终端的SBL启动阶段,检测EFS存储区161中是否存在损坏的EFS文件,根据检测结果,设置EFS恢复标志,并存储EFS恢复标志,比如保存在共享内存中;LK 144中可以包括:EFS恢复模块1440,用于在终端的LK启动阶段,检测EFS恢复标志,并在检测到EFS恢复标志指示需要恢复EFS时,将EFS备份区162中的EFS内容写入EFS存储区161。
需要说明的是,SBL142和LK144可以由相应的处理器或核执行,在EFS检测模块1420被执行时实现EFS文件检测和EFS恢复标志的设置过程,在EFS恢复模块1440被执行时实现EFS恢复标志的检测和备份的EFS内容的恢复过程。在示例性实施方式中,bootloader14可以设置在AP 10中,即SBL 142和LK 144可以由AP 10执行。然而,本申请对此并不限定。
本实施例中,终端开机采用多级启动,启动顺序为PBL、SBL、LK、AP和Modem系统。在终端出厂之前生产最后一步,终端的EFS备份模块120提取EFS内容,并将其备份写入到存储器16的EFS备份区162,以实现预先备份EFS,当因终端异常掉电导致EFS文件损坏造成死机时用于恢复EFS。而且,利用高通平台多级启动的特点,EFS检测模块1420在SBL启动阶段检测是否有EFS文件损坏,确定是否需要通知EFS恢复模块1440在LK阶段恢复EFS。
本实施例的实施过程如下:
第一、EFS备份模块120响应生产工具下发的EFS备份指令,提取正常的EFS内容,并将提取的EFS内容写入到预先在存储器16上规划好的EFS备份区162,以实现EFS备份;
第二、在SBL启动阶段,EFS检测模块1420通过读取扫描EFS中的目录和文件进行EFS文件检查,如果发现有EFS文件损坏,则设置EFS恢复标志为真(TRUE),否则设置EFS恢复标志为假(FALSE);其中,该EFS恢复标志保存在共享内存中传递给下一级启动阶段;
需要说明的是,在示例性实施方式中,如果发现有EFS文件损坏,可以设置EFS恢复标志的取值为1,否则设置EFS恢复标志的取值为0;然而,本申请对于EFS恢复标志的取值并不限定,只要通过EFS恢复标志可以指示需要进行EFS恢复的情况即可;或者,在示例性实施方式中,如果发现有EFS文件损坏,则设置EFS恢复标志,否则不设置EFS恢复标志。
第三、在LK启动阶段,EFS恢复模块1440检查EFS恢复标志,若EFS恢复标志为真,则将EFS备份区162中的数据恢复到正常的EFS存储区161,然后再按照启动流程正常加载AP和Modem系统;否则,正常加载AP和Modem系统。
如图2所示,本申请实施例提供一种EFS恢复方法,包括:
S21、检测终端的EFS存储区是否存在损坏的EFS文件;
S22、在检测到EFS存储区存在损坏的EFS文件时,将EFS备份区中的EFS内容写入EFS存储区;其中,EFS备份区中的EFS内容是根据预设备份策略备份得到的。
其中,预设备份策略可以包括:从终端的EFS存储区提取EFS内容;将提取到的EFS内容写入终端的EFS备份区。
其中,S21可以包括:在终端的SBL启动阶段,检测EFS存储区是否存在损坏的EFS文件,并根据检测结果,设置EFS恢复标志;
S22可以包括:在终端的LK启动阶段,检测EFS恢复标志,并在检测到EFS恢复标志指示需要进行EFS恢复时,将EFS备份区中的EFS内容写入所述EFS存储区。
其中,所述检测所述EFS存储区是否存在损坏的EFS文件,并根据检测结果,设置EFS恢复标志,可以包括:
通过读取EFS存储区中的目录和文件,检测是否存在损坏的EFS文件;
在检测到存在损坏的EFS文件时,设置EFS恢复标志用于指示需要进行EFS恢复,在检测到没有损坏的EFS文件时,设置EFS恢复标志用于指示EFS正常。
其中,所述将EFS备份区中的EFS内容写入EFS存储区,可以包括:
确定EFS备份区内的EFS数据大小;
读取EFS备份区内的EFS数据,并写入EFS存储区;
在将EFS备份区内的EFS数据全部写入EFS存储区之后,清空EFS存储区的剩余空间。
如图3所示,本申请实施例还提供一种EFS备份方法,包括:
S31、从终端的EFS存储区提取EFS内容;
S32、将提取到的EFS内容写入终端的EFS备份区。
其中,从终端的EFS存储区提取EFS内容,并将提取到的EFS内容写入终端的EFS备份区,可以包括:
调用EFS镜像提取接口从终端的EFS存储区提取EFS内容,并将提取到的EFS内容写入终端的EFS备份区;或者,
通过EFS镜像方式提取EFS文件并烧录到所述EFS备份区。
换言之,EFS备份区内的数据可以调用EFS镜像提取接口从EFS存储区提取后写入;或者,通过高通QPST(Qualcomm Product Support Tool)工具将终端中的正常EFS提取出来,提取出的镜像文件保存在电脑上,在生产过程终端烧录版本时,将上述提取的镜像文件通过下载方式烧录到内部存储器上的EFS备份区。
其中,所述调用EFS镜像提取接口从终端的EFS存储区提取EFS内容,并将提取到的EFS内容写入终端的EFS备份区,可以包括:
进行以下处理直至EFS存储区内的EFS内容全部写入EFS备份区:
调用EFS镜像提取接口从EFS存储区提取EFS数据;
每次在读取到N帧EFS数据之后,按照预设策略确定N帧EFS数据在EFS备份区的存储位置,将读取到的N帧EFS数据按照该存储位置写入EFS备份区;其中,N为大于或等于1的整数。
在示例性实施方式中,采用高通平台的EFS镜像提取接口从EFS存储区提取EFS数据时,每次可以提取一帧EFS数据。然而,本申请对此并不限定。
其中,所述调用EFS镜像提取接口从终端的EFS存储区提取EFS内容,并将提取到的EFS内容写入终端的EFS备份区,还可以包括:
在EFS存储区的EFS内容已读完,且剩余M帧EFS数据未写入ESF备份区时,按照预设策略确定M帧EFS数据在EFS备份区的存储位置,并将M帧EFS数据按照该存储位置写入EFS备份区,其中,M为小于N且大于或等于1的整数。
其中,在将提取到的EFS内容写入EFS备份区之后,本实施例的EFS备份方法还可以包括:在EFS备份区内EFS内容的存储位置之后,写入结束标记。
在示例性实施方式中,EFS备份区所在的存储器可以为闪存(Flash),Flash的每一页配置为能够写入N帧EFS数据,Flash的每一块包含L页,L为正整数;比如,一帧EFS数据的大小可以为512个字节,Flash的每一页的大小可以为2048个字节,则N=2048/512=4;
其中,按照预设策略确定N帧或M帧EFS数据在EFS备份区的存储位置,可以包括:
在第k次将EFS数据写入EFS备份区的第P页之后,在第k+1次写入EFS数据时,检查第P页所在的第B块是否写满;其中,k、B和P均为大于或等于0的整数;
若第B块已经写满,依次检查第B+i块是否可用,直至查找到可用的第B+I块;其中,i的取值包括大于或等于1的整数,I为i的取值中的一个;
确定第B+I块内的第一页的页号为(B+I)×L,将本次的EFS数据写入第(B+I)×L页;
若第P页所在的第B块没有写满,则将本次的EFS数据写入第P+1页。
换言之,按页在Flash写入EFS数据,按块进行擦除;在Flash中一个块没写满时,继续将EFS数据写入该块,在Flash中一个块写满之后,查找到可用的块,将该块擦除后从该块的第一页开始写入数据。
在示例性实施方式中,在S31之前,本实施例的EFS备份方法还可以包括:在收到EFS备份指令之后,设置EFS锁;
在将提取到的EFS内容全部写入EFS备份区之后,本实施例的EFS备份方法还可以包括:释放EFS锁。
如图4所示,本申请实施例还提供一种EFS恢复方法,包括:
S41、将EFS内容备份到终端存储器的EFS备份区;
S42、在终端启动阶段检测到有EFS文件损坏时,设置EFS恢复标志;
S43、在终端启动阶段检测到EFS恢复标志时,将EFS备份区内的EFS内容恢复到EFS存储区。
下面参照图5和图6对本实施例的EFS备份过程进行说明。
本实施例中,为了能够在出现EFS文件损坏问题时有可供恢复的完好EFS,需要在终端内部存储正常的EFS的备份,备份的EFS保存在预先规划的EFS备份区。本实施例中,为了便于实施,将备份过程放在终端出厂前的生产最后一个步骤,通过和生产工具配合完成EFS备份。本实施例中,以终端的存储器为Flash,且EFS存储区和EFS备份区均在Flash上为例进行说明。
如图5所示,本实施例提供的EFS备份过程包括:
S501、终端接收生产工具通过diag端口发送的EFS备份指令;
S502、设置EFS锁;本实施例中,通过锁定EFS,防止备份期间对EFS进行修改;
S503、提取整个EFS的实际内容并将其写入EFS备份区;其中,EFS备份区是在Flash上提前规划好的;本实施例中,可以通过高通接口efs_get提取EFS的有效内容,并写入EFS备份区;
S504、判断内容提取和备份是否完成;若完成,执行S505;若未完成,执行S503;
S505、上述备份结束后,释放EFS锁;最后终端可以返回备份结果给生产工具。
需要说明的是,上述EFS备份过程不是简单地进行分区内容拷贝,而是通过工具提取EFS镜像使用的软件接口,将EFS实际内容(比如,实际的二进制数据)提取出来并加以保存。本实施例的备份方式只提取实际内容,而且在提取的同时可以进行备份,从而大大节省备份所需要的空间,提高备份效率。
参照图6,通过高通底层EFS镜像提取接口读取EFS实际内容,该接口每次只能读取一帧512个字节的数据,而且返回EFS是否读完的信息。根据Flash的硬件特性要求,需要按页读写数据,按块擦。本实施例中,以Flash页大小为2048字节、每个块包含64页为例,说明EFS实际内容提取和备份过程。
如图6所示,本实施例的过程包括:
S601、打开EFS备份区,初始化起始块号和页号;其中,起始块号和页号均为0;
S602、设置变量count为0,并清空临时缓存temp_buf;
S603、通过高通EFS镜像提取接口获取一帧EFS数据,对应的count加1;其中,一帧EFS数据的大小为512个字节;
S604、判断EFS中数据是否已读完,如果没有读完,则执行S605,若结束,则执行S620;
S605、判断count是否为4,即是否已经读取4次,若不是,返回S603,若是,执行S606,即将这四次读取的四帧EFS数据搬移到temp_buf;这里temp_buf用于存放写入Flash的一页数据,四次读取的数据刚好满一个Flash页大小;
S607、检查当前是否写满一个块;若已写满,则执行S608,即块号加1;若没有写满一个块,则执行S612;
在S608之后,执行S609,即检查块号加1对应的块是否为坏块,如果是坏块,则返回S608,直到找到一个好块。如果是好块,则执行S610,即擦除查找到的块号对应的块,然后,执行S611,即根据查找到的块号计算出新的页号,其中,可以按照以下式子计算新的页号:新页号=块号×每一块内页数;
S612、将temp_buf内的数据按照当前页号写入Flash;
S613、页号加1。
在S613之后,返回S602,即清除count的计数和temp_buf,重新读取EFS的数据;
按照上述方式重复依次将读到的数据按页写入Flash的EFS备份区。当数据写满64页,也就是一个Flash块时,查找新的好块,继续按页写入。
重复以上步骤,直到读完EFS的数据。
在EFS的数据读完时,有可能出现剩下未写入的、不足一页大小的数据,此时,仍然可以按照一页数据进行写入,另外可以在最后一页写入结束标记。
S620、将剩下未写入的、不足一页大小的数据搬移至temp_buf;
S621、判断当前是否写满一个块;若已写满,则执行S622,即块号加1;若没有写满一个块,则执行S627;
在S622之后,执行S623,即检查块号加1对应的块是否为坏块;如果是坏块,则返回S622,直到找到一个好块;如果是好块,则执行S625,即擦除查找到的块号对应的块,然后,执行S626,即根据查找到的块号计算出新的页号,其中,可以按照以下式子计算新的页号:新页号=块号×每一块内页数;
S627、将temp_buf内的数据按照当前页号写入Flash;
S628、页号加1;
在将剩余数据写入Flash之后,写入结束标记,且结束标记写在独立的一页中。
S629、在temp_buf填充结束标记;
S630、判断当前是否写满一个块;若已写满,则执行S631,即块号加1;若没有写满一个块,则执行S635;
在S631之后,执行S632,即检查块号加1对应的块是否为坏块;如果是坏块,则返回S631,直到找到一个好块;如果是好块,则执行S633,即擦除查找到的块号对应的块,然后,执行S634,即根据查找到的块号计算出新的页号,其中,可以按照以下式子计算新的页号:新页号=块号×每一块内页数;
S635、将temp_buf内的结束标记按照当前页号写入Flash;
S636、关闭EFS备份区。
在本实施例中,在剩余数据和结束标记写入时,同样需要判断当前块是否写满,若写满,则需要重新找一个好块来写入数据。
本实施例中,在最后写入结束标记,能够在数据恢复时方便找到备份的内容结束位置,而且通过结束标记可以判断是否有做过EFS数据备份。
通过本实施例的备份方式可以将EFS实际内容提取出来,并在提取的同时重组数据包写入EFS备份区,实施简单有效,可极大地提高备份效率。
在本实施例中,S42可以包括:在终端的SBL启动阶段检测到EFS存储区内存在损坏的EFS文件时,设置EFS恢复标志用于指示需要进行EFS恢复;
S43可以包括:在终端的LK启动阶段检测到EFS恢复标志用于指示需要进行EFS恢复时,将EFS备份区内的EFS内容恢复到EFS存储区。
在示例性实施方式中,在终端的SBL启动阶段检测到有EFS文件损坏时,可以设置EFS恢复标志,否则不设置EFS恢复标志;在终端的LK启动阶段检测到存在EFS恢复标志时,将EFS备份区内的EFS内容写入EFS存储区;或者,在终端启动阶段检测到有EFS文件损坏时,可以设置EFS恢复标志为TRUE或1,否则,设置EFS恢复标志为FLASE或0;在终端的LK启动阶段检测到EFS恢复标志为TRUE或1时,将EFS备份区内的EFS内容写入EFS存储区。
在示例性实施方式中,将EFS备份区内的EFS内容恢复到EFS存储区,可以包括:
确定EFS备份区内的EFS数据大小;
读取EFS备份区内的EFS数据,并写入EFS存储区;
在将EFS备份区内的EFS数据全部写入EFS存储区之后,清空EFS存储区的剩余空间。
如图7所示,以高通的多级启动平台为例,多级启动的顺序是PBL->SBL->LK。在SBL阶段可读取内部存储器,但是不支持擦写内部存储器,LK阶段可以支持完整的存储器读写,多级启动之间可以通过共享内存传递状态标志。根据这一特点,在终端的二级启动SBL阶段通过读取存储器中Modem侧EFS检查其中文件是否有损坏,并将是否需要恢复EFS的EFS恢复标志通过共享内存传递给三级启动LK,在LK中根据EFS恢复标志的状态确定是否恢复EFS。
图7为本实施例提供的EFS恢复流程的示意图,本实施例包括以下步骤:
S701、在二级启动SBL中,通过扫描EFS中的目录和文件,检查是否有EFS文件损坏;
S702、一旦发现有EFS文件损坏,则设置EFS恢复标志为真(TRUE),否则设置为FALSE;其中,此EFS恢复标志通过共享内存传递给下一个启动阶段;
S703、在三级启动LK中,获取并检测EFS恢复标志;
S704、在LK中判断EFS恢复标志是否为真,若为真,则执行S705,即恢复EFS,并在恢复EFS之后,加载系统正常启动(S706);若不为真,则直接加载系统正常启动。
其中,S705可以包括:从EFS备份区读取备份的EFS内容,并将其恢复到EFS存储区。
需要说明的是,由于同时打开EFS存储区和EFS备份区两个分区读写操作多次交替会导致Flash异常。因此,在本实施例中,先将EFS备份区的数据整体读出来放到缓存,然后再将缓存中数据整体写入正常的EFS存储区。其中,在Flash恢复EFS的操作过程与备份过程类似,需要按页读写、按块擦除,操作前检查坏块,先擦后写。
如图8所示,本实例的恢复过程包括:
S801、通过遍历EFS备份区找到做EFS备份时的结束标记;
S802、通过结束标记,计算出备份的EFS数据总大小;
S803、按照EFS备份数据总大小将备份的EFS数据全部读出到临时缓存;
S804、将上述缓存的数据按顺序写入EFS存储区;
S805、清除EFS存储区的剩余空间的数据,即将EFS存储区写完数据后的剩余空间清空,这个是为了将原来EFS存储区的残存数据清掉。
如图9所示,本申请实施例还提供一种EFS恢复系统,包括:
EFS检测模块901,用于检测终端的EFS存储区是否存在损坏的EFS文件;
EFS恢复模块902,用于在检测到EFS存储区存在损坏的EFS文件时,将EFS备份区中的EFS内容写入EFS存储区;其中,EFS备份区中的EFS内容是根据预设备份策略备份得到的。
其中,预设备份策略可以包括:从终端的EFS存储区提取EFS内容;将提取到的EFS内容写入终端的EFS备份区。
其中,EFS检测模块901可以用于在终端的SBL启动阶段,检测EFS存储区是否存在损坏的EFS文件,并根据检测结果,设置EFS恢复标志;
EFS恢复模块902可以用于在终端的LK启动阶段,检测EFS恢复标志,并在检测到EFS恢复标志指示需要进行EFS恢复时,将EFS备份区中的EFS内容写入EFS存储区。
其中,EFS检测模块901可以用于通过以下方式检测EFS存储区是否存在损坏的EFS文件,并根据检测结果,设置EFS恢复标志:
通过读取EFS存储区中的目录和文件,检测是否存在损坏的EFS文件;
在检测到存在损坏的EFS文件时,设置EFS恢复标志用于指示需要进行EFS恢复,在检测到没有损坏的EFS文件时,设置EFS恢复标志用于指示EFS正常。
其中,EFS恢复模块902可以用于通过以下方式将EFS备份区中的EFS内容写入EFS存储区:
确定EFS备份区内的EFS数据大小;
读取EFS备份区内的EFS数据,并写入EFS存储区;
在将EFS备份区内的EFS数据全部写入EFS存储区之后,清空EFS存储区的剩余空间。
如图10所示,本申请实施例还提供一种EFS备份系统,包括:
EFS提取单元1001,用于从终端的EFS存储区提取EFS内容;
EFS备份单元1002,用于将提取到的EFS内容写入终端的EFS备份区。
其中,EFS提取单元1001可以用于调用EFS镜像提取接口从终端的EFS存储区提取EFS内容。
其中,EFS提取单元1001可以用于调用EFS镜像提取接口从EFS存储区读取EFS数据;EFS备份单元1002用于每次在EFS提取单元1001提取到N帧EFS数据之后,按照预设策略确定N帧EFS数据在EFS备份区的存储位置,将读取到的N帧EFS数据按照该存储位置写入EFS备份区,直至EFS存储区内的EFS内容全部写入EFS备份区;其中,N为大于或等于1的整数。
在示例性实施方式中,EFS备份单元1002还可以用于在EFS存储区内的EFS内容已读完,且剩余M帧EFS数据未写入EFS备份区时,按照预设策略确定M帧EFS数据在EFS备份区的存储位置,并将M帧EFS数据按照该存储位置写入EFS备份区,其中,M为小于N且大于或等于1的整数。
在示例性实施方式中,EFS备份单元1002还可以用于在EFS备份区内EFS内容的存储位置之后,写入结束标记。
在示例性实施方式中,EFS备份区所在的存储器可以为Flash,Flash的每一页配置为能够写入N帧EFS数据,Flash的每一块包含L页,L为正整数;
EFS备份单元1002可以用于通过以下方式按照预设策略确定N帧或M帧EFS数据在EFS备份区的存储位置:
在第k次将EFS数据写入EFS备份区的第P页之后,在第k+1次写入EFS数据时,检查第P页所在的第B块是否写满;其中,k、B和P均为大于或等于0的整数;
若第B块已经写满,依次检查第B+i块是否可用,直至查找到可用的第B+I块;其中,i的取值包括大于或等于1的整数,I为i的取值中的一个;
确定第B+I块内的第一页的页号为(B+I)×L,将本次的EFS数据写入第(B+I)×L页;
若第P页所在的第B块没有写满,则将本次的EFS数据写入第P+1页。
如图11所示,本申请实施例还提供一种EFS恢复系统,包括:
EFS备份模块1101,用于将EFS内容备份到终端存储器的EFS备份区;
EFS检测模块1102,用于在终端启动阶段检测到有EFS文件损坏时,设置EFS恢复标志;
EFS恢复模块1103,用于在终端启动阶段检测到EFS恢复标志时,将EFS备份区内的EFS内容恢复到EFS存储区。
关于本实施例的EFS备份模块的处理过程可以参照上述实施例中EFS备份方法的说明,EFS检测模块和EFS恢复模块可以参照上述实施例中的EFS恢复方法的说明,故于此不再赘述。
本申请实施例还提供一种机器可读介质,存储有EFS恢复程序,当所述EFS恢复程序被处理器执行时实现上述图2或图4所示实施例的EFS恢复方法。
本申请实施例还提供一种机器可读介质,存储有EFS备份程序,当所述EFS备份程序被处理器执行时实现上述图3所示实施例的EFS备份方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在机器可读介质(比如,计算机可读介质)上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上显示和描述了本申请的基本原理和主要特征和本申请的优点。本申请不受上述实施例的限制,上述实施例和说明书中描述的只是说明本申请的原理,在不脱离本申请精神和范围的前提下,本申请还会有各种变化和改进,这些变化和改进都落入要求保护的本申请范围内。
Claims (24)
1.一种加密文件系统EFS恢复方法,包括:
检测终端的EFS存储区是否存在损坏的EFS文件;
在检测到EFS存储区存在损坏的EFS文件时,将EFS备份区中的EFS内容写入所述EFS存储区;其中,所述EFS备份区中的EFS内容是根据预设备份策略备份得到的。
2.根据权利要求1所述的方法,其特征在于,所述预设备份策略包括:
从终端的EFS存储区提取EFS内容;
将提取到的EFS内容写入终端的EFS备份区。
3.根据权利要求1或2所述的方法,其特征在于,所述检测终端的EFS存储区是否存在损坏的EFS文件,包括:在终端的第二级启动器SBL启动阶段,检测所述EFS存储区是否存在损坏的EFS文件,并根据检测结果,设置EFS恢复标志;
所述在检测到存在损坏的EFS文件时,将EFS备份区中的EFS内容写入所述EFS存储区,包括:在终端的第三级启动器LK启动阶段,检测所述EFS恢复标志,并在检测到所述EFS恢复标志指示需要进行EFS恢复时,将所述EFS备份区中的EFS内容写入所述EFS存储区。
4.根据权利要求3所述的方法,其特征在于,所述检测所述EFS存储区是否存在损坏的EFS文件,并根据检测结果,设置EFS恢复标志,包括:
通过读取EFS存储区中的目录和文件,检测是否存在损坏的EFS文件;
在检测到存在损坏的EFS文件时,设置EFS恢复标志用于指示需要进行EFS恢复,在检测到没有损坏的EFS文件时,设置EFS恢复标志用于指示EFS正常。
5.根据权利要求3所述的方法,其特征在于,所述将EFS备份区中的EFS内容写入所述EFS存储区,包括:
确定所述EFS备份区内的EFS数据大小;
读取所述EFS备份区内的EFS数据,并写入所述EFS存储区;
在将所述EFS备份区内的EFS数据全部写入所述EFS存储区之后,清空所述EFS存储区的剩余空间。
6.一种加密文件系统EFS备份方法,包括:
从终端的EFS存储区提取EFS内容;
将提取到的EFS内容写入终端的EFS备份区。
7.根据权利要求6所述的方法,其特征在于,所述从终端的EFS存储区提取EFS内容,并将提取到的EFS内容写入终端的EFS备份区,包括:
调用EFS镜像提取接口从终端的EFS存储区提取EFS内容,并将提取到的EFS内容写入终端的EFS备份区;或者,
通过EFS镜像方式提取EFS文件并烧录到所述EFS备份区。
8.根据权利要求7所述的方法,其特征在于,所述调用EFS镜像提取接口从终端的EFS存储区提取EFS内容,并将提取到的EFS内容写入终端的EFS备份区,包括:
进行以下处理直至所述EFS存储区内的EFS内容全部写入所述EFS备份区:
调用EFS镜像提取接口从所述EFS存储区提取EFS数据;
每次在读取到N帧EFS数据之后,按照预设策略确定所述N帧EFS数据在所述EFS备份区的存储位置,将读取到的N帧EFS数据按照所述存储位置写入所述EFS备份区;其中,N为大于或等于1的整数。
9.根据权利要求8所述的方法,其特征在于,所述调用EFS镜像提取接口从终端的EFS存储区提取EFS内容,并将提取到的EFS内容写入终端的EFS备份区,还包括:
在所述EFS存储区的EFS内容已读完,且剩余M帧EFS数据未写入所述ESF备份区时,按照预设策略确定所述M帧EFS数据在所述EFS备份区的存储位置,并将所述M帧EFS数据按照所述存储位置写入所述EFS备份区,其中,M为小于N且大于或等于1的整数。
10.根据权利要求8或9所述的方法,其特征在于,所述将提取到的EFS内容写入EFS备份区之后,所述方法还包括:
在所述EFS备份区内所述EFS内容的存储位置之后,写入结束标记。
11.根据权利要求8或9所述的方法,其特征在于,所述EFS备份区所在的存储器为闪存Flash,所述Flash的每一页配置为能够写入N帧EFS数据,所述Flash的每一块包含L页,L为正整数;
所述按照预设策略确定所述N帧或M帧EFS数据在所述EFS备份区的存储位置,包括:
在第k次将EFS数据写入所述EFS备份区的第P页之后,在第k+1次写入EFS数据时,检查所述第P页所在的第B块是否写满;其中,k、B和P均为大于或等于0的整数;
若第B块已经写满,依次检查第B+i块是否可用,直至查找到可用的第B+I块;其中,i的取值包括大于或等于1的整数,I为i的取值中的一个;
确定第B+I块内的第一页的页号为(B+I)×L,将本次的EFS数据写入第(B+I)×L页;
若所述第P页所在的第B块没有写满,则将本次的EFS数据写入第P+1页。
12.根据权利要求6所述的方法,其特征在于,在从终端的EFS存储区提取EFS内容之前,所述方法还包括:在收到EFS备份指令之后,设置EFS锁;
在将提取到的EFS内容写入所述EFS备份区之后,所述方法还包括:释放所述EFS锁。
13.一种加密文件系统EFS恢复方法,包括:
将EFS内容备份到终端存储器的EFS备份区;
在终端启动阶段检测到有EFS文件损坏时,设置EFS恢复标志;
在终端启动阶段检测到所述EFS恢复标志时,将所述EFS备份区内的EFS内容恢复到EFS存储区。
14.一种加密文件系统EFS恢复系统,其特征在于,包括:
EFS检测模块,用于检测终端的EFS存储区是否存在损坏的EFS文件;
EFS恢复模块,用于在检测到EFS存储区存在损坏的EFS文件时,将EFS备份区中的EFS内容写入所述EFS存储区;其中,所述EFS备份区中的EFS内容是根据预设备份策略备份得到的。
15.根据权利要求14所述的系统,其特征在于,所述预设备份策略包括:
从终端的EFS存储区提取EFS内容;
将提取到的EFS内容写入终端的EFS备份区。
16.根据权利要求14或15所述的系统,其特征在于,所述EFS检测模块用于在终端的第二级启动器SBL启动阶段,检测所述EFS存储区是否存在损坏的EFS文件,并根据检测结果,设置EFS恢复标志;
所述EFS恢复模块用于在终端的第三级启动器LK启动阶段,检测所述EFS恢复标志,并在检测到所述EFS恢复标志指示需要进行EFS恢复时,将所述EFS备份区中的EFS内容写入所述EFS存储区。
17.一种加密文件系统EFS备份系统,其特征在于,包括:
EFS提取单元,用于从终端的EFS存储区提取EFS内容;
EFS备份单元,用于将提取到的EFS内容写入终端的EFS备份区。
18.根据权利要求17所述的系统,其特征在于,所述EFS提取单元用于调用EFS镜像提取接口从终端的EFS存储区提取EFS内容。
19.一种加密文件系统EFS恢复系统,其特征在于,包括:
EFS备份模块,用于将EFS内容备份到终端存储器的EFS备份区;
EFS检测模块,用于在终端启动阶段检测到有EFS文件损坏时,设置EFS恢复标志;
EFS恢复模块,用于在终端启动阶段检测到所述EFS恢复标志时,将所述EFS备份区内的EFS内容恢复到EFS存储区。
20.一种终端,其特征在于,包括:启动器、调制解调modem处理器以及一个或多个存储器;
所述一个或多个存储器中包括加密文件系统EFS存储区以及EFS备份区;
所述modem处理器包括EFS备份模块,用于将EFS内容备份到EFS备份区;
所述启动器包括:
EFS检测模块,用于在终端启动阶段检测到有EFS文件损坏时,设置EFS恢复标志;
EFS恢复模块,用于在终端启动阶段检测到所述EFS恢复标志时,将所述EFS备份区内的EFS内容恢复到所述EFS存储区。
21.根据权利要求20所述的终端,其特征在于,所述EFS备份模块用于在收到EFS备份指令之后,调用EFS镜像提取接口从所述EFS存储区提取EFS内容,并将提取到的EFS内容写入所述EFS备份区。
22.根据权利要求20所述的终端,其特征在于,所述EFS检测模块用于在所述终端的第二级启动器SBL启动阶段,检测到所述EFS存储区中存在损坏的EFS文件时,设置EFS恢复标志用于指示需要进行EFS恢复;
所述EFS恢复模块用于在所述终端的第三级启动器LK启动阶段,检测到所述EFS恢复标志指示需要恢复EFS时,将所述EFS备份区中的EFS内容恢复到所述EFS存储区。
23.一种机器可读介质,其特征在于,存储有加密文件系统EFS恢复程序,所述EFS恢复程序被处理器执行时实现如权利要求1至5中任一项所述的EFS恢复方法。
24.一种机器可读介质,其特征在于,存储有加密文件系统EFS备份程序,所述EFS备份程序被处理器执行时实现如权利要求6至12中任一项所述的EFS备份方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710329344.0A CN108874581A (zh) | 2017-05-11 | 2017-05-11 | 一种efs恢复和备份方法、系统及终端 |
PCT/CN2017/109649 WO2018205519A1 (zh) | 2017-05-11 | 2017-11-07 | 一种efs恢复和备份方法、系统及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710329344.0A CN108874581A (zh) | 2017-05-11 | 2017-05-11 | 一种efs恢复和备份方法、系统及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108874581A true CN108874581A (zh) | 2018-11-23 |
Family
ID=64104298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710329344.0A Pending CN108874581A (zh) | 2017-05-11 | 2017-05-11 | 一种efs恢复和备份方法、系统及终端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108874581A (zh) |
WO (1) | WO2018205519A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328426A (zh) * | 2020-09-25 | 2021-02-05 | 武汉海微科技有限公司 | 系统uboot损坏检测及恢复方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1746857A (zh) * | 2004-09-08 | 2006-03-15 | 华为技术有限公司 | 一种移动终端关键参数的恢复方法 |
KR20060024682A (ko) * | 2004-09-14 | 2006-03-17 | 엘지전자 주식회사 | 이동 통신 단말기의 업그레이드 시간 단축 방법 |
CN102622283A (zh) * | 2011-01-30 | 2012-08-01 | 上海三旗通信科技股份有限公司 | 一种终端射频校准参数的备份恢复方法及装置 |
CN102945192A (zh) * | 2012-10-19 | 2013-02-27 | 广东欧珀移动通信有限公司 | 一种数据备份和恢复的方法及移动智能终端 |
CN104598335A (zh) * | 2015-01-16 | 2015-05-06 | 深圳市中兴物联科技有限公司 | Nv参数的备份恢复方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101403305B1 (ko) * | 2012-08-23 | 2014-06-05 | 한국전자통신연구원 | 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법 |
CN103019892A (zh) * | 2012-12-29 | 2013-04-03 | 盛耀无线通讯科技(北京)有限公司 | 一种基于高通平台的nv数据备份与恢复方法 |
CN104598256A (zh) * | 2013-10-30 | 2015-05-06 | 鸿富锦精密工业(武汉)有限公司 | 计算机bios恢复系统及方法 |
CN104572352B (zh) * | 2015-01-12 | 2018-02-23 | 福建升腾资讯有限公司 | 一种pos终端关键数据备份恢复方法 |
-
2017
- 2017-05-11 CN CN201710329344.0A patent/CN108874581A/zh active Pending
- 2017-11-07 WO PCT/CN2017/109649 patent/WO2018205519A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1746857A (zh) * | 2004-09-08 | 2006-03-15 | 华为技术有限公司 | 一种移动终端关键参数的恢复方法 |
KR20060024682A (ko) * | 2004-09-14 | 2006-03-17 | 엘지전자 주식회사 | 이동 통신 단말기의 업그레이드 시간 단축 방법 |
CN102622283A (zh) * | 2011-01-30 | 2012-08-01 | 上海三旗通信科技股份有限公司 | 一种终端射频校准参数的备份恢复方法及装置 |
CN102945192A (zh) * | 2012-10-19 | 2013-02-27 | 广东欧珀移动通信有限公司 | 一种数据备份和恢复的方法及移动智能终端 |
CN104598335A (zh) * | 2015-01-16 | 2015-05-06 | 深圳市中兴物联科技有限公司 | Nv参数的备份恢复方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328426A (zh) * | 2020-09-25 | 2021-02-05 | 武汉海微科技有限公司 | 系统uboot损坏检测及恢复方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2018205519A1 (zh) | 2018-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101635658B1 (ko) | 불휘발성 메모리로부터의 디바이스 부트업 동안 에러들의 핸들링 | |
CN109032632B (zh) | 一种fota升级方法、无线通信终端及存储介质 | |
CN101251826B (zh) | 闪速存储器、用于闪速存储器的数据管理方法及设备 | |
CN102298545B (zh) | 一种系统启动引导处理方法及装置 | |
CN109086078B (zh) | 安卓系统升级方法、装置、服务器及移动终端 | |
CN104915226B (zh) | 一种网络设备软件启动方法、装置及网络设备 | |
CN113254048B (zh) | 引导程序更新方法、装置、设备及计算机可读介质 | |
CN111045870B (zh) | 一种保存与恢复元数据的方法、装置和介质 | |
CN105786545B (zh) | 基于异构混合内存的断点恢复方法和系统 | |
KR101548452B1 (ko) | 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치 | |
CN113626262A (zh) | 一种bmc恢复方法、系统、设备以及介质 | |
CN108874581A (zh) | 一种efs恢复和备份方法、系统及终端 | |
CN110795155B (zh) | 系统启动方法及装置、电子设备、存储介质 | |
CN109165117B (zh) | 数据处理的方法和系统 | |
CN110908722B (zh) | 应用于操作系统启动的方法、装置、电子设备及存储介质 | |
CN105830067B (zh) | 一种文件信息处理方法、装置及文件处理设备、系统 | |
CN107436783B (zh) | 一种用于移动终端的差分升级方法、存储介质及移动终端 | |
CN113051184B (zh) | 一种数据读取的方法、装置、电子设备及存储介质 | |
KR20080107629A (ko) | 시스템 복원 장치 및 방법 | |
CN117785546A (zh) | 数据库备份的方法、系统和计算设备集群 | |
CN113434338A (zh) | 数据存储的容错方法、装置、设备及存储介质 | |
CN111292796A (zh) | 一种raid损坏详细信息获取方法、系统、终端及存储介质 | |
US20030237021A1 (en) | Automatic restoration of software applications in a mobile computing device | |
CN111367717B (zh) | 一种电子设备的恢复方法、装置及系统 | |
CN109976940A (zh) | 一种软启动网络设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |