APatch 中文文档 下载 App

OTA 升级保 Root — 安装到未使用的槽位

OTA 更新为什么会破坏 Root

大多数现代 Android 设备(Android 7+)使用 A/B 分区方案:

如果你的 APatch 修补好的 boot 分区在 slot A,OTA 把新系统刷到 slot B 后,slot B 用的是原厂 boot——root 就没了。

APatch 的 OTA 保 Root 方案

APatch 继承了 Magisk 成熟的 OTA 保 root 流程:

步骤 1:正常执行 OTA

像往常一样在系统设置里点击"系统更新",下载并安装 OTA 更新包。

步骤 2:OTA 安装完成时打开 APatch 管理器

系统显示"OTA 安装完成,即将重启"的时候,不要等它自动重启——先打开 APatch 管理器。

步骤 3:安装到未使用的槽位

点击管理器右上角的菜单按钮,选择 "安装到未使用的槽位(OTA 后)"。

管理器会:

  1. 读取新槽位的 boot.img(OTA 刚刷进去的原厂 boot)
  2. 用当前版本的 KernelPatch(已经在运行中的内核补丁框架)修补它
  3. 把修补好的 boot.img 刷到新槽位
  4. 重启后就会进修补好的新槽位系统

步骤 4:重启验证

重启后进入新系统,打开 APatch 管理器——root 应该还在。

注意事项

APatch 的 OTA 功能目前不太稳定

官方文档明确说:

APatch 的 OTA 功能目前不太稳定,可能会出现问题。 当遇到问题时,最好前往 APatch 项目 GitHub 仓库提交 issue。

极少量情况下会出现切换槽位失败。这时候的补救方式是手动重新修补:

  1. 重启到 bootloader
  2. 把当前槽位的原厂 boot 备份下来(或者用刷机包重新提取)
  3. 手动修补并刷入新槽位的 boot
  4. 重启

不要等太久

OTA 安装完成后要尽快打开管理器执行槽位安装操作——系统可能会在几秒后自动重启。如果没赶上,重启后 root 就丢了,需要手动重新修补。

关于自动模式

某些版本的 APatch 可能在 OTA 安装完成后自动弹出"安装到未使用槽位"的提示——跟着提示点就行。如果没弹出来,手动去菜单里找。

OTA 失败后的补救

如果 OTA 切槽位失败了:

# 1. 重启到 bootloader
adb reboot bootloader

# 2. 找到当前活动槽位
fastboot getvar current-slot
# 输出 current-slot: a 或 b

# 3. 把修补好的 boot 刷到刚才 OTA 刷的那个槽位(不是当前运行的)
# 假设当前运行的是 slot a,OTA 刷的是 slot b
fastboot flash boot_b your-patched-boot.img

# 4. 重启
fastboot reboot