Android 9 自动恢复出厂设置问题(auto-recovery)

Android 9 自动恢复出厂设置问题(auto-recovery)

本章节针对引入了auto-recovery功能的版本,并且设备关机是以直接断电方式.

涉及知识点:开关机;e2fsck;recovery;救援模式

概要:

Android设备进行开关机测试(特定时间段内对设备不停上下电操作),一定概率出现自动恢复出厂设置.

该问题常见于不带正常开关机流程机器(设备关机是以直接断电方式),即异常掉电会导致数据损坏引发自动恢复出厂设置(auto-recovery)

Auto-recovery

auto-recovery的引入就是为了防止设备因为数据损坏进而自动恢复,避免变砖.

可读写的分区在异常断电过程中,可大能存在分区数据被损坏的可能性,(如上面提到的断电)

如果文件系统数据损坏可能会触发到 autorecovery 流程修复.

e2fsck

用于检查Linux中文件系统中的分区是否能正常工作

检查和修复ext4;ext3和ext2文件系统的硬盘分区

-a: 检查 partition,如发现问题会自动修复。
-b: 设定 superblock 位置。
-B size: 指定 size 作为区块大小。
-c: 检查 partition 是否有坏轨。
-C file: 将检查结果储存到 file。
-d: 输出 e2fsck debug 结果。
-f: e2fsck 预设只会对错误的档案系统检查,加上 -f 是强制检查。
-F: 在检查前将硬盘的 buffer cache 清空,避免发生错误。
-l list: 记录了坏轨区块加入 list 中。
-d : 打印 e2fsck 的 debug 结果。
-f : 强制检查。
-n: 以 (read-only) 开启档案系统
-p: 关闭互动模式,如有问题自动修复,等同 -a。
-v: 显示详细报告。
-y: 启用使用者互动模式。

定位问题

从串口log中定位(Android系统启动的所有日志)
过滤e2fsck的日志 可以看到类似如下信息:

6.165162]<3>[I](0)e2fsck: data: Inodes that were part of a corrupted orphan linked list found.
6.165201]<3>[I](0)e2fsck:
6.165207]<3>[I](0)e2fsck: data: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小猿成长

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值