线刷指南
- 电脑
- 一台解锁 Bootloader 的安卓 ? 以上的手机
- 一根良好的数据线
- Magisk.zip(Root需选)
- 全量包/OTA包/boot.img 三选一
准备
链接手机
Warning
线必须是原装线或者质量靠谱的线,否则会出现 USB Error
!
如果你没有使用 MTK ,请通过adb devices
命令再次确认已经连上手机。
找不到adb??
如果你不想配置ADB全局环境的话,以后执行 Adb 命令需要在工具目录下,按住 Shift 右键鼠标打开终端,命令替换为.\adb
或者.\fastboot
,如果需要配置全局环境,请按照这篇文档配置。
准备 Magisk
你可以从 Github 或者 文件包 [1^] 下载它,推荐去 Github 下载,越新越好。如果不能下载 Github 文件请复制 apk 链接填入这里
安装Magisk Manager APP后如果它显示Ramdisk
为"是",那么你才可以进行下面的操作。
Help
Ramdisk 是系统中的一个小分区,Ramdisk 告诉系统接下来要加载哪些东西。Magisk 的目的是修改 Ramdsik,把自己加进开机需要加载的系统组件中。App 中 Ramdisk 的值为「否」时,表示需要修改的 Ramdisk 被放在了 recovery.img 中,我们需要提取并修改 recovery.img。具体操作方法见节尾。
Tips:极少数小米设备存在检测设备信息错误的问题,Ramdisk 虽然显示为「否」,但实际上是需要修改 boot.img,具体请询问相同机型的刷机爱好者。
准备修补的img
这里你可以看一下首页的链接支持获取更多支持。
官方 ROM 的压缩包,例如 Google、小米、Moto,它们由厂商发布,可从固定的发布页面、机型论坛等下载符合你的机型和型号的 Rom
一些厂商同时提供了 OTA包 和 全量包 ,我们优先下载全量包,解压后即可获得 boot.img
,也就是我们所需要的 boot 分区的镜像文件。
如果你使用的是第三方开发者制作的 ROM,也同样需要下载系统全量包解压获取,而部分开发者也会单独释出 boot.img
为玩家提供便利。如果你比较幸运,在论坛中有人分享了自己修改好的镜像,可以直接获取进行刷写。
如果你的机型没有释放对应的 Rom包 ,且你是联发科(天矶<920),你可以使用 MTK深刷 提取 boot.img
(请见MTK强解小节,注意解锁 Bootloader 后才可以提取)。
像Google 给出的刷机包,解压其中的 image 包可以直接获得我们想要的各种镜像文件。但部分厂商给出的升级包以及部分第三方 ROM 的刷机包中解压出来只有 payload.bin,无法进一步解压获得我们想要的各种镜像文件,需要进行 payload 解包。
找到 boot.img
和 vbmeta.img
两个文件,复制到电脑上备用。
如何 payload 解压 OTA 包获取其中的 boot.img
Payload 工具打包版本已经在工具包中给出。源仓库直接拉取源码会因为依赖版本问题难以运行。
下面是拉取源码进行解包的指南,如果失败请尝试找到打包完毕的exe工具(首页附有)。
解压 payload.bin 需要用到特殊的工具,我们可以在 Github 上找到开源的 payload dumper,这是一个基于 python 3 的命令行工具。
以 zip 格式下载源代码,本地解压得到 payload_dumper-master 文件夹,下属两个 py 后缀的 python 文件。将 ROM 的 .zip 包解压缩后,把其中的 payload.bin 文件移送到 payload_dumper-master 中。
pip3 install protobuf #安装 protobuf
## 定位到 payload_dumper-master 文件夹
python3 -m pip install protobuf
python3 -m pip install -r requirements.txt
python3 payload_dumper.py payload.bin
准备好 boot.img 后,打开最新的 Magisk
,点击 Magisk
后边的安装
,选择安装方式为 选择并修改一个文件
,从电脑端复制 boot.img
文件到手机并选中该文件,点击开始
,仔细阅读修改结果并从结果中复制patch后的文件(一般在 Download
文件夹下,文件名类似magisk_patched-24100_gk0te.img
)到电脑。
AVB验证
安卓10及以上需勾选 vbmeta 选项
有些机型刷入修改的 boot 后可能会由于 vbmeta.img 的验证导致设备无法启动 ,可尝试保持 boot镜像 中的 vbmeta ,此选项在最新版面具中已支持。
由于 ROM code 和 BootLoader 通常都是由设备厂商 OEM 提供,而各家实际做法和研发能力不尽相同,为了让设备厂商更方便的引入 Verified boot 功能,Google 在 Android O上推出了一个统一的验证启动框架 Android verified boot 2.0,好处是既保证了基于该框架开发的verified boot 功能能够满足 CDD 要求,也保留了各家 OEM 定制启动校验流程的弹性。
警告
⚠️ 请对操作使用到的镜像(提取或修改)在电脑上留存副本,防止不测!!
线刷 Fastboot刷入镜像
复制修改镜像后的完整路径(在 Windows 中,选中文件 > Shift + 右键,会多出「复制为路径」命令)。
手机重启到 Bootloader
adb reboot bootloader
如果面具中 Ramdisk 为 yes
fastboot flash boot <修改后的 boot.img 路径>
刷入完成后重启
fastboot reboot
如果想要谨慎一点,比如说修改的镜像文件是从网上下载的,想先试试看能否正常启动,则可以用命令:fastboot boot
。这样顺利启动系统后即可暂时拥有 Magisk ,不过重启后就会失效。
文件包中有Han.GJZS-v2.12.1附带了很多工具,可以使用ADB和FastBoot(不懂不要用)
小米线刷工具 MIflash
MiFlash 是由小米发布的刷机工具。可以选择刷机不上 BL 锁(对刷 MIUI 海外版来说是必须),自定义刷机脚本,EDL 刷机模式等。
你可以在以下地址获取它的相关信息,因为是特定机型工具,所以不展开叙述。
https://xiaomirom.com/download-xiaomi-flash-tool-miflash/
面具 Ramdisk 为「否」的机型
我们使用面具修补的 「Recovery Mode」 选项来解决这个问题。
具体操作步骤如下:
-
下载当前系统的全量包,如果你使用了第三方 Recovery,那么 recovery.img 就是这个第三方的镜像。提取 recovery.img 或者 MTK 中执行
python mtk r recovery recovery.img
,先备份,然后传到手机上。 -
修改镜像:打开面具,在选择修补文件后,会多出一个「Recovery Mode」的选项。
-
刷入镜像:使用的命令是
fastboot flash recovery <修改后的 recovery.img 路径>
或者python mtk w recovery <修改后的 recovery.img 路径>
这几步完成后,重启手机。和修改 boot.img 不同的是,我们需要立即按下设备进入 Recovery 的组合键,这样才能挂载 Magisk 。这是因为我们是通过修改 recovery.img 的方式挂载 Magisk 的,只有在按下组合键的情况下,设备才会启动 recovery 分区,从而实现 Magisk 的挂载。
按下组合键后,设备不会进入 Recovery 模式,而是会闪屏过后直接进入一个有 Magisk 的系统。每一次重启都要这样做才能挂载 Magisk。进入系统后就没有特别需要注意的问题了。
而想要进入真正的 Recovery ,我们需要在按下组合键后的闪屏界面长按音量 + 键。
创建日期: November 16, 2022 19:19:43