在以往的文章中少数派向大家介绍过 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 模块,还同时支持查看模块描述、预览模块内容、禁用模块、禁用挂载、重启后移除和立即移除等等操作,不仅能有效避免错删、误删,相较上面提到的第一种手段也提供了更多卸载问题模块的操作路径,手段更加灵活。