Magisk Manager

简短回答

各工具的工作原理

三者都需要已解锁的 Bootloader,安装方式也都是用各自的应用修补映像,再用 fastboot 刷入。区别在于 Root 从哪里来。

Magisk

Magisk 修补的是 ramdisk,也就是启动映像中最先运行的那一小部分。手机开机时,Magisk 会在 Android 之前完成自身的设置,并在不修改系统分区的情况下添加 Root。根据手机的不同,你需要修补 boot、init_boot、vendor_boot 或 recovery 映像。Magisk 适用于 Android 7.0 及更高版本,并内置了 Zygisk,供需要在应用内部运行代码的模块使用。

KernelSU

KernelSU 从 Linux 内核内部提供 Root。它官方支持使用 GKI(通用内核映像)内核的手机,大多数出厂搭载 Android 12 或更高版本的手机都使用这种内核。它有两种安装方式:

  • LKM 模式: KernelSU 应用会修补你的 boot 或 init_boot 映像,让一个内核模块在开机时加载。手机原有的内核保持不变。KernelSU 项目推荐手机使用这种方式。
  • GKI 模式: 把手机的内核替换为与其内核版本匹配的 KernelSU 内核。这种方式也适用于三星手机,而 LKM 模式在三星手机上不可用。

KernelSU 的 App Profile 可以精确设定每个 Root 应用被允许做什么。它的模块格式与 Magisk 几乎相同,但挂载由一个需要先安装的独立“元模块”(metamodule)负责,而且没有内置 Zygisk。

APatch

APatch 用自己的内核修补代码,修补 boot 映像中的内核。修补时,你需要设置一个 SuperKey,这是一个由 8 到 63 位字母和数字组成的密码,用来控制 Root 权限。APatch 只支持内核版本在 3.18 到 6.12 之间、并且编译时启用了 CONFIG_KALLSYMS 的 ARM64 手机。它从不修补 init_boot。

APatch 支持两种模块:APModules,用法与 Magisk 模块类似;以及 KPModules,可以向内核本身添加代码。

对比一览

MagiskKernelSUAPatch
Root 从哪里来修补后的 ramdisk内核(内核模块或替换的内核)修补后的内核
修补对象boot、init_boot、vendor_boot 或 recoveryboot 或 init_boot(LKM),或换用新内核(GKI)仅限 boot 中的内核
支持的手机几乎所有 Android 7.0 及以上的手机使用受支持 GKI 内核的手机内核为 3.18 到 6.12 的 ARM64 手机
Root 权限按应用设置,在“超级用户”标签页中按应用设置,使用 App Profile按应用设置,由你的 SuperKey 解锁
模块Magisk 模块Magisk 风格的模块,外加一个挂载元模块APModules 和内核 KPModules
Zygisk内置单独的模块单独的模块
三星有官方步骤仅限 GKI 模式没有官方步骤
官方文档topjohnwu.github.io/Magiskkernelsu.orgapatch.dev

该选择哪一个?

  • 选择 Magisk:如果你是第一次 Root,如果你的手机比较旧或者没有运行 Android 12 及更高版本,或者它是三星手机或 Googlebook。想按照分步教程(比如我们的教程)操作时,它也是最稳妥的选择。
  • 选择 KernelSU:如果你的手机使用 KernelSU 支持的 GKI 内核,并且你希望精细控制每个 Root 应用能做什么。
  • 选择 APatch:如果你的 ARM64 手机的内核不受 KernelSU 支持,并且你能放心地管理 SuperKey。

如何从 Magisk 换成其他 Root 工具

同一时间只能安装一个 Root 工具。

  1. 在 Magisk 应用中使用完全卸载移除 Magisk。我们的卸载教程介绍了所有方法。
  2. 确认手机在没有 Root 的情况下能正常启动。
  3. 按照新工具的官方文档安装它。之后请重新安装你的模块,因为卸载 Magisk 会移除它们。

要换回 Magisk,请用同样的方法移除另一个工具,刷入原厂映像,然后安装 Magisk。

常见问题解答

KernelSU 比 Magisk 更好吗?

没有哪个对所有人都更好。KernelSU 适合使用受支持 GKI 内核的手机,并且可以精细控制每个 Root 应用。Magisk 支持的手机和 Android 版本要多得多,而且大多数教程和模块都是为它编写的。

KernelSU 能使用 Magisk 模块吗?

大多数可以。两者使用相同的 zip 格式,把模块安装到同一个文件夹,并以相同的方式运行模块脚本。对于会修改系统文件的模块,KernelSU 需要先安装一个负责挂载的元模块(metamodule);Zygisk 模块则需要另外安装一个 Zygisk 模块。

APatch 适用于所有手机吗?

不是。APatch 只支持内核版本在 3.18 到 6.12 之间的 ARM64 手机,而且内核在编译时必须启用 CONFIG_KALLSYMS。

可以同时安装两个 Root 工具吗?

不可以。每个工具都会修改启动过程,同时安装两个可能导致手机无法启动。请先彻底移除一个,再安装另一个。

KernelSU 和 APatch 是免费的吗?

是的。和 Magisk 一样,两者都是免费的开源软件。请只从它们的 GitHub 官方发布页下载:KernelSU 和 APatch。