小米手机安装 Magisk 并获取 Root 权限

注意事项

  1. Root 有风险,使用需谨慎

  2. 操作不当有变砖风险,操作需谨慎

  3. 提前备份好数据,以免造成数据丢失

  4. MIUI 仍能正常解锁且无需答题但需要锁定72小时,Hyper OS 需要去小米社区答题并通过审核后方可解锁

  5. || 符号代表 “或” ,编程语言中常用符号

  6. 小米账号状态正常且经常使用不为新号,一个小米账号每年仅能解锁4部不同的手机,每月仅能解锁 1 部手机

资源清单

硬件:

  1. 装有 Windows 10 || Windows 11 操作系统的电脑

  2. 数据线

  3. 一部已解锁或可解锁 BootLocker 的手机

  4. 一张可正常使用的 SIM 卡

软件:

  1. ADB(Android SDK Platform Tools) 工具
  2. 小米官方解锁工具
  3. Magisk 安卓应用程序
  4. 对应系统刷机包
  5. Payload Dumper

下载地址

小米官方解锁工具

ADB 工具(Android SDK Platform Tools)

Magisk

刷机包下载地址 xiaomirom

刷机包下载地址 miuiver

Payload Dumper

1. 前置工作

开启 USB 调试, 可参考下方 扩展 1. 开启 USB 调试 内容

一部已解锁或可供解锁的手机,如未解锁可查看下方 扩展 2. 解锁手机 内容

下载 系统对应版本刷机包,卡刷/线刷包均可,推荐下载线刷包,可以节约大量时间。具体版本可在 设置 -> 我的设备(Hyper OS 在这一步可直接查看 OS 版本) -> 全部参数(与信息) -> MIUI 版本 || OS 版本中查看

下载并解压 ADB 工具

下载并解压小米官方解锁工具工具(可选)

在手机上安装 Magisk 应用

2. 查询必要信息

打开 Magisk 并在主页面查看 Ramdisk 状态,同时检查手机是否具有单独 vbmeta 分区,查询是否拥有 vbmeta 分区请可参考下方 扩展 3. 查询 vbmeta 分区 内容

如 Ramdisk 查询结果为是,则在刷机包中提取 boot.img 文件,反之则提取 recovery.img 文件

对于出厂系统版本为 Android 13 或更高的机型,需要提取 init_boot.img 文件,而不是 boot.img || recovery.img 文件; 对于出厂系统版本低于 Android 13 的机型(即便之后升级到了 Android 13),仍需要提取 boot.img || recovery.img 文件。

如使用的是线刷包,可直接解压刷机包并在 images 目录下提取 boot.img || recovery.img

如使用的的是卡刷包,新机型需要通过 payload.bin 文件来提取 boot.img || recovery.img,老机型可直接解压并在 images 目录下提取 boot.img || recovery.img

payloda.bin 提取方式 可参考下方 扩展 4. 提取 payload.bin 内容

3. 生成修补文件

为保持文章阅读理解性该章节将 boot.img || recovery.img || init_boot.img 称为 镜像

将获取到的镜像文件转移至手机上

手机打开 Magisk 软件,点击 Magisk 卡片中的安装,接下来的页面的选项可能因为机型的不同而不同

如之前 Ramdisk 查询结果为否,请选中安装到 Recovery 的选项

如之前查询手机没有单独 vbmeta 分区,请选中修补 boot 镜像中的 vbmeta 选项

如有其它选项,保持默认不要更改。 部分机型不会显示除 “选择并修补一个文件” 以外的选项,可以忽略以上设置。选择之前提取到的镜像文件,点击开始,并等待修补文件生产,最终输出结果会显示修补后的文件所在目录,通常在 Download 目录中,将修补后的文件转移至电脑中

4. 刷入修补文件

为保持文章阅读理解性该章节将 boot.img || recovery.img || init_boot.img 称为 镜像

将手机关机,长按音量下键 + 电源键进入 FASTBOOT 模式,使用用数据线连接到电脑

进入解压后的 ADB 工具目录,将修补后的文件转移至该目录,接下来打开终端,可在地址栏输入 powershell 打开终端,也可右击空白处选择在终端打开(仅限Windows 11),在打开的终端中输入以下命令,三选一 根据提取出来的文件名选择不同的命令

# 如修补前提取出的文件名为 boot.img 请使用该命令
fastboot flash boot 修补后的文件名(如magisk_patched-29000_eiCQH.img)

# 如修补前提取出的的文件名为 init_boot.img 请使用该命令
fastboot flash init_boot 修补后的文件名(如magisk_patched-29000_eiCQH.img)

# 如修补前提取出的的文件名为 recovery.img 请使用该命令
fastboot flash recovery 修补后的文件名(如magisk_patched-29000_eiCQH.img)

刷写完成后,使用以下命令重启手机:

fastboot reboot

补充说明:

  • 如刷入的是 recovery.img(即 Ramdisk 查询结果为“否”的机型),在刷完重启时需按住 Recovery 组合键 (音量上键 + 电源键)来启动系统,当出现启动界面后松开按键,这样进入后的系统才可使用 Magisk 应用

刷机完成后,打开 Magisk 软件,应该能看到 Root 授权管理功能,表示安装成功。

常见问题处理:

  1. 如刷机后出现反复重启的问题,可尝试先禁用启动验证(AVB/DM-Verity),再重新刷入修补文件,该方法仅限具有独立 vbmeta 分区的机型使用
   fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img

vbmeta.img 文件从原刷机包中提取,方式与之前提取镜像文件的方式一致。

  1. 如决定放弃 Magisk 安装,只需使用同样方法,将原始刷机包中的镜像文件刷回即可恢复原系统状态。

扩展 1. 开启 USB 调试

不同 MIUI/Hyper OS 版本开启开发者选项和 USB 调试的步骤略有不同,以下以常见版本为例:

  • 进入手机设置 -> 我的设备 -> 全部参数(与信息) -> 连续点击 MIUI 版本(Hyper OS 版本)多次,直到提示“您已处于开发者模式”。
  • 返回“设置”主界面,找到更多设置 -> 开发者选项,开启开发者选项开关,然后开启 USB 调试开关。

扩展 2. 手机解锁

此章节需要手机插入可正常使用的 SIM 卡,且已登录小米账号

MIUI 仍能正常解锁且无需答题但需要锁定 72 小时,Hyper OS 要去小米社区答题并通过审核后方可解锁。

需启用开发者模式参考上方 扩展 1. 开启 USB 调试内容,在开发者选项页面中找到设备解锁状态选项,进入该页面,在关闭 WLAN 和打开流量后点击绑定账号和设备。到这一步可以等待 7 天后再尝试下面的步骤,首次绑定账号通常来说需要等待 72 小时

完成绑定后,手机关机并使用数据线连接电脑,接着同时按住 Fastboot 组合键(音量下 + 电源键)进入 FastBoot 模式。电脑打开小米官方解锁工具,登录在手机上绑定的账号(必须一致),点击开始解锁,确认几下,便进入解锁流程,如绑定的时间太短需等待 7 天

扩展 3. 查询 vbmeta 分区

有三种方法

  1. 在解压后的线刷包文件 imgaes 目录下查找 vbmeta.img 文件如有则代表拥有 vbmeta 分区,如没有则代表没有 vbmeta 分区

  2. 参考下方 卡刷包 提取 4. payload.bin 尾部内容

  3. 手机开启 USB 调试并连接电脑,进入解压后的 ADB 工具目录后来打开终端,可在地址栏输入 powershell 打开终端,也可右击空白处选择在终端打开(仅限Windows 11),在打开的终端中输入以下命令

adb shell "ls /dev/block/by-name | grep vbmeta"

如返回结果中包含vbmeta,包括 vbmeta_b 或 vbmeta 就代表手机拥有 vbnmeta 分区

扩展 4. 提取 payload.bin 文件

将下载后的文件解压并将解压后获取的 exe 文件与 payload.bin 置于同一目录下,接下来打开终端,可在地址栏输入 powershell 打开终端,也可右击空白处选择在终端打开(仅限Windows 11),在打开的终端中输入以下命令并等待文件提取

payload-dumper-go.exe payload.bin

提取完成后会在目录下生成 以 extracted 开头的目录,进入目录并寻找所需要的 img 文件,具体文件名请参上方 前置工作 内容

提示:如在目录中发现了 vbmeta.img 文件则代表 手机具有单独 vbmeta 分区

路漫漫其修远兮,吾将上下而求索。
使用 Hugo 构建
主题 StackJimmy 设计