安装
如果您已经安装了 Magisk ,强烈建议直接通过 Magisk 应用程序的「直接安装」方法进行升级。以下教程仅针对初始安装。
入门
在你开始之前:
- 本教程假设您了解如何使用
adb
和fastboot
- 如果您还计划安装第三方内核(kernel),请在安装 Magisk 之后安装它
- 必须解锁设备的引导加载程序(bootloader)
下载并安装最新的 Magisk 应用程序 (只需下载「Magisk-版本.apk」即可) 在主屏幕中,您应该看到:
Ramdisk 的结果确定您的设备在 boot 分区中是否有 ramdisk。如果您的设备没有启动 ramdisk,请在继续之前阅读 Recovery 中的 Magisk 部分。
信息
不幸的是,有一些例外情况,因为某些设备的引导加载程序会接受 ramdisk,即使它不应该接受。 在这种情况下,您必须按照说明进行操作,就好像您的设备的 boot 分区包含 ramdisk 一样。 没有什么办法检测到这一点,因此唯一可以确定的方法就是实际尝试。 幸运的是,据我们所知,只有部分小米设备具有此属性,所以大多数人可以忽略这条信息。
如果您使用的是华为设备,请查看相应部分。
如果您使用的是三星设备,请查看相应部分。
如果您的设备有启动 ramdisk,请获取 boot.img
或者 init_boot.img
(如果存在。在出厂时搭载 Android 13 的设备通常是这样的)的副本。
如果您的设备没有启动 ramdisk,请获取 recovery.img
的副本。
您可以从官方固件包或第三方 ROM 刷机包中提取所需文件。
接下来,我们需要知道您的设备是否有单独的 vbmeta
分区。
快速回顾一下,此时,您应该已经知道并准备好了:
- 设备是否有启动 ramdisk
- 基于 (1) 的
boot.img
、init_boot.img
或recovery.img
让我们继续修补映像.
修补映像
- 将 boot 、init_boot 或 recovery 映像(
*.img
文件)复制到设备 - 按下 Magisk 主屏幕中的 「安装」 按钮
- 如果要修补 recovery 映像,请选中 「Recovery 模式」 选项
- 在方式中选择 「选择并修补一个文件」 ,然后选择 boot 、init_boot 或 recovery 映像
- 开始安装,并使用 ADB 将修补的映像复制到您的电脑:shell
adb pull /sdcard/Download/magisk_patched_[随机字符].img PC上magisk_patched.img的路径
提示,你可以将文件从资源管理器直接拖到终端中来获得文件绝对路径。 不要使用 MTP,因为它可能会损坏大文件。
- 将修补好的 boot 、init_boot 或 recovery 映像刷入到您的设备。
对于大多数设备,可以重启到 fastboot 模式,并使用以下命令刷入:shellfastboot flash boot PC上magisk_patched_[随机字符].img的路径
shellfastboot flash init_boot PC上magisk_patched_[随机字符].img的路径
shellfastboot flash recovery PC上magisk_patched_[随机字符].img的路径
- 可选 如果您的设备有单独的
vbmeta
分区,则可以使用以下命令修补vbmeta
分区shellfastboot flash vbmeta --disable-verity --disable-verification vbmeta.img
WARNING
此操作可能清除您的数据。
- 重启并启动 Magisk 应用程序(如果您清除数据,您将看到一个用于占位的 Magisk 应用程序),您将看到一个询问修复环境的对话框,点击它并等待重启。
- 瞧!
WARNING
千万不要刷写其他人共享的已修补的镜像,也不要在其他设备上修补镜像,即使它们具有相同的设备型号!您可能需要执行完整的数据擦除操作以恢复您的设备。始终在您要安装 Magisk 的同一设备上修补引导镜像。
卸载
卸载 Magisk 的最简单方法是直接通过 Magisk 应用程序。如果您坚持使用第三方 Recovery,请将 Magisk APK 文件 重命名为 uninstall.zip
后像其他普通的刷机包一样刷入。
Recovery 中的 Magisk
如果您的设备在 boot 映像中没有 ramdisk ,Magisk 别无选择,只能劫持 Recovery 分区。对于这些设备,每次启用 Magisk 时都必须重新启动至 Recovery。
当 Magisk 劫持 recovery 时,有一个特殊的机制允许您实际进入到 Recovery 模式。每个设备都有自己的启动到 Recovery 模式的按键组合,(例如几乎所有的小米设备均为「电源」+「音量增大」以及 Galaxy S10 的「电源」+「Bixby」+「音量增大」)。百度搜索(或者 Bing 搜索、Google 搜索)可以很容易地获得这些信息。一旦你按下组合键,设备就会显示启动屏幕(可能还会振动),释放所有按键即可启动 Magisk。如果您决定引导到实际的 Recovery 模式,请长按音量增大,直到看到 Recovery 屏幕。
总之,在 recovery 中安装 Magisk 后 (从关机开始):
- (正常开机) → (无 Magisk 的系统)
- (按键组合) → (启动屏幕) → (释放所有按钮) → (带有 Magisk 的系统)
- (按键组合) → (启动屏幕) → (长按音量增大) → (Recovery 模式)
(注意:在这种情况下,您不能使用 第三方 Recovery 来安装或升级 Magisk!!)
三星设备
在继续之前,请确认:
- 安装 Magisk 将熔断您的 Knox 保修位,此操作无论如何都是不可逆的。
- 首次安装 Magisk 需要完整的数据擦除(这不包括在解锁 bootloader 时的数据擦除)。请备份您的数据。
刷机工具
- Samsung Odin3(仅限 Windows)(需要 Samsung USB Drivers)
- Samsung Odin4(仅限Linux)
- Heimdall(或 Grimler's fork)
要求
要验证三星设备是否可以安装 Magisk,首先必须检查 OEM 锁和 KnoxGuard (RMM) 状态,为此请使用组合键在下载模式下启动设备。
OEM 锁的值可能如下:
- ON (L):完全锁定。
- ON (U):启动加载程序已锁定,OEM 解锁已启用。
- OFF (U):完全解锁。
要解锁引导加载器,请按照以下说明操作。如果下载模式下未显示 OEM 锁的值,则可能由于市场限制(美国/加拿大设备),您的设备无法解锁。
KnoxGuard 的值可能如下:
Active
、Locked
:您的设备已被电信运营商或保险公司远程锁定。Prenormal
:您的设备被暂时锁定,达到 168 小时正常运行时间后会触发解锁。Checking
、Completed
、Broken
:您的设备已解锁。
启用 KnoxGuard 后,无论您的启动加载器处于何种锁定状态,都将无法安装/运行 Magisk。
解锁 Bootloader
- 允许解锁 bootloader,在 开发者选项 → OEM 解锁。
- 重启至下载模式:关闭设备电源并按下设备的下载模式组合键。
- 长按音量上键解锁 bootloader。这将清除你的数据并自动重启。
- 完成初始设置。跳过所有步骤,因为数据将在后面的步骤中再次清除。请在设置过程中将设备连接到互联网。
- 启用开发者选项,**确认 OEM 解锁选项是否存在,并显示为灰色。**这意味着 KnoxGuard 没有锁定您的设备。
- 您的 bootloader 现在在下载模式下可接受的非官方映像。
操作指南
- 为您的设备下载最新固件包,您可以使用以下工具之一直接从三星服务器下载:
- 解压缩固件并将
AP
归档文件复制到设备。它通常命名为AP_[device_model_sw_ver].tar.md5
。 - 按下 Magisk 主屏幕中的 「安装」 按钮。
- 如果您的设备没有启动 ramdisk,勾选 「Recovery模式」 选项。
- 在方式中选择 「选择并修补一个文件」 ,然后选择
AP
归档文件。 - 开始安装,并使用 ADB 将修补的归档文件复制到您的电脑:shell
adb pull /sdcard/Download/magisk_patched_[random_strings].tar
WARNING
不要使用 MTP,因为它可能会损坏大型文件。
译者注:如果有条件,可以验证一下哈希值。
- 重新启动到下载模式。在您的 PC 上打开 Odin,将
magisk_patched.tar
作为AP
,连同原始固件中的BL
、CP
和CSC
(不是HOME_CSC
,因为我们要清除数据)一起刷入。 - 一旦 Odin 完成刷机,您的设备应该会自动重启。如果被要求恢复出厂设置,请同意。
- 如果您的设备没有启动 ramdisk,请立即重新启动到 recovery 以启用 Magisk(原因在 Recovery 中的 Magisk 中说明)。
- 安装您已经下载的 Magisk 应用程序 并启动该应用程序。 它应该显示一个对话框,要求进行额外的设置。
- 让应用程序完成它的工作并自动重启设备。瞧!
系统更新
一旦你的三星设备获得了 root 权限,你就不能再通过 OTA 进行 Android 系统更新了。要进行系统更新,您必须手动下载新的固件归档文件并完成上一节中编写的相同 AP
修补过程。这里唯一的区别在于Odin刷入步骤:不要使用 CSC
归档文件,而是使用 HOME_CSC
归档文件,因为我们正在执行升级,而不是初始安装。
注意事项
- 永远、永远不要尝试将
boot
、init_boot
、recovery
或vbmeta
分区恢复到原样!您这样做会破坏您的设备,并且从中恢复的唯一方法是清除数据并进行完整的 Odin 恢复。 - 要使用新的固件升级您的设备,切勿出于上述原因直接使用原厂
AP
归档文件。始终在 Magisk 应用程序中修补AP
并改用它。
华为
DANGER
这部分现已从官方文档中移除。您正在浏览的是 2021.03.22 时并修改补充后的版本。
Magisk 不再正式支持较新的华为设备,因为其设备上的 bootloader 不可通过官方途径解锁,更重要的是他们不遵循标准的 Android 分区方案。以下只是一些一般性指导。
使用了麒麟处理器的华为设备与大多数常见设备的分区方式不同。Magisk 通常安装在设备的 boot
分区,但是华为设备没有这个分区。根据您的设备运行的 EMUI 版本,说明会略有不同。
WARNING
建议不要使用最新版本的 Magisk 应用!推荐使用 Magisk v23.0 或 Magisk v20.4 搭配 Magisk Manager v7.5.1
获得官方映像
华为不发布官方出厂映像以及 OTA 归档文件,但大多数固件压缩包可以从华为固件下载站下载。 要从压缩包中的「UPDATE.APP」中提取映像,您必须使用 Huawei Update Extractor(仅限 Windows!)
EMUI 5 及以下
遵循入门的教程,唯一的不同在于请勿使用最新版本的 Magisk 应用!
注意:华为设备进入 fastboot 模式需要将手机使用数据线连接电脑,而进入 Recovery 模式则不能将手机连接到电脑!所以如果您在 fastboot 模式中刷入 Recovery 映像后请将手机与电脑断开连接后再按下「电源」+「音量增大」来进入 Recovery,否则您将进入的是「eRecovery」。
EMUI 8
对于运行 EMUI 8 的设备,您的设备有一个名为 ramdisk
的分区,这是将要安装 Magisk 的地方。
- 如果您打算使用第三方 Recovery,只需按照第三方 Recovery 的说明进行操作即可。
- 如果您不打算使用第三方 Recovery,则必须从您的固件中提取
RAMDISK.img
。 按照上面的修补映像说明进行操作,但使用RAMDISK.img
文件而不是 boot 映像! - 要将修补后的映像刷入您的设备,请使用 fastboot 命令:shell请注意,您正在刷入
fastboot flash ramdisk /path/to/magisk_patched.img
ramdisk
,而不是boot
!
EMUI 9 或更高版本
对于 EMUI 9+ 设备,ramdisk
分区不再存在。 作为解决方法,Magisk 将安装到 recovery_ramdisk
分区。 在按照以下说明操作之前,请先阅读 Recovery 中的 Magisk !
译者注:正如在 荣耀 View 10 上测试的那样,华为的内核似乎无法在早期启动时捕获按键事件,因此长按音量增大不会在我的设备上不会启动到 Recovery。 您的体验可能会有所不同。
- 如果您打算使用第三方 Recovery,只需按照第三方 Recovery 的说明进行操作即可。
警告:Magisk 将覆盖第三方 Recovery。 - 如果您不打算使用第三方 Recovery,则必须从固件中提取
RECOVERY_RAMDIS.img
(这不是拼写错误),而不是recovery.img
(部分设备依旧需要修补recovery.img
)。 按照上面的引导映像修补说明进行操作,但使用RECOVERY_RAMDIS.img
文件而不是 boot 映像! - 要将修补后的映像刷入您的设备,请使用 fastboot 命令:shell请注意,您正在刷入
fastboot flash recovery_ramdisk /path/to/magisk_patched.img
recovery_ramdisk
,而不是boot
!
第三方 Recovery
WARNING
这种安装方法已被弃用,并且可以用很小的工作量来维护。
仅当您的设备启动 ramdisk 时,才能使用第三方 Recovery 进行安装。不建议在新的设备上通过第三方 Recovery 安装 Magisk。如果您遇到任何问题,请使用正确的修补映像方法。
- 下载 Magisk 安装包
- 将
.apk
文件扩展名重命名为.zip
,例如:Magisk-v26.1.apk
→Magisk-v26.1.zip
。如果重命名文件扩展名时遇到问题(比如在 Windows 文件资源管理器中默认不显示文件扩展名),请使用 Android 上的文件管理器或第三方 Recovery 中的文件管理功能重命名文件。 - 像其他普通的刷机包一样刷 zip。
- 重新启动并检查是否已安装 Magisk 应用程序。如果未自动安装,请手动安装 APK。
- 启动 Magisk 应用程序,它将显示一个让您重新安装的对话框。请直接在 APP 内重新安装并重新启动(MTK 设备将在重启后自动给 boot 分区上锁,请使用 fastboot 或者第三方 recovery 修补映像)。
WARNING
模块的 sepolicy.rule
文可能存储在 cache
分区中。请不要擦除 CACHE
分区。
TIP
您也可以提供 adb sideload
刷入 Magisk,这对于不能正常解密 data 分区且无外置存储设备(SD 卡,U 盘等)的设备特别友好,并且在这种情况下无需将 .apk
文件扩展名重命名为 .zip
。