跳至正文

手动线刷任意 Android ROM

通过 Fastboot 与 payload_dumper,我们可以在任意时刻刷入任意我们需要的 ROM。

在本文中,我将分享如何在 Redmi K40 上通过 Fastboot 成功刷入第三方 ROM(如 crDroid OS)的经验。参考了 XDA 论坛上的一些帖子后,我找到了一个简单的方法来避免刷机过程中出现的错误。

最近,在一次更新中,我遇到了 Error applying update: 7 (ErrorCode:: kInstallDeviceOpenError )Updater process ended with ERROR: 1 Error installing zip file 的错误

考虑到 A/B 分区的 OTA 包中根本没有 updater-script 文件,参考 Google 文档“构建 OTA 软件包”,你可以修改 pre-devicepre-build-incrementalpre-build 等。但相信我,根本没用。

通过查询资料,发现文章:Flash fastboot rom / unbrick any xiaomi phone without any flashtool.

准备工作

  1. 确保已安装 ADB 驱动程序,可以从这里获取。
  2. 解锁 Bootloader。
  3. 下载适用于您设备的 Rescovery。
  4. 下载适用于您设备的 ROM。
  5. 下载 payload_dumper 工具。

解压 ROM

  • 解压 ROM,得到以下文件
.
├── apex_info.pb
├── boot.img
├── care_map.pb
├── META-INF
│   └── com
│       └── android
│           ├── metadata
│           ├── metadata.pb
│           └── otacert
├── payload.bin
└── payload_properties.txt

4 directories, 8 files
  • 解码 Android OTA payload

1. 参考 payload_dumper 的 README,运行命令

podman run --rm -v $PWD:/data -it vm03/payload_dumper /data/payload.bin --out /data/output

2. 在 output 文件夹下得到以下文件(因 ROM、版本不同,文件可能不一样)

.
├── boot.img
├── dtbo.img
├── odm.img
├── product.img
├── system_ext.img
├── system.img
├── vbmeta.img
├── vbmeta_system.img
├── vendor_boot.img
└── vendor.img

1 directory, 10 files

刷入 ROM

1. 将手机连接到电脑,引导进入 TWRP 或 OrangeFox

2. 执行 adb reboot fastboot 命令进入 fastbootd 模式(而非 bootloader 模式,两者的区别可参考这篇文章)。

fastboot devices

3. 使用 fastboot 命令逐个刷入 .img 文件,文件名和分区名是一一对应的。主要包括:boot.img、system.img 和 system_ext.img。

fastboot flash boot boot.img
fastboot flash dtbo dtbo.img
fastboot flash odm odm.img
fastboot flash product product.img
fastboot flash system system.img
fastboot flash system_ext system_ext.img
fastboot flash vbmeta vbmeta.img
fastboot flash vendor vendor.img

或者简单的一行命令(fish bash 语法,别的用 AI 自行翻译一下)

for img in (ls *.img)
  set img_name (basename $img .img)
  fastboot flash $img_name $img  
end

4. 完成刷入后,执行 fastboot reboot 重启设备

5. 如果需要,您可以重新启动进入 TWRP,然后正常卡刷整个 ROM(一般不会有问题),实在不行就手动刷入其他其他文件(如 vendor.img、vbmeta.img 等)。

总结

刷机/更新设备是风险操作,请使用定期自动备份 Android 软件 NeoBackup 等,自动上传云端,保持良好的数据备份习惯

祝各位好运,玩得开心!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

🌍 Language