为什么刷机有风险?

9 天前
 ahdung

对安卓、路由等设备不熟,按我对 PC 的理解,它们的所有数据不都是存储在 emmc 中吗,难道没有一种方法能完整转储 emmc 吗,这样一来,无论怎么刷,只要把转储数据写回去,不就恢复原样了吗,怎么会变砖?除非 emmc 硬件损坏,类似 PC 的硬盘到镜像、镜像到硬盘,只要硬盘不坏,不可能变砖,求解惑为谢。

9200 次点击
所在节点    Android
111 条回复
ahdung
9 天前
@digimoon 手机的 bios 如果还是在 emmc 里反而更好办啊按理说,只要完整备份 emmc 就好,现在的问题是 emmc 到底能不能像硬盘一样,随意挂接在任何电脑上,对它读写。
ahdung
9 天前
@cheng6563 意思门槛出在硬件动手能力,只要搞下来,随意读写是成立的?
pipilu
9 天前
记得 12 点以后刷机,可以降低风险
ahdung
9 天前
@whitefable 感谢回复,你的信息是目前我最有收获的。emmc 不是通用存储设备吗,现在我们不纠结一定要用它所在的设备来读写它,不用考虑在 cpu 和它之间 hack 入编程器什么的,而是有没有一种办法,拿它当硬盘似的,挂接在另一套环境比如 PC 环境,在 PC 中对他进行备份和还原,完了再焊回去,甚至是,都不用把它抠下来,只要把相应线头接触到它的引脚上,让它在设备上就被外部 NTR 。
Puteulanus
9 天前
以前电脑的 BIOS 刷坏了电脑也是会砖的,我把我一台老电脑的 BIOS 刷挂过,要救得从主板上把储存的那个啥玩意拆下来用编码器把 BIOS 写进去,太麻烦就没搞了。现在的电脑一般也是通过双 BIOS 之类的去规避的一个 BIOS 整挂了的风险,如果都挂了该砖的还是砖

现在像瑞芯微的板子已经有类似 BIOS 的 MaskRom 了,也就是完全板载、不在 EMMC 里的一级引导程序,如果检测到 EMMC 里没有 Loader 就会自动进入 Maskrom 模式来让你刷机,这种板子就和电脑一样基本上随便刷了,而且瑞芯微的刷机工具本来也可以写入 emmc 的备份,所以你说的提前转储 emmc 、砖了再刷回去的操作其实是已经实现了的

不过 MaskRom 的模式挺低级的,很多硬件初始化是 Loader 在做,所以 MaskRom 模式刷回 emmc 还会要个 Loader 的文件,其实是先把 Loader 写到内存,跳转到 Loader 进入更高级的刷机模式再操作的 emmc

我也不是专业搞这个的,之前弄路由器了解过一些,有错误的话请不要喷
ahdung
9 天前
@skies457 淘宝一搜也很多,所以门槛在于抠下来和焊上去
ahdung
9 天前
@mxT52CRuqR6o5 你完全解开了我的困惑,感谢,问题只出在硬件动手能力
WhatTheBridgeSay
9 天前
@impdx #40 说的很好,但是我还是反对把 flash 闪存芯片称作字库,既不通俗易懂还容易引起误解
Puteulanus
9 天前
@ahdung ——emmc 到底能不能像硬盘一样,随意挂接在任何电脑上,对它读写
当然能,只是一般人不会去买那个设备,也没有操作的技术,就像我没有编码器也没有热风枪,电脑 BIOS 刷挂了也恢复不了了,真要给搞硬件的朋友救还是能救的

大家说的砖了其实就是自己没法救了,拿给有设备有技术的朋友拆了 EMMC 把 Loader ( uboot 这类的)给写回去,就没有砖了的说法,所以你是对的,硬件没坏其实就能救
ahdung
9 天前
@Opportunity 这些厂商绑定的工具都还是在别人的规则里跳舞,我是想绕过它们直接对 emmc 下手,刚刚已经知道答案,问题出在如何抠下来和焊回去
ahdung
9 天前
@impdx 我悟了,问题出在硬件动手能力。BTW ,好好的 emmc 为啥要叫字库。
somebody1
9 天前
@ahdung #21
首先啊,但是啊,emmc 有没有可能不是通用硬件啊
ahdung
9 天前
@pipilu 啥梗?不然早晚出事??
feather12315
9 天前
@ahdung #39
bootloader 不是重点。

嵌入式设备 bootloader 确实是跟 OS 放在同一块 emmc 上的。PC 的 UEFI 是有单独的芯片存储的,这个芯片属于 ROM 类型,现在应该都是 NOR FLASH 了。

可以导入 emmc ,dd 就行,刷机就是这么刷的。

为什么会变砖? bootloader 被破坏了,只能去刷 bootloader 了。刷机的时候可选是否刷入 bootloader ,但比较烦人的是,不刷 bootloader 的话,不一定能引导 OS 。
因为 bootloader 跟 OS 放到一起存储,bootloader 又需要 OS kernel 的存储地址来载入 kernel ,bootloader 的载入地址与 kernel 的存储地址不一定匹配。PC 就没这种烦恼,因为安装的时候会给特定的分区打上标记,指示这是个可引导的盘。
WhatTheBridgeSay
9 天前
因为嵌入式设备的 flash 芯片并不像 x86 设备那样开放且通用。能把 flash 吹下来放到合适的测试架且正确解密能读写数据就不是一般人能做到的,不吹下来就只有 SoC 预留的烧写/download 模式可以直接刷写,但是目前主流的 SoC 都不是随便就能刷的,高通的 EDL/9008 和 MTK 的 BootROM 都是有签名校验机制的,不是说你想刷什么就刷什么的,更何况有的时候你连工具都搞不到,有的设备进入烧写模式还需要拆机短接主板触点才行
ahdung
9 天前
@somebody1 不是 MMC 协会定的标准吗,难道还有各家的私有协议?不会吧
SkywalkerJi
9 天前
@ahdung #51
因为这是维修行业的约定说法。
最早的手机,诺基亚那些有两颗闪存。程序是一颗闪存也叫码片,字库是一颗闪存,字库那颗要比程序的容量大很多,后来合并成一颗。程序+字库因为字库比较大就叫字库了,再后来所有存储芯片的损坏都叫字库了。
ahdung
9 天前
@WhatTheBridgeSay 谢谢解惑,emmc 看来很高级,不是一块傻存储芯片而已。短接点这招我用过,刷机顶盒。
ahdung
9 天前
@SkywalkerJi 谢谢讲解,有趣的知识。
DokiDokiSophon
9 天前
传统刷机(卡刷第三方包,线刷第三方包),一般刷的 system 分区,这样刷没影响到 bootloader ,就能随便刷,刷坏了也没关系,还有另一种刷机,用 QCOM 或者 MTK Flasher 刷,这种是能导出各个分区的镜像的,一般用于生产环境,刷坏了恢复备份就行,损坏硬件多半是刷了什么超频或者解锁性能什么的,发热严重然后~嗯

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1053249

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX