因刷入错误的XBL导致死机应如何预防及补救

2022 年 4 月我的 8pro 以同样的方式黑砖了，我终于知道是什么原因造成的！

答案 - 引导程序！

一加使用相同的签名对所有四个固件进行签名，OP8，OP8T，OP8Pro，9R 都使用相同的签名，这意味着无论你刷哪个，它们的 PBL（Primary Bootloader）将加载 XBL（Secondary Bootloader）.

虽然 OxygenOS OTA 基本上是安全的，但它仍然可能会意外导致 OxygenOS 刷新错误的图像或 TWRP 告诉有效负载将 DDR4 引导加载程序刷新到 DDR5 设备上。
之前的 OnePlus 8 和 8 Pro 固件都附带了为 DDR4 或 DDR5 设计的单个引导加载程序。但从 OxygenOS12 开始，他们开始在同一个包中运送 DDR4 和 DDR5。而手机死机的原因是因为 LPDDR5 与 LPDDR4X 相比，LPDDR5 RAM 使用较低的电压，并且仅仅因为没有代码可以防止 XBL 在 LPDDR5 上将电压设置得太高，导致 RAM 没有加载正确的电压而无法正常工作，所以手机无法正常启动。

所以如果我们通过 fastboot 手动刷入 OOS OTA，我们应该请检查是否是正确的 XBL，防止事发生

来自 mlgmxyysd 一些额外的警告

一加 8T/9R 也有 LPDDR4x 版本，刷机前请使用下方 adb 确认版本。
adb shell getprop ro.boot.ddr_type
0=LPDDR4｜1=LPDDR52. DDR 检测进程被人为杀死，远离 Magisk 模块以保证安全。

不推荐 TWRP，改用 OxygenOS 修改恢复或其他 ROM 的恢复。

Flash/Root 风险巨大，所有操作需谨慎。

机型 | RAM
OnePlus 8 | LPDDR4
OnePlus 8 Pro | LPDDR5
OnePlus 8T | LPDDR4x/LPDDR5
OnePlus 9R | LPDDR4x/LPDDR5

如果你是 OnePlus 8 (DDR4) 你应该刷 xbl.img 和 xbl_config.img
如果你是 OnePlus 8 Pro/8T/9R (DDR5) 你应该刷 xbl_lp5.img 和 xbl_config_lp5.img
我建议每个制作 fastboot flashers 的人都包含该更改或为每个代号制作单独的 flashers！

之前 LP5 只有 9R 固件，但一加加入 OPPO 后似乎发生了一些变化，让很多人觉得很危险。

上面的图片有一些检查，但它们似乎没有在正常的工作，而且电压设置得太高了。

所以，请停止向 8 Pro 固件版本刷入非 DDR5 引导​​加载程序！或者至少在检测到 DDR5 时添加保护以防止启动失败。

如何补救

刷入了错误的 XBL，手机一般表现为一块电子砖头（无法开机、进入 fastboot、9008，关机充电也没有亮屏充电动画反应）

@Jpnx49Db0 描述

我来解释一下为什么会刷死，要换主板。lddr4x 和 lddr5 的电压不一样，刷错 xbl_config 会导致电压过高或过低，使得 RAM 无法正常工作，导致手机死机。而进入 9008 的按键检测代码在 xbl 中，手机死机，无法响应按键操作，所以进入不了 9008。那些号称可以免拆进 9008 修复这种黑砖机的原理应该是插入了工程线，里面接了特定阻值的电阻，在启动流程的 PBL 阶段（上电后第一个执行的程序）就进入了 9008 模式，直接无视 xbl。之前售后换主板应该是不清楚有工程线可用，遇到这种问题直接换主板，现在的售后应该有工程线了，可以救砖了。具体什么是 xbl，pbl 可以看看我的图文浅谈底层固件安全性，里面有许多干货 [受虐滑稽]

我们可以购买一根带有特定电阻的工程线连接到你的手机，利用这根线进行正常的 9008 刷写操作即可救回你的手机

当然，如果你的地区不贩卖明确带有电阻的线，也可以使用类似 pcb2.0 功能的线来进行刷写，里面一般带有很多种类的电阻，一般长这样

希望此帖子能帮助到同样发生这个问题的人

文章参考：
XDA(GUIDE How to Avoid Killing Your OnePlus 8 Pro/8T/9R with OxygenOS 12 / ColorOS 12)
酷安 @Jpnx49Db0 相关图文
GUIDE How to Avoid Killing Your OnePlus 8 Pro / 8T / 9R with OxygenOS 12 / ColorOS 12