V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ahdung
V2EX  ›  Android

为什么刷机有风险?

  •  3
     
  •   ahdung · 2 天前 · 8274 次点击

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

    111 条回复    2024-06-30 15:14:31 +08:00
    1  2  
    body007
        1
    body007  
       2 天前
    PC 不刷 BIOS 也没啥风险,大不了重装系统。安卓和路由很多固件我感觉都是类似 BIOS 级别,有可能变砖,要是刷了不兼容 BIOS 那么妥妥的变砖。PC 的 BIOS 谁也不敢乱刷的,刷错了 PC 也分分钟变砖。
    opengps
        2
    opengps  
       2 天前
    不可能变砖就是你认为没风险的原因,我给你举个我经历过的例子:
    早上起来我的备用机小米 play 提示我系统升级,注意是官方推送的提示,然后我丢在家里去上班了,晚上回来一看黑屏,按键无反应,还有点发热,已经成砖头了。。。。我去找小米售后,小米的政策是以售后检测为准,tmd 这时候检测当然不是官方问题。从此我就小米一生黑
    Tumblr
        3
    Tumblr  
       2 天前
    联想电脑的预装系统在对磁盘分区的时候,会有个 WinRE 分区,这里面有他们的初始系统镜像备份,如果出问题了,只要按照说明进行一键还原,虽然数据会丢,但是起码电脑救活了,你还能继续用。
    我的习惯是,拿到电脑第一件事就是进 diskpart 选盘运行 clean ,再按我的需求重新分区,这个操作会把 WinRE 分区清除掉,当然也不存在什么“一键还原”了。

    再说手机、路由器等设备。理论上来说,只要硬件不损坏,你都可以通过一些连接和工具,把某个系统刷写回去,在这些设备最初生产的时候,厂家就是这么做的。但是,并不是所有的用户都有这些技能,也不一定有这些工具。事实上,一些很专业的工具和技能只有极少数人在使用,这就导致了万一刷写失败,你的设备很可能变砖。
    Damn
        4
    Damn  
       2 天前
    路由有个 uboot 或者 breed ,按我的理解类似于 bios ,但不像 pc 的 bios 是单独存储的,它也是放在 emmc 里的,乱刷就相当于把 pc 的 bios 搞坏。
    至于你说的转储,所谓的编程器固件就是这样的,相当于 linux 的 dd ,或者 ghost 的按扇区克隆,你需要把设备拆开上编程器。
    EndlessMemory
        5
    EndlessMemory  
       2 天前
    @opengps 感觉像是升级一半意外失败变砖头了
    ho121
        6
    ho121  
       2 天前 via Android
    有的时候数据没法轻易的写回去,因为读写数据的程序坏掉了。想要重新刷写需要厂商内部工具。
    opengps
        7
    opengps  
       2 天前
    @EndlessMemory 过程没法追溯了。官方的系统升级,其实跟刷机过程没什么区别,所以官方都有失败风险,自己刷机自然也有更大的失败风险
    ahdung
        8
    ahdung  
    OP
       2 天前
    @body007 BIOS 是存储在单独的位置,安卓除了 emmc 还有别的存储硬件吗?我的意思,它的固件是什么级别都好,只要在 emmc 里,那整个把 emmc 的东西搬出来,不就可以保留后路了吗,就像如果 PC 的 BIOS 也在硬盘里,那我随便动 BIOS 也没事,还原硬盘镜像就好了。难点会不会是至今都没有一种办法搬 emmc ?
    ahdung
        9
    ahdung  
    OP
       2 天前
    @opengps 我想从技术角度知道为什么我的想法行不通,问题出在哪一步。
    ho121
        10
    ho121  
       2 天前 via Android
    其实通过 usb 刷机,不是通过硬件指令刷写的,而是手机内部运行了一个刷写代理程序,这个程序接受来自 usb 的刷写指令,根据指令刷写。当这个程序坏掉后,就没法通过常规 usb 的方式刷机了
    ahdung
        11
    ahdung  
    OP
       2 天前
    @Tumblr PC 管它什么特殊分区,可以整个硬盘备份为一个镜像文件,完了又可以将这个镜像还原到硬盘,还原后的数据和原来一摸一样,在这期间随便折腾,只要还原电脑就不可能变砖。
    回到安卓设备,各家可能又独特的工具,比如晶晨专用的线刷工具,但 emmc 这个东西不是私有的,难道没有一种通用的办法像对待硬盘一样对待它吗。
    felixlong
        12
    felixlong  
       2 天前
    @ahdung 问题是你怎么轻松的写回 EMMC 呢?
    wusheng0
        13
    wusheng0  
       2 天前 via Android
    应该主要是系统差异,没有通用驱动,ROM 定制不可控也比较大。驱动不兼容或者配置有问题就变砖了。
    nothingistrue
        14
    nothingistrue  
       2 天前
    刷机风险有两个:第一,破坏了引导程序,变砖;第二,没法刷回最初的系统——那个唯一的被精心调配过的系统。

    路由器只要找到出厂前的刷机方式,跟原厂包,那怎么刷都不怕变转,总能重置回原厂的,除非它锁了 boot (或者你用短路等高科技刻意破坏了 boot )——实际上,路由器在工厂里面,也是批量出裸机,再批量刷机的。

    手机,除了极少数好心厂商,或者傻厂商之外,不管它锁不锁 bootloader ,在刷机(有些不动底包的刷 ROM ,不算),都会不可逆的更新 bootloader ,这样不管你有没有变转,想回去都是不可能的了。(升级就降不下去,刷机了就丢保修,这是大前提)。

    总要的不是硬盘跟系统,是引导程序,PC 品牌机要是锁了 UEFI ,你照样没法自由或安全的重装系统。
    ahdung
        15
    ahdung  
    OP
       2 天前
    @Damn 谢谢回复,很有信息量和知识点,所以你是说只要把 emmc 抠下来,是有办法做到完整导出和写入的?像把电脑的硬盘挂接到另一台电脑上,只不过硬盘拔插很容易,而 emmc 的集成性造成动它的门槛高不少。
    shanai
        16
    shanai  
       2 天前
    手机刷机工具不开放
    plee
        17
    plee  
       2 天前
    排除掉 mmc 可能有一次性烧写或需要特殊工具这种问题,我觉得可能大概率是处理器 bsp 的问题,可能有些引脚功能复用等等需要配置,拉复位或是些需要特殊操作的启动流程,arm 的这种和 x86 不是一个套路
    ahdung
        18
    ahdung  
    OP
       2 天前
    @EndlessMemory 现在要探讨的就是,为什么不能提前导出,变砖后导入恢复。
    jiangyang123
        19
    jiangyang123  
       2 天前
    @ahdung 其实可以的,上面也有人提到了,就是把整个 emmc 上面的内容全部复制出来就 ok 了,但是这个操作很麻烦
    body007
        20
    body007  
       2 天前
    @ahdung 首先 BIOS 不在硬盘里面,在主板里面,而且没有给太多存储空间。我之前刷安卓手机,必须先刷第三方 recovery ,我感觉就是安卓的 BIOS ,也有大小限制,应该也在主板上。

    手机出厂 recovery 功能太少,应该只能刷该手机官方系统。所以你想要刷机要么官方的 recovery 功能足够刷第三方系统,不然就得先刷第三方 recovery 。第三方 recovery 适配就像 PC 的 BIOS 一样,需要精确硬件,同型号安卓手机的不同内存配置都有可能需要不同的 recovery 。所以刷机论坛都说刷机有风险,就是怕小白不懂刷机流程,或者刷错文件,那就真的变砖了。

    我以前也把手机刷成砖,那时候手机还是可拆卸电池,我脑抽在刷机时抠电池。不过手机有专门硬件和软件刷 recovery ,但厂商绝对不会外泄(因此大家都是用厂商的 recovery 刷第三方 recovery 的),或者有更严格的要求,所以你手机变砖找售后还是能给你搞好的,但个人要把变砖的手机弄好难度太大。
    ahdung
        21
    ahdung  
    OP
       2 天前
    @ho121 用 emmc 内的程序自然就是存在变砖几率的原因。我的意思就是 emmc 是一个通用硬件,不是哪家专有的,为什么不能像对待硬盘一样,随便挂接到别的机器上,在外部读写它。
    ahdung
        22
    ahdung  
    OP
       2 天前
    @felixlong 这正是我不懂的地方,emmc 特殊在哪里,为什么没有通用工具可以在外部读写它,一定要用它内部的程序才能读写它?
    ahdung
        23
    ahdung  
    OP
       2 天前
    @wusheng0 我的关注不是变砖的原因,而是为什么不能通过提前导出,变砖后导入还原的方法救砖。
    mxT52CRuqR6o5
        24
    mxT52CRuqR6o5  
       2 天前 via Android
    安卓无法像 pc 那样轻易地通过外部存储启动,不管是卡刷线刷都需要保证 emmc 内某些分区的功能正确才能使用
    feather12315
        25
    feather12315  
       2 天前   ❤️ 2
    支持 EFI 的设备就可以随便刷机。

    系统启动有三个过程:EFI/BIOS/bootloader (负责硬件初始化)-> grub (可选,启动引导程序)-> OS 。
    略过 grub ,毕竟这个是可选的。只考虑 EFI/BIOS/bootloader -> OS 。

    各个 OS ,比如 Linux ,它的启动流程是标准的,只要在运行 kernel 前往特定的 RAM 地址塞启动信息(比如内核参数)就行了。

    那么问题来了:

    1. Q:OS 启动后怎么知道它有哪些硬件?
    A:PCI/PCIe 是一个标准,可以枚举;但是 PCI/PCIe 需要 CPU 集成控制器,嵌入式 CPU 几乎都没有这东西,所以使用的是 device tree (预先定义好硬件信息当作内核参数传给 kernel )。

    2. Q:启动是分阶段的,至少存在两个阶段:1. 系统关闭状态到 EFI/BIOS/bootloader 启动; 2. EFI/BIOS/bootloader 到 OS 。阶段 1 怎么把启动信息穿递给阶段 2 ?

    A:我理解的是这样:OS kernel 有自己的启动协议,传统的 BIOS (至少 10 年前了,现在的 BIOS 视为 UEFI )与 bootloader 是去兼容 OS kernel 的启动协议; EFI 是 OS kernel 去兼容 EFI 协议,EFI 版本的 bootloader/UEFI 实现了这个 EFI 协议。

    为什么 ARM 刷机这么复杂?是 device tree 的原因,除了 arm server 外罕有支持 EFI 的 arm ,而 device tree 需要根据硬件定制的;并且使用了 device tree 的芯片几乎不会与 EFI 搭配使用。

    好消息是 ARM 推出了 system ready spec: https://www.arm.com/architecture/system-architectures/systemready-certification-program
    也许未来 ARM 会与 x86 一样可以使用 efi 方便地刷机了。
    happydebug
        26
    happydebug  
       2 天前
    借贴问一下各位大佬:三星的 note10+ 5(韩版 N9760), 买来的时候是有 magisk ,然后我手欠升级了一下 magisk,导致现在报错:不支持安装为系统应用,请还原为用户应用。我尝试重新刷机,但是打开开发者选项后里面没有 OME 锁。现在怎么处理啊 拜托拜托~
    digimoon
        27
    digimoon  
       2 天前
    不保证正确,我认为是因为引导程序的问题,按 pc 来看就是先启动了 bios > bios 遍历硬盘 > 硬盘的启动扇区里面又有个引导程序( grub 这种)> 再继续运行指定分区里操作系统的引导程序 > 进入操作系统

    硬盘炸了后不影响主板上的 bios ,你只需要搞个另外的介质例如 usb 和光驱之类从 bios 引导重新将硬盘弄好就行了,但是手机这种设备应该没有单独一个放 bios 的地方所以炸了就炸了不能自救
    ahdung
        28
    ahdung  
    OP
       2 天前
    @nothingistrue 谢谢讲解,很有收获,那这个 bootloader 是存储在 emmc 里吗,如果是,完整导出和导入 emmc 不还是可以恢复它吗,我的设想行不通的问题出在哪里?是不是至今尚未有办法完整导出和导入 emmc ?
    shinsekai
        29
    shinsekai  
       2 天前
    @jiangyang123 请教一下,如何把整个 emmc 上面的内容全部复制出来?
    cheng6563
        30
    cheng6563  
       2 天前
    PC 你把系统装坏了可以启动 U 盘系统,其他设备可没这功能,boot 区坏了可能就启动不了刷机程序,普通人可没有把 emmc 干下来直接写数据的条件。
    whitefable
        31
    whitefable  
       2 天前   ❤️ 6
    其实 4 楼和 12 楼的意思差不多了,问题在于你如何能够轻松将备份恢复到 EMMC 呢?
    启动过程大概是上电后 CPU 从固定区域读取数据(如 PC 的 BIOS 区域,Android 的 Recovery 也是存放在 EMMC 的固定区域) -> 然后运行 BIOS/Recovery 去引导系统 -> 系统启动。刷机的时候如果将 Recovery 刷挂了,那意味着你手机上电之后 CPU 没有程序可以加载,那么这时候就没有办法接收你备份的 EMMC 数据再写入恢复。所以这时候一般需要用到编程器(可以将 EMMC 拆下来,或者如果电路板上有编程器用的接口也可以),编程器其实也是通过另一种启动模式令到上电时 CPU 直接从编程器加载所需要的程序,这样子 CPU 有一段程序之后自然可以接收 EMMC 的数据进行刷写。
    一般所说的变砖只是无法在不拆下 EMMC 的情况下进行恢复,编程器一般还是和芯片强相关的,一般也不容易获取到或者日常中作用不大。所以你要说先备份就永远不会变砖就也对也不对吧。存储芯片你想要恢复回去数据肯定是有办法的,但在于接收你的备份数据并写入到存储芯片这一中间的部分是否可以轻松完成罢了。所以说充当这个角色的 Recovery 被你刷掉了那这个中间商就没了,那自然在手上就和变砖了一样
    qaddsc
        32
    qaddsc  
       2 天前   ❤️ 1
    这样备份需要拆机,有的存储芯片估计还要拆下来,难度比较大。
    paopjian
        33
    paopjian  
       2 天前
    核心问题还是烧录麻烦吧, 而且厂商为了安全性不会向外界提供这些代码的, 不然就可以随意修改了. magisk 不就是劫持系统指令再修改么,如果底层 bios 都能被劫持了, 那安全问题可能就更多了, 指纹面部安全也就不存在了.三星为了整 knox 安全,都上那个保险丝了,敢解锁就烧给你看
    skies457
        34
    skies457  
       2 天前
    只要有合适的烧录器就可以导出/导入 emmc ,跟 bios 一样,刷坏 bios 同样也只能拆出来重新烧录

    ref: https://www.amazon.com/ODROID-USB3-0-eMMC-Module-Writer/dp/B07BHQ615Q
    ahdung
        35
    ahdung  
    OP
       2 天前
    @mxT52CRuqR6o5 不需要启动它,只要能能像硬盘一样,把 emmc 挂接到一个读写器上,在外部读写它就好,至今没有这种产品的问题出在哪里?
    Myprajna
        36
    Myprajna  
       2 天前
    NANDflash 和 NORflash 了解一下
    mxT52CRuqR6o5
        37
    mxT52CRuqR6o5  
       2 天前
    @ahdung #33 emmc 焊在主板上的,没那么容易拿下来,至少普通人是没法做(为了刷个机就把存储颗粒就在自己家拆拆焊焊的,基本没有什么可实践性);专业修手机的会有这种设备去做这种事,是可以做到你说的事情的
    pc 上通过引导外部存储的 pe 来备份数据也是更普遍的做法,而不是把硬盘拆出来备份
    Opportunity
        38
    Opportunity  
       2 天前   ❤️ 2
    不是还有 9008 嘛,问题这些工具你都拿不到啊
    ahdung
        39
    ahdung  
    OP
       2 天前
    @feather12315 谢谢回复,很有收获。PC 的 BIOS 是在硬盘以外,bootloader 也是独立于 emmc 之外吗,如果还是在 emmc 上,不还是在可以备份还原的范畴吗,现在的问题是,为什么没有一种简单易行的办法导出导入 emmc ,因为如果有,早就烂大街了,至少靠刷机吃饭的圈子早就流行开了,毕竟变砖是所有人都想避免的事情。
    impdx
        40
    impdx  
       2 天前   ❤️ 8
    你充分理解不会,拿安卓举例子,你系统 gg 了,有 recovery ,大概率现在只剩 twrp 了,你 trwp 挂了,你还有 fastboot ,你 fastboot 挂了,高通有 9008 ,mtk 有 mtkflsahtool ,这俩挂不了,这俩挂了你 gg 了,换字库吧

    路由就更简单的,有不死 breed 。

    pc 就扯淡了,bios 坏了一堆教程,

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

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

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

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

    大家说的砖了其实就是自己没法救了,拿给有设备有技术的朋友拆了 EMMC 把 Loader ( uboot 这类的)给写回去,就没有砖了的说法,所以你是对的,硬件没坏其实就能救
    ahdung
        50
    ahdung  
    OP
       2 天前
    @Opportunity 这些厂商绑定的工具都还是在别人的规则里跳舞,我是想绕过它们直接对 emmc 下手,刚刚已经知道答案,问题出在如何抠下来和焊回去
    ahdung
        51
    ahdung  
    OP
       2 天前
    @impdx 我悟了,问题出在硬件动手能力。BTW ,好好的 emmc 为啥要叫字库。
    somebody1
        52
    somebody1  
       2 天前
    @ahdung #21
    首先啊,但是啊,emmc 有没有可能不是通用硬件啊
    ahdung
        53
    ahdung  
    OP
       2 天前
    @pipilu 啥梗?不然早晚出事??
    feather12315
        54
    feather12315  
       2 天前
    @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
        55
    WhatTheBridgeSay  
       2 天前   ❤️ 2
    因为嵌入式设备的 flash 芯片并不像 x86 设备那样开放且通用。能把 flash 吹下来放到合适的测试架且正确解密能读写数据就不是一般人能做到的,不吹下来就只有 SoC 预留的烧写/download 模式可以直接刷写,但是目前主流的 SoC 都不是随便就能刷的,高通的 EDL/9008 和 MTK 的 BootROM 都是有签名校验机制的,不是说你想刷什么就刷什么的,更何况有的时候你连工具都搞不到,有的设备进入烧写模式还需要拆机短接主板触点才行
    ahdung
        56
    ahdung  
    OP
       2 天前
    @somebody1 不是 MMC 协会定的标准吗,难道还有各家的私有协议?不会吧
    SkywalkerJi
        57
    SkywalkerJi  
       2 天前   ❤️ 1
    @ahdung #51
    因为这是维修行业的约定说法。
    最早的手机,诺基亚那些有两颗闪存。程序是一颗闪存也叫码片,字库是一颗闪存,字库那颗要比程序的容量大很多,后来合并成一颗。程序+字库因为字库比较大就叫字库了,再后来所有存储芯片的损坏都叫字库了。
    ahdung
        58
    ahdung  
    OP
       2 天前
    @WhatTheBridgeSay 谢谢解惑,emmc 看来很高级,不是一块傻存储芯片而已。短接点这招我用过,刷机顶盒。
    ahdung
        59
    ahdung  
    OP
       2 天前
    @SkywalkerJi 谢谢讲解,有趣的知识。
    DokiDokiSophon
        60
    DokiDokiSophon  
       2 天前
    传统刷机(卡刷第三方包,线刷第三方包),一般刷的 system 分区,这样刷没影响到 bootloader ,就能随便刷,刷坏了也没关系,还有另一种刷机,用 QCOM 或者 MTK Flasher 刷,这种是能导出各个分区的镜像的,一般用于生产环境,刷坏了恢复备份就行,损坏硬件多半是刷了什么超频或者解锁性能什么的,发热严重然后~嗯
    ahdung
        61
    ahdung  
    OP
       2 天前
    @Puteulanus 谢谢讲解,感觉你了解得挺深入的。
    ahdung
        62
    ahdung  
    OP
       2 天前
    @DokiDokiSophon 线刷我用过晶晨的,刷机顶盒,一直没敢勾擦写 bootloader ,但有些升级安卓版本的包说要勾,我不勾刷上去,没法正常启动,勾我又不敢,就放弃升级。这种是不是因为底层 OS 版本变了,所以 bootloader 也要跟着变,所以不勾启不了?
    pkoukk
        63
    pkoukk  
       2 天前
    @ahdung #50 因为曾经的手机闪充里,大部分空间用来存字体文件了。
    Cooky
        64
    Cooky  
       2 天前
    都是 x86 ,你想想为什么不能在 PS4 和 XBOX 上直接装 linux
    harmless
        65
    harmless  
       2 天前 via iPhone
    其实你这个思路是可以的,我之前给一加 1 手机做过系统分区扩容,就是这么干的

    需要通过 fastboot 模式刷进 twrp 开启 adb ,在 adb 里可以用 dd 命令备份每个分区,包括基带,系统这些东西都能备份,

    然后对 emmc 重新分区调整分区大小,分完后再用 dd 命令将备份写回去就可以开机了

    所以从上述过程来看,只要 fastboot 没被破坏就可以,fastboot 模式是 aboot 分区提供的,刷机一般也不会刷这个分区,所以 fastboot 一般也不会坏

    如果很不幸你的 aboot 坏了,那也可以用类似高通 9008 模式等更低层的方法来恢复 aboot 分区

    这一整套操作基本都是手工操作的,技术门槛会高一些,而且现在手机也没那么容易变砖,所以很少会有人这么操作
    huang86041
        66
    huang86041  
       2 天前
    手机需要的安全等级更高把。 高通支持 securty boot 的。有些安全策略还会在第一次装机后,绑定 cpu 和 flash 。想手动交叉更换也是不可以的。
    somebody1
        67
    somebody1  
       2 天前
    @ahdung #56

    他是标准,但是不是通用硬件,硬盘这种属于通用硬件,大小,尺寸,接口都一摸一样。
    MRG0
        68
    MRG0  
       2 天前
    @opengps #2 我妈的小米也是,不知道咋进工程模式了,再重启就变砖了
    DokiDokiSophon
        69
    DokiDokiSophon  
       2 天前
    @ahdung #62 应该是 bootloader 里有验证机制
    kaedea
        70
    kaedea  
       2 天前 via Android
    硬件和软件之间,有个东西叫固件。
    1018ji
        71
    1018ji  
       2 天前
    刷机没觉得有多少风险,刷完机到时风险很大
    luolw1998
        72
    luolw1998  
       2 天前
    有高通 9008 兜底
    whitefable
        73
    whitefable  
       2 天前   ❤️ 1
    @ahdung #44 emmc 是通用存储设备,和 PC 硬盘的确是可以类似的。你所说的也没错,只不过硬盘的接线比较简单,大部分人都可以直接将线拔下就换到另一套环境中。而手机中的 emmc 基本都是贴片方式焊接上去的,所以想拿下来挂接的话可能大部分人都没这个动手操作能力,但如果有的话(一般还需要有热风枪、焊枪等设备,例如手机维修店可能就能具备这些设备和能力),完全可以做到你说的拿到另一套还原之后再焊接回去。
    至于你说最后一个不用抠下来,直接接触引脚这种情况,分两个情况考虑:
    1) 主板上有单独的接口可以有机会通过 CPU 再访问到这个芯片或者另外的接口可以访问到这个芯片,那只需要用相关设备接入到这个接口再遵循通信协议来将数据传输过去就可以
    2) 直接将相应的电线接触到引脚上来完成电气连接,从而挂接到另一套环境进行恢复。这个情况我只能说理论上可行,但实际基本不可行。原因在于这种连接方式不稳固而且有极多的杂波,这将会影响数据传输时的时序,使得传输过程基本不能完成,所以实际操作上是不太可行的;实际上按 1)中将芯片吹下来再拿到另一套环境来进行恢复是可行的,但大部分人不具有相关工具和能力(所以说变砖了),同时可能大部分维修店出于成本和利润考虑似乎也不太愿意做这种事情,除非你数据非常重要要挽救之类的付出足够多的金钱(芯片搞下来也可以用于挽救里面的数据这类)
    ahdung
        74
    ahdung  
    OP
       2 天前
    @harmless 受益匪浅,这些分区模式是属于 linux 的知识,还是 arm 架构的知识?
    ahdung
        75
    ahdung  
    OP
       2 天前
    @huang86041 这个绑定也是记录在 emmc 里吧。
    ahdung
        76
    ahdung  
    OP
       2 天前
    @whitefable 能看明白,非常感谢耐心讲解,可惜这里好像不能点赞。
    ahdung
        77
    ahdung  
    OP
       2 天前
    @pkoukk #63 还真是,在那个年代,动辄几 M 甚至 10M 的中文字体才是占据空间的大头。
    ahdung
        78
    ahdung  
    OP
       2 天前
    @kaedea 固件这个东西如果不存储在 rom 里,就不算 firm 了。
    wjr2012
        79
    wjr2012  
       2 天前
    复制 EMMC 的过程应该很复杂吧,厂家也不愿意搞的东西。华为提供的升级存储芯片容量的服务,但是换完之后都是刷出厂程序,不会把原来存储芯片中的内容给你恢复进去。普通人就更没那个技术了~只能说技术门槛太高~
    huang86041
        80
    huang86041  
       2 天前
    @ahdung #75
    高通芯片里面有 OTP ,一次性烧入的。写入后不可更改的。
    我说的都是一些安全要求高的才会使用的,消费类的产品可能也不会使用,但确实有这个功能在里面。
    ahdung
        81
    ahdung  
    OP
       2 天前
    @wjr2012 这个应该是省事,而非做不到,毕竟如果承诺还原数据,总有客户会有意或无意地说我的某某数据怎么不见了/变了,扯不清干脆不承诺。
    ahdung
        82
    ahdung  
    OP
       2 天前
    @huang86041 #80 学习了。
    ebushicao
        83
    ebushicao  
       2 天前
    因为这玩意压根就不是让你玩刷机的,不管是路由器还是手机都明确说了刷机就不保修的,态度都在那了。肯定是可以做到无风险刷机的,但,从厂商的角度来说,为什么要做?
    x2ve
        84
    x2ve  
       2 天前
    @ahdung #53 因为一刷就要搞到天亮
    robo
        85
    robo  
       2 天前
    这才是技术交流贴评论区该有的样子
    mohumohu
        86
    mohumohu  
       2 天前
    惠普在 2024 年 5 月份向部分笔记本电脑发布的 BIOS 固件导致设备变砖,变砖的设备无法直接修复,必须联系惠普售后部门更换主板才可解决。
    adian
        87
    adian  
       2 天前
    学到很多
    kokutou
        88
    kokutou  
       2 天前 via Android
    nand 你拆下来很难啊,而且编程器不便宜。。。
    150530
        89
    150530  
       2 天前
    @Puteulanus 之前刷过 rk3399 ,现在明白 MaskRom 和 Loader 的区别了,感谢解答
    Donaldo
        90
    Donaldo  
       2 天前
    不乱超频解温控的话,真搞到硬件损坏的概率太低了,风险主要是两点,其中一点#40 说的很清楚了,就是救砖的难度和成本,我再补充一点:(用户)数据风险,比如刷机前是否备份,以及你刷的(第三方)固件有没有安全隐患。

    这个数据不是系统/固件数据,而是你的应用,设置,资料等等。比如你想保数据线刷,结果写到一半掉电了,这时候想把数据救出来可谓相当困难。又或者你刷的固件被人植入了木马,在后台用 root 权限做坏事。这都是厂商想规避的,所以这个“风险”应该相当于免责声明吧。
    expy
        91
    expy  
       2 天前
    都能写入的话,怎么保证丢失的设备不被别人刷写一下就能解锁使用。
    PhDLuffy
        92
    PhDLuffy  
       2 天前
    1. 涉及硬件操作的刷机是另一个赛道,跟纯软件刷机是两回事,类似于 switch 的软破和硬破,上个夹子直接写字库刷机的多了去了。

    2. 涉及硬件的刷机也有风险,引脚坏了,板子弯了,都会影响设备的稳定性,从某种意义上来讲,硬件刷机比软件刷机危险多了。

    3. 软件刷机的风险就在于玩意破坏了与硬件的通讯,直接无解,这也就是为什么要先刷入 breed 不死或者 PC 的 bios 等额外的硬件操作媒介,硬件刷机就没这个顾虑,直接上夹子,要么就拆焊盘。但是动了硬件肯定风险因素就多了一项,能软破还是软破,实在没办法才会去动硬件。
    garipan
        93
    garipan  
       2 天前
    点进来之前确实没想到这帖子含金量这么高,悟了。
    exploreexe
        94
    exploreexe  
       2 天前
    我理解的刷机有风险 是因为 root 以后 可以刷入非官方的 rom ,非官方的 rom 可能有后门,加上获取了 root 权限,有可能会泄露用户信息。
    hefish
        95
    hefish  
       2 天前
    惠帝司马衷有一次朝会,有大臣报告,说某某地方遭灾害了,粮食绝收,老百姓都饿死了。
    惠帝问:好端端的人为什么会饿死?
    eroneko
        96
    eroneko  
       2 天前
    说白了是不是砖头取决于在谁手里,假如你有无限的资源和能力去处理,那可以说不存在所谓的变砖了
    mayli
        97
    mayli  
       2 天前
    @ahdung 普通人没法直接写 emmc ,有些 emmc 是加密的
    akiyamaakira
        98
    akiyamaakira  
       2 天前   ❤️ 1
    所谓的“变砖”大部分情况都不是说真的没法再刷入系统了,而是说一般人靠手头的工具没法刷入系统。

    你回想一下当 PC 操作系统出问题时是如何重装系统的?是不是一般都是插上带有系统安装程序的 U 盘,然后设置从 U 盘启动进行安装?这说明即使 PC 操作系统出问题了,它依然有一个正常的程序在开机后能运行,并加载你 U 盘里的系统安装程序,这个开机运行的程序就叫 BIOS (现在也叫 UEFI ),BIOS 存储在主板上的一个存储芯片上,一般你随意折腾系统都只会影响硬盘里的数据,而不会影响它,所以你基本可以随时无风险重装系统。

    手机、路由器等设备从本质原理上来说和 PC 没有区别,也都是开机后从存储器读取程序然后执行,只不过一般开机运行的第一个程序是存在 SoC 上的( MaskROM ),然后 MaskROM 程序会加载主板存储芯片上的 Bootloader 程序和操作系统,而这个 Bootloader 程序相当于 PC 上的 BIOS ,但是有可能在刷机时意外损坏,损坏后开机如果 MaskROM 不支持通过 USB 线之类的方式重新刷写 Bootloader ,那你用手头的简单工具就无法恢复了,这就是所谓的“变砖”,但是依然可以用专用的工具直接对存储芯片进行刷写恢复正常。

    有的 MaskROM 是支持启动进入 USB 刷机模式的,这种情况无论怎么折腾都可以恢复,例如: https://wiki.radxa.com/Rock5/install/spi

    如果感兴趣可以了解一下当年 PSP 破解界利用官方后门搞出神奇电池这种救砖工具的历史:
    https://www.psdevwiki.com/psp/Pandora
    qfchannel
        99
    qfchannel  
       1 天前
    不是每个人都有能力写 emmc ,所谓的变砖大部分情况下只是指进不去系统
    uuhhme
        100
    uuhhme  
       1 天前 via Android
    现在主要是三种方式的风险,一个是误操作导致信号存储分区,navram 之类的分区被擦除导致无信号。一个是类似麒麟 980 升级鸿蒙时候的高温导致 soc 上层 ram 空焊,无法开机。还有一个是 flash 闪存质量的问题,比如畅享 8 ,莫名其妙定屏。这和厂家采购的闪存质量有关系。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   901 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 19:36 · PVG 03:36 · LAX 12:36 · JFK 15:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.