如何修改更新包以防止强制移除Fastboot和恢复回原始系统?

7次阅读
没有评论

问题描述

一位用户拥有Alcatel Idol 3(6045Y变体),该设备目前运行TWRP,并在昨天收到了Marshmallow的更新通知。与其他用户注意到的情况相同,这次更新也去除了Fastboot命令并重新将恢复更改为原始系统。该用户的上载已下载更新.zip文件并在PC中转移,以便修改updater-script(及其他可能需要修改的文件),以保留Fastboot和/或TWRP。

解决方案

  1. 修改updater-script

从提供的示例可以看到,关键代码行如下:
shell
package_extract_dir("recovery", "/system");

该行表示将“recovery”文件夹内的内容解压到/system目录下。如Replay1所述,这将覆盖现有系统中的Recovery分区,可能导致TWRP丢失或其他预装恢复工具被替换。

根据Replay1的建议,可以尝试删除此行来保留TWRP。然而,在执行此操作之前,请确保其他更新或文件不会与TWRP冲突,特别是考虑到整个.zip包可能包括系统和其它分区(如boot.img, system, recovery等)的更新。因此,单方面的修改不一定能彻底解决问题。

  1. 重新编译Recovery镜像

由于原始恢复固件被更改为Marshmallow版本,并且删除“recovery-from-boot.p”将影响文件结构,所以直接编辑updater-script的效果可能有限。此外,某些开发者在XDA论坛上提到设备更新过程中的系统分区与Fastboot命令之间的冲突,这可能是由于特定设备固有的限制。

如果需要保留原始恢复工具(如TWRP),并希望避免Fastboot命令的更改影响更新过程,则可能需要重新编译整个Recovery镜像或修改boot.img。然而,此类操作要求一定的技术知识,并且不一定适用于所有设备型号和系统版本。

  1. 使用第三方工具

还可以考虑使用一些第三方工具来管理此过程中的冲突问题,如刷入定制的boot分区而不强制替换整个恢复分区。这类选择虽然能够提高设备使用的灵活性,但也需要确保所选工具兼容您的具体设备配置及使用环境。

注意

尽管上述方法试图保留已有的Fastboot命令和TWRP,但由于硬件及固件方面的复杂性,某些尝试可能难以成功且存在风险,请谨慎操作!如有疑问,建议进行详尽的研究或咨询相关社区内的专家用户。在任何重大的刷机活动前都应做好充分准备并备份重要数据以免造成不可逆的损失。

正文完