我不知道为什么,但是当你的朋友喝醉时,她喜欢把手机连接到电脑上玩。她对 ADB 和 fastboot 命令有基本的了解,我与她核实了抛出的内容。当她去重新锁定引导加载程序时,我没有这样做。她下载了谷歌最小的 sdk 工具来获取更新的 ADB 和 Fastboot,然后一路从摩托罗拉获得了 mfastboot,以确保解析用于闪存。所有这些 fastboot 软件包还在 Mac 和 Linux Ubuntu、Windows 8.1 Pro N Update 1 和 Windows 7 Professional N SP2(均为 x64)上进行了测试。导致同样的错误。她超级彻底,我只在这里教如何手动擦除和刷新没有脚本或工具包。
快速启动OEM锁
它回来了。
(bootloader) FAIL: 请先运行 fastboot oem lock begin!
(bootloader) sst 锁定失败!
失败(远程失败)
完成的。总时间:0.014s
然后再试一次,然后再试一次,然后又是。在这一点上,她要么阅读日志并遵循它。虽然我个人认为,从她开始玩手机的角度来看,她更有可能开始恐慌,因为她需要锁定引导加载程序才能工作并开始尝试闪烁。
fastboot OEM 锁定开始
它回来了。
M:\SHAMU\FACTORY IMAGE\shamu-lmy47z>fastboot oem lock begin ...
(引导加载程序)准备闪存签名图像
OKAY [ 0.121s] 完成。总时间:0.123s
工厂映像\shamu-lmy47z>fastboot 闪存启动 boot.img
目标报告的最大下载大小为 536870912 字节
发送“启动”(7731 KB)... OKAY [0.252s] 写入“启动”...
(bootloader) Preflash 验证失败 FAILED (remote failure) 完成。总时间:0.271s
然后引导加载程序日志说明
cmd:OEM锁
开机自检失败
无法验证启动映像
在闪烁 boot.img 时,引导加载程序日志会列出“不匹配的分区大小(引导)”。有趣的是有时它会返回
fastboot oem lock begin ... (bootloader) 准备刷入签名镜像
好的 [ 0.121s]
完成的。总时间:0.123s
fastboot flash boot boot.img
目标报告的最大下载大小为 536870912 字节
发送“启动”(7731 KB)...
好的 [ 0.252s]
写“启动”...
(引导加载程序)预闪验证失败
失败(远程失败)
完成的。总时间:0.271s
我记录了分区以查看它们是否已清零,表明 emmc 错误,但事实并非如此。
猫/proc/partitions
cat /proc/partitions 主要次要 #blocks 名称
179 0 61079552 mmcblk0
179 1 114688 毫米cblk0p1
179 2 16384 毫米cblk0p2
179 3 384 毫米cblk0p3
179 4 56 毫米cblk0p4
179 5 16 毫米cblk0p5
179 6 32 毫米cblk0p6
179 7 1024 mmcblk0p7
179 8 256 毫米cblk0p8
179 9 512 毫米cblk0p9
179 10 500 毫米cblk0p10
179 11 4156 毫米cblk0p11
179 12 384 毫米cblk0p12
179 13 1024 毫米cblk0p13
179 14 256 毫米cblk0p14
179 15 512 毫米cblk0p15
179 16 500 毫米cblk0p16
179 17 4 毫米cblk0p17
179 18 512 毫米cblk0p18
179 19 1024 毫米cblk0p19
179 20 1024 毫米cblk0p20
179 21 1024 毫米cblk0p21
179 22 1024 毫米cblk0p22
179 23 16384 毫米cblk0p23
179 24 16384 毫米cblk0p24
179 25 2048 毫米cblk0p25
179 26 32768 mmcblk0p26
179 27 256 毫米cblk0p27
179 28 32 毫米cblk0p28
179 29 128 毫米cblk0p29
179 30 8192 mmcblk0p30
179 31 1024 毫米cblk0p31
259 0 2528 mmcblk0p32
259 1 1 毫米cblk0p33
259 2 8 毫米cblk0p34
259 3 16400 毫米cblk0p35
259 4 9088 毫米cblk0p36
259 5 16384 毫米cblk0p37
259 6 262144 毫米cblk0p38
259 7 65536 mmcblk0p39
259 8 1024 毫米cblk0p40
259 9 2097152 mmcblk0p41
259 10 58351488 mmcblk0p42
179 32 4096 mmcblk0rpmb
254 0 58351488 分米-0
我已经要求提供日志或整个过程以查看完整的警告、错误和失败消息,但她的业务超远。从我所拥有的和我开始破解的文献中。我开始相信我所有的研究和对 android 启动过程的了解。也许 SST 表中有一个丢失或损坏的键,我相信它被称为谷歌的 bigtable。或锁定引导加载程序安全性时哈希密码失败,或者我可能会离开,请告诉我。我不知道如何调查或反驳这个问题继续前进。我是否能够通过堆栈跟踪确认丢失或损坏的编码。那么它可能是一个解决了的难题。老实说,虽然这已经成为一个需要解决的难题,而不是紧急感谢。