在以往的文章中少数派向大家介绍过 Magisk 的 安装方法、如何 隐藏 root 无痛玩机、这款神器以及在 Magisk 下实现 OTA 更新等等技巧,也推荐过不少实用的 Magisk 模块。

关联阅读:

但俗话说「常在河边走,哪有不湿鞋」:最爱的模块并没有适配刚刚更新的系统、刚刚发现的新模块并不兼容自己手里的 Android 机……因为 Magisk 模块的兼容性问题导致手机无法正常开机的情况并不少见,如果你不幸遭遇这种情况,又该如何进行「救急」呢?

很多人在使用 Magisk 遇到问题时的第一反应往往是通过 Magisk Uninstaller 直接卸载 Magisk 框架而非 Magisk 模块。殊不知这样并不能从根本上解决由不兼容模块带来的问题——虽然手机因为 Magisk 模块无法加载能够正常开机,但卸载 Magisk 后也就丢失了 root 权限,我们不仅无法在开机状态下清除问题模块,在不清除数据重刷的情况下,重装 Magisk 框架后手机依然会在开机时读取先前的有兼容性问题的 Magisk 模块。

正确的处理方式是怎样的呢?

需要明确的是,我们在 Magisk 的介绍中已经多次强调过,因为实现原理特殊,几乎所有的 Magisk 模块都是以「挂载」的方式来实现具体功能的。因此如果你确信自己手里的 Android 机是因为安装或更新某个 Magisk 模块导致无法开机,就大不必担心手机里的数据因为这个原因而丢失

而既然 Magisk 模块是挂载在系统之外的,那我们把这些引发问题的模块拿掉就好。这里可以用的方法主要有三种:

TWRP 文件管理器:直接删除模块文件

首先,如果手机拥有自带文件管理功能的第三方 Recovery 支持,比如 TWRP,那我们可以借助 Recovery 的文件管理器直接删除问题 Magisk 模块的数据文件夹来卸载模块。这里以 TWRP 为例,进入 TWRP 后依次点击「高级->文件管理」,然后定位至以下路径:

/data/adb/modules
TWRP 文件管理中定位模块路径

在这里我们应该会看见不少熟悉的字样——没错,这就是开机状态下 Magisk Manager 内所展示的已安装 Magisk 模块列表。借助关键字锁定需要卸载的模块的数据文件夹后,点击进入该文件夹,然后点击右下角的文件夹操作按钮并删除文件夹即可。

直接删除问题模块的文件夹

删除文件夹后直接重启,如果你的操作和判断都没有问题,此时手机就不会在开机过程中尝试挂载不兼容的 Magisk 模块从而导致手机无法开机了;如果此时手机依然无法正常启动,你也可以按照上述操作删除其它 Magisk 模块来一一进行排除。在所有已安装模块都已排除完毕的情况下如果依然无法开机,再使用 Magisk Uninstaller 卸载框架也不迟。

MMRT:能在 TWRP 里运行的 Magisk Manager

其次,如果你觉得 TWRP 提供的文件管理器不够直观,也可以借助另一款名为 Magisk Manager Recovery Tool(以下简称 MMRT)的工具来实现类似的效果。MMRT 基于 Aroma 安装器——一套具有交互式界面的向导式安装工具,大名鼎鼎的 OpenGApps 就提供了一个安装流程非常直观的 Aroma 版本。

OpenGapps 的 Aroma 版本

下载 MMRT 后通过 adb sideload 指令或将其放入手机存储空间直接刷入即可进入 MMRT 的主界面。在 Aroma 的支撑下,MMRT 不仅允许我们直接查看当前已安装的 Magisk 模块,还同时支持查看模块描述、预览模块内容、禁用模块、禁用挂载、重启后移除和立即移除等等操作,不仅能有效避免错删、误删,相较上面提到的第一种手段也提供了更多卸载问题模块的操作路径,手段更加灵活。

MMRT 摄屏(Aroma 不支持截图)

MMRT 不仅拥有支持直接触摸的可交互界面,同时还支持中文和一些较老的第三方 Recovery,比如 CWM,所以它更像是一个运行在 Recovery 中的 Magisk Manager,功能十分强大。

MMRT 摄屏(Aroma 不支持截图)

但是因为 Aroma 的存在,MMRT 并非是可行性最佳的解决方案:一方面 Aroma 本身对手机配置的要求较高,所以 MMRT 在一些较老的机型上可能会出现无法启动或启动后无法正常工作的情况;另一方面 Aroma 也不可用于采用 A/B 分区的设备。此外 MMRT 在移除特定模块时可能会出现问题,因此建议大家在排除模块问题时直接选择模块禁用即可。

mm:轻量化终端命令工具

最后,你可以试试更加轻量、但同样不失直观的 Magisk Manager for Recovery Mode(以下简称 mm)。mm 拥有两个版本,主流版本 和 第三方版本,第三方版本为主流版本暂停更新期间由其它开发者开发,二者在刷入方法、功能和操作方式上类似,这里我们以当前已经恢复更新的主流版本为例。

mm 的安装方法与 MMRT 类似,下载压缩包后借助 adb sideload 指令或将其放入手机存储空间直接刷入即可,刷入完成后我们立马就能直接在 TWRP 的「高级->终端命令」中键入 mm 来执行相关指令了,接下来只需要根据终端中给出的提示操作即可。

mm 的终端交互

mm 尽可能简化了通过 TWRP 进行 Magisk 模块管理的流程,在列出当前已安装模块后,mm 允许我们直接输入特定关键字的方式来选择卸载对应的模块,比如我想卸载 App Systemizer (Terminal Emulator) 时,直接在终端输入 app sys 这样的关键字即可实现匹配,无需键入全称。

值得一提的是,大部分用于 TWRP 的终端命令行工具在重启后都会时效,但如果你使用过一次 mm,下次进入 TWRP 时可以直接在终端中执行 sh /sdcard/mm 或 */mm 来重新呼出 mm 管理工具。另外 mm 也提供了事前预防的版本,你可以在 Magisk Manager 的模块仓库中搜索并安装。这样下次遭遇「翻车」时,就能直接进入 TWRP 并使用 mm 卸载问题模块了。

别忘了装一个以备不时之需

不难看出,以上方法都有一个统一的前提条件:你的设备拥有一个可用的第三方 Recovery。而针对这一点尤其值得大家注意的是,由于 TWRP 的开发者无暇开发,兼容 Android 10 的官方版 TWRP 目前尚未放出。换句话说,如果你在 Android 10 上使用 Magisk 模块,请一定注意模块的兼容性、通读开发者的注意事项并留意是否有可用的第三方 TWRP 再行操作。否则一旦「翻车」,本文所提到的方法也是无力回天的。

关联阅读:

> 下载少数派 客户端、关注 少数派公众号 ,了解更多实用的玩机知识 🚀

> 特惠、好用的硬件产品,尽在 少数派 sspai 官方店铺 🛒