CN104536841A - 一种Android系统Data分区自修复方法及系统 - Google Patents
一种Android系统Data分区自修复方法及系统 Download PDFInfo
- Publication number
- CN104536841A CN104536841A CN201410688336.1A CN201410688336A CN104536841A CN 104536841 A CN104536841 A CN 104536841A CN 201410688336 A CN201410688336 A CN 201410688336A CN 104536841 A CN104536841 A CN 104536841A
- Authority
- CN
- China
- Prior art keywords
- android
- data
- intelligent terminal
- subregion
- data subregion
- 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.)
- Granted
Links
Landscapes
- Retry When Errors Occur (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种Android系统Data分区自修复方法及系统,涉及Android系统分区自修复技术领域,旨在提供一种操作方便,且能够保障数据的完整性与系统的稳定性的Data分区自修复方法及系统。本发明技术要点:Android智能终端开机进入Android系统后,判断Data分区是否损坏,若损坏则执行以下步骤;设置进入Recovery系统的标识;设置进入Recovery系统后修复Data分区的标识;重新启动Android智能终端;待Android智能终端进入Recovery系统后对Data分区进行修复:卸载Data分区;执行修复指令;撤销对进入Recovery系统的标识的设置。
Description
技术领域
本发明涉及一种Android系统分区自修复技术领域,特别是涉及Android系统Data分区自修复技术。
背景技术
目前,Android系统的智能电视终端中的Data分区存放的用户数据越来越多,因此,Android系统在运行的过程中系统对Data分区的读写以及擦除操作越来越频繁。如果在对Data分区进行读写或者擦除操作时突然断电会导致Data分区文件系统的损坏。Data分区损坏后分区将由原来的读写权限变为只读权限,Data分区权限改变后系统将无法对Data分区下的数据进行操作,从而导致系统崩溃。
目前对于出现Data分区损坏的终端,通常采用刷机作为修复Data分区的方法,然而这样的解决方法不但会使得系统设置的相关数据和程序数据丢失而且操作复杂难度系数大。
发明内容
本发明所要解决的技术问题是:针对上述问题,提供一种Android系统Data分区自修复方法及系统。
其中,本发明提供的Android系统Data分区自修复方法包括:
步骤1:Android智能终端开机进入Android系统后,判断Data分区是否损坏,若损坏则执行步骤2~6;
步骤2:设置进入Recovery系统的标识,以便Android智能终端重新启动后直接进入Recovery系统;
步骤3:设置进入Recovery系统后修复Data分区的标识,以便Android智能终端进入Recovery系统后对Data分区进行修复;
步骤 4:重新启动Android智能终端;
步骤5:待Android智能终端进入Recovery系统后对Data分区进行修复:卸载Data分区;执行execl("/sbin/e2fsck", "e2fsck", "-B 4096", "-b 32768", "-cy", /data, NULL)指令;
步骤6:撤销步骤2对进入Recovery系统的标识的设置,以便Android智能终端再次重新启动后进入Android系统。
所述步骤1进一步包括:Android智能终端开机进入Android系统后,对Data分区进行挂载,然后读取Data分区的权限并判断所述权限是否为只读,若是则认为Data分区已被损坏。
所述步骤2进一步包括:将MISC分区的启动控制信息块中的command变量赋值成“boot-recovery”,以便Android智能终端重新启动后进入Recovery系统。
所述步骤3进一步包括:将“/data”标识写入到 “/cache/recovery/command”文件中,以便Android智能终端进入Recovery系统后对Data分区进行修复。
所述步骤6进一步包括:将MISC分区的启动控制信息块中的command变量赋值成空,以便Android智能终端再次重新启动后进入Android系统。
一种Android系统Data分区自修复系统包括:
检测Data分区模块,用于在Android智能终端开机进入Android系统后,判断Data分区是否损坏;
设置进入Recovery系统标识模块,用于设置进入Recovery系统的标识,以便Android智能终端重新启动后进入Recovery系统;
设置修复Data分区标识模块,用于设置进入Recovery系统后修复Data分区的标识,以便Android智能终端进入Recovery系统后对Data分区进行修复;
Data分区修复模块,用于待Android智能终端重新启动并进入Recovery系统后对Data分区进行修复;
撤销进入Recovery系统标识设置模块,用于撤销对进入Recovery系统的标识的设置,以便Android智能终端再次重新启动后进入Android系统;
所述Data分区修复模块进一步包括:卸载Data分区模块,用于卸载Data分区;执行修复指令模块,用于执行execl("/sbin/e2fsck", "e2fsck", "-B 4096", "-b 32768", "-cy", /data, NULL)指令。
所述检测Data分区模块进一步用于在Android智能终端开机进入Android系统后,对Data分区进行挂载,然后读取Data分区的权限并判断所述权限是否为只读,若是则认为Data分区已被损坏。
所述设置进入Recovery系统标识模块进一步用于将MISC分区的启动控制信息块中的command变量赋值成“boot-recovery”,以便Android智能终端重新启动后进入Recovery系统。
所述设置修复Data分区标识模块进一步用于将“/data”标识写入到 “/cache/recovery/command”文件中,以便Android智能终端进入Recovery系统后对Data分区进行修复。
所述撤销进入Recovery系统标识设置模块进一步用于将MISC分区的启动控制信息块中的command变量赋值成空,以便Android智能终端再次重新启动后进入Android系统。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明提供的Android系统Data分区自修复方法及系统在每次智能终端开机时自动检测Data分区是否损坏,若是则自动进行修复设置,在智能终端重新启动时自动完成Data分区的修复。对于用户而言只需重启智能终端便能够自动实现Data分区自修复,操作简单方便、占用系统资源少且保障了数据的完整性与系统的稳定性。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1为本发明一个实施例的流程图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
在有关Android平台的研发领域中,人们通常将用户正常使用的系统称为Android系统,对智能终端进行系统升级或修复时使用的是另一个系统,本领域技术人员称之为Recovery系统。本发明公开的Android系统Data分区自修复系统通过软件自动实现,包括:
检测Data分区模块,用于在Android智能终端开机进入Android系统后,判断Data分区是否损坏;
设置进入Recovery系统标识模块,用于设置进入Recovery系统的标识,以便Android智能终端重新启动后进入Recovery系统;
设置修复Data分区标识模块,用于设置进入Recovery系统后修复Data分区的标识,以便Android智能终端进入Recovery系统后对Data分区进行修复;
Data分区修复模块,用于待Android智能终端重新启动并进入Recovery系统后对Data分区进行修复;
撤销进入Recovery系统标识设置模块,用于撤销对进入Recovery系统的标识的设置,以便Android智能终端再次重新启动后进入Android系统;
所述Data分区修复模块进一步包括:卸载Data分区模块,用于卸载Data分区;执行修复指令模块,用于执行execl("/sbin/e2fsck", "e2fsck", "-B 4096", "-b 32768", "-cy", /data, NULL)指令。
其中,所述检测Data分区模块进一步用于在Android智能终端开机进入Android系统后,对Data分区进行挂载,然后读取Data分区的权限并判断所述权限是否为只读,若是则认为Data分区已被损坏。
在一个具体实施例中,所述设置进入Recovery系统标识模块进一步用于将MISC分区的启动控制信息块中的command变量赋值成“boot-recovery”,以便Android智能终端重新启动后进入Recovery系统。
所述设置修复Data分区标识模块进一步用于将“/data”标识写入到 “/cache/recovery/command”文件中,以便Android智能终端进入Recovery系统后对Data分区进行修复。
所述撤销进入Recovery系统标识设置模块进一步用于将MISC分区的启动控制信息块中的command变量赋值成空,以便Android智能终端再次重新启动后进入Android系统。
智能终端开机后便自动运行本发明,参见图1,具体流程如下:
1.首先Android智能终端开机进入Android系统后,完成对Data分区的挂载,然后获取Data分区权限。
2.如果获取到的Data分区权限变为只读,则说明Data分区损坏,进行一下操作:
2a、设置进入Recovery系统标识,即设置MISC分区的启动控制信息块,将块中的command赋值成boot-recovery,以便下次开机进入Recovery系统。
2b、设置进入Recovery后修复Data分区的标识,即将/data标识写入到 /cache/recovery/command文件中。
2c、在Android系统下重新启动。
3.智能终端重启,bootloader读取位于MISC分区的启动控制信息块时检测到command=boot-recovery,智能终端便自动进入Recovery系统。
4.进入Recovery系统后,Recovery服务根据/cache/recovery/command中的命令执行相应的操作,由于在第三步将/data写入到/cache/recovery/command文件中,因此执行Data分区修复操作。
5.对Data分区的修复操作包括以下几个步骤:
5a、卸载Data分区;
5b、启动子进程在子进程中执行如下命令:
execl("/sbin/e2fsck", "e2fsck", "-B 4096", "-b 32768", "-cy", /data, NULL);
5c、执行成功后返回。
6.将MISC分区的启动控制信息块中的command赋值成空,以便智能终端再次重新启动时进入Android系统。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
Claims (10)
1.一种Android系统Data分区自修复方法,其特征在于,包括:
步骤1:Android智能终端开机进入Android系统后,判断Data分区是否损坏,若损坏则执行步骤2~6;
步骤2:设置进入Recovery系统的标识,以便Android智能终端重新启动后进入Recovery系统;
步骤3:设置进入Recovery系统后修复Data分区的标识,以便Android智能终端进入Recovery系统后对Data分区进行修复;
步骤 4:重新启动Android智能终端;
步骤5:待Android智能终端进入Recovery系统后对Data分区进行修复:卸载Data分区;执行execl("/sbin/e2fsck", "e2fsck", "-B 4096", "-b 32768", "-cy", /data, NULL)指令;
步骤6:撤销步骤2对进入Recovery系统的标识的设置,以便Android智能终端再次重新启动后进入Android系统。
2.根据权利要求1所述的一种Android系统Data分区自修复方法,其特征在于,所述步骤1进一步包括:Android智能终端开机进入Android系统后,对Data分区进行挂载,然后读取Data分区的权限并判断所述权限是否为只读,若是则认为Data分区已被损坏。
3.根据权利要求1所述的一种Android系统Data分区自修复方法,其特征在于,所述步骤2进一步包括:将MISC分区的启动控制信息块中的command变量赋值成“boot-recovery”,以便Android智能终端重新启动后进入Recovery系统。
4.根据权利要求1所述的一种Android系统Data分区自修复方法,其特征在于,所述步骤3进一步包括:将“/data”标识写入到 “/cache/recovery/command”文件中,以便Android智能终端进入Recovery系统后对Data分区进行修复。
5.根据权利要求1所述的一种Android系统Data分区自修复方法,其特征在于,所述步骤6进一步包括:将MISC分区的启动控制信息块中的command变量赋值成空,以便Android智能终端再次重新启动后进入Android系统。
6.一种Android系统Data分区自修复系统,其特征在于,包括:
检测Data分区模块,用于在Android智能终端开机进入Android系统后,判断Data分区是否损坏;
设置进入Recovery系统标识模块,用于设置进入Recovery系统的标识,以便Android智能终端重新启动后进入Recovery系统;
设置修复Data分区标识模块,用于设置进入Recovery系统后修复Data分区的标识,以便Android智能终端进入Recovery系统后对Data分区进行修复;
Data分区修复模块,用于待Android智能终端重新启动并进入Recovery系统后对Data分区进行修复;
撤销进入Recovery系统标识设置模块,用于撤销对进入Recovery系统的标识的设置,以便Android智能终端再次重新启动后进入Android系统;
所述Data分区修复模块进一步包括:卸载Data分区模块,用于卸载Data分区;执行修复指令模块,用于执行execl("/sbin/e2fsck", "e2fsck", "-B 4096", "-b 32768", "-cy", /data, NULL)指令。
7.根据权利要求6所述的一种Android系统Data分区自修复系统,其特征在于,所述检测Data分区模块进一步用于在Android智能终端开机进入Android系统后,对Data分区进行挂载,然后读取Data分区的权限并判断所述权限是否为只读,若是则认为Data分区已被损坏。
8.根据权利要求6所述的一种Android系统Data分区自修复系统,其特征在于,所述设置进入Recovery系统标识模块进一步用于将MISC分区的启动控制信息块中的command变量赋值成“boot-recovery”,以便Android智能终端重新启动后进入Recovery系统。
9.根据权利要求6所述的一种Android系统Data分区自修复系统,其特征在于,所述设置修复Data分区标识模块进一步用于将“/data”标识写入到 “/cache/recovery/command”文件中,以便Android智能终端进入Recovery系统后对Data分区进行修复。
10.根据权利要求6所述的一种Android系统Data分区自修复系统,其特征在于,撤销进入Recovery系统标识设置模块进一步用于将MISC分区的启动控制信息块中的command变量赋值成空,以便Android智能终端再次重新启动后进入Android系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410688336.1A CN104536841B (zh) | 2014-11-26 | 2014-11-26 | 一种Android系统Data分区自修复方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410688336.1A CN104536841B (zh) | 2014-11-26 | 2014-11-26 | 一种Android系统Data分区自修复方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104536841A true CN104536841A (zh) | 2015-04-22 |
CN104536841B CN104536841B (zh) | 2018-04-06 |
Family
ID=52852372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410688336.1A Active CN104536841B (zh) | 2014-11-26 | 2014-11-26 | 一种Android系统Data分区自修复方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104536841B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205165A (zh) * | 2015-10-08 | 2015-12-30 | 广东欧珀移动通信有限公司 | 基于android系统的内置文件显示处理方法和装置 |
CN105868047A (zh) * | 2015-11-13 | 2016-08-17 | 乐视移动智能信息技术(北京)有限公司 | 数据分区的修复方法、装置及终端 |
CN106095503A (zh) * | 2016-06-13 | 2016-11-09 | 广东欧珀移动通信有限公司 | 智能终端的开机方法和系统 |
CN106815024A (zh) * | 2017-01-12 | 2017-06-09 | 惠州Tcl移动通信有限公司 | 一种优化移动终端开机时间的方法及系统 |
CN112306368A (zh) * | 2019-07-24 | 2021-02-02 | 青岛海信传媒网络技术有限公司 | 一种emmc扩展用户数据分区的方法及装置 |
CN112346788A (zh) * | 2020-11-06 | 2021-02-09 | 四川长虹电器股份有限公司 | 一种Android智能电视系统分区安全的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110087930A1 (en) * | 2001-10-29 | 2011-04-14 | Juniper Networks, Inc. | Self-cleaning mechanism for error recovery |
CN103150516A (zh) * | 2013-03-01 | 2013-06-12 | 中科创达软件股份有限公司 | 一种Android系统设备进入临时模式的方法及装置 |
CN103593289A (zh) * | 2013-11-12 | 2014-02-19 | 浪潮齐鲁软件产业有限公司 | 一种安卓机顶盒生产测试软件的设计方法 |
CN103927239A (zh) * | 2014-03-28 | 2014-07-16 | 深圳市江波龙电子有限公司 | 一种终端设备的系统恢复方法及装置 |
-
2014
- 2014-11-26 CN CN201410688336.1A patent/CN104536841B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110087930A1 (en) * | 2001-10-29 | 2011-04-14 | Juniper Networks, Inc. | Self-cleaning mechanism for error recovery |
CN103150516A (zh) * | 2013-03-01 | 2013-06-12 | 中科创达软件股份有限公司 | 一种Android系统设备进入临时模式的方法及装置 |
CN103593289A (zh) * | 2013-11-12 | 2014-02-19 | 浪潮齐鲁软件产业有限公司 | 一种安卓机顶盒生产测试软件的设计方法 |
CN103927239A (zh) * | 2014-03-28 | 2014-07-16 | 深圳市江波龙电子有限公司 | 一种终端设备的系统恢复方法及装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205165A (zh) * | 2015-10-08 | 2015-12-30 | 广东欧珀移动通信有限公司 | 基于android系统的内置文件显示处理方法和装置 |
CN105205165B (zh) * | 2015-10-08 | 2018-11-27 | 广东欧珀移动通信有限公司 | 基于android系统的内置文件显示处理方法和装置 |
CN105868047A (zh) * | 2015-11-13 | 2016-08-17 | 乐视移动智能信息技术(北京)有限公司 | 数据分区的修复方法、装置及终端 |
WO2017080225A1 (zh) * | 2015-11-13 | 2017-05-18 | 乐视控股(北京)有限公司 | 数据分区的修复方法、装置及终端 |
CN106095503A (zh) * | 2016-06-13 | 2016-11-09 | 广东欧珀移动通信有限公司 | 智能终端的开机方法和系统 |
CN106815024A (zh) * | 2017-01-12 | 2017-06-09 | 惠州Tcl移动通信有限公司 | 一种优化移动终端开机时间的方法及系统 |
CN106815024B (zh) * | 2017-01-12 | 2021-03-23 | 惠州Tcl移动通信有限公司 | 一种优化移动终端开机时间的方法及系统 |
CN112306368A (zh) * | 2019-07-24 | 2021-02-02 | 青岛海信传媒网络技术有限公司 | 一种emmc扩展用户数据分区的方法及装置 |
CN112306368B (zh) * | 2019-07-24 | 2022-11-04 | 青岛海信传媒网络技术有限公司 | 一种emmc扩展用户数据分区的方法及装置 |
CN112346788A (zh) * | 2020-11-06 | 2021-02-09 | 四川长虹电器股份有限公司 | 一种Android智能电视系统分区安全的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104536841B (zh) | 2018-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104536841A (zh) | 一种Android系统Data分区自修复方法及系统 | |
US8423991B2 (en) | Embedded network device and firmware upgrading method | |
CN104572229B (zh) | 嵌入式系统的固件升级方法以及固件升级装置 | |
CN102033790B (zh) | 一种嵌入式系统bootrom的升级方法和装置 | |
CN100507773C (zh) | 实现固化程序在线升级的方法和装置 | |
CN104360877A (zh) | 基于Bootloader自更新的ECU固件更新方法 | |
CN103473067A (zh) | 嵌入式Linux分区与数据还原方法、系统及系统开发方法 | |
CN111142911B (zh) | 具有异常恢复功能的嵌入式系统及其升级方法 | |
CN106095480A (zh) | 一种光模块固件升级的方法及装置 | |
CN102508686A (zh) | 一种系统安全升级的实现方法及其系统 | |
CN101826027A (zh) | 一种嵌入式系统及其升级方法 | |
CN101373451A (zh) | 保护双基本输出入系统程序的计算机系统及其控制方法 | |
CN103458086A (zh) | 一种智能手机及其故障检测方法 | |
CN105893090A (zh) | 一种嵌入式系统bootrom和应用程序升级方法 | |
CN105760165B (zh) | 一种mcu自我备份加载刷新的方法 | |
CN102141921A (zh) | 一种终端设备系统升级方法及终端设备 | |
CN105930184A (zh) | 系统升级方法及装置 | |
CN107678762A (zh) | 一种系统版本升级方法及装置 | |
CN106325911A (zh) | 一种实现bootrom升级的方法及装置 | |
CN105868047A (zh) | 数据分区的修复方法、装置及终端 | |
CN108170456B (zh) | 电子设备的固件升级方法及装置 | |
CN107168750B (zh) | 一种固件升级保护方法及系统 | |
CN103077056A (zh) | 使用少量ROM资源的Bootlorder实现方法 | |
CN105069381B (zh) | 一种基于智能终端的分区保护方法及系统 | |
CN111142922A (zh) | 应用程序更新方法、装置、终端及服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |