小米手机安装 Magisk 获取 Root 权限指南
现在获取手机 Root 主要通过安装 Magisk 实现,这篇文章将以新手视角介绍如何安装使用 Magisk。
为尽可能介绍明白,文中所提步骤均配上了截图说明(点击文字链接可以查看操作图解)。
准备工作
- 安装 Magisk 过程中需要用到
fastboot
命令,请确保电脑已下载相关工具和配置好命令环境变量 - 安装 Magisk 过程中需要刷写手机
boot
或Recovery
分区,请确保手机已完成 BL 解锁,不然无法进行 - 安装 Magisk 正常情况下不会丢数据,但稳妥起见,尤其是新手,建议先外置备份手机数据再操作
最后,虽然文中方法已用实机多次验证,但每人环境可能不同,无法承诺获得一致结果,文章仅供参考!
下载 Magisk
Magisk 下载地址 https://github.com/topjohnwu/Magisk/releases(选择下载最新版,然后安装到手机)。
如果下载遇到打不开情况,请多刷新几次,或者切换不同网络测试。
查询手机环境
在继续后面操作前,请先查询以下两点,记下查询结果。
- 手机打开安装的 Magisk,在主界面查看 Ramdisk 结果
- 查询手机是否具有单独
vbmeta
分区,查询方法请参考这篇文章
提取相应文件
查看手机上运行的系统版本是多少,下载对应系统版本刷机包,从里面提取相应文件(请见下面说明)。
- 如果之前 Ramdisk 查询结果为“是”,请提取
boot.img
文件 - 如果之前 Ramdisk 查询结果为“否”,请提取
recovery.img
文件
补充:对于出厂系统就是 Android 13 的新机型,有网友反馈需要提取
init_boot.img
文件修补而不是boot.img
。
文件提取方法:
- 如果系统版本有线刷包,可以直接解压提取
- 如果系统版本只有卡刷包,需要从解压的 payload.bin 文件里提取(老机型卡刷包可以直接提取)
将提取到的文件复制到手机上。
生成修补文件
手机打开 Magisk 软件,点击 Magisk 卡片中的“安装”按钮。接下来的界面不同机型显示的选项可能不同。
- 如果之前 Ramdisk 查询结果为“否”,请选中“安装到 Recovery”选项
- 如果之前查询手机没有单独
vbmeta
分区,请选中“修补 boot 镜像中的 vbmeta”选项
如果显示有其它选项,一般保持默认不要更改。稍微新一些的机型通常不会显示相关选项,所以请忽略。
接下来点击“选择并修补一个文件”,选择之前提取到的 boot.img
,init_boot.img
或 recovery.img
文件,点击“开始”,然后等待生成修补文件。
补充:据 Magisk 文档指出,小米有个别机型 Ramdisk 结果可能不能准确检测。如果修补 recovery.img
文件失败,可以尝试用 boot.img
修补,后面安装也遵循 Ramdisk 结果为“是”的做法。
将生成的修补文件复制到电脑上(修补文件默认保存在手机内部存储 Download 目录)。
刷写修补文件
将手机关机,长按音量下键 + 电源键
进入 FASTBOOT 模式,用数据线连接到电脑。
电脑打开存放修补文件的文件夹,按住键盘 Shift 键
,同时鼠标右键点击文件夹空白处,在右键菜单点击“在此处打开 Powershell 窗口”,然后运行下面刷写命令(命令中的文件名请先自行修改)。
# 如果之前修补 boot.img 文件请用这个命令 fastboot flash boot magisk_patched-25200_pU6ZV.img # 如果之前修补 init_boot.img 文件请用这个命令 fastboot flash init_boot magisk_patched-25200_pU6ZV.img # 如果之前修补 recovery.img 文件请用这个命令 fastboot flash recovery magisk_patched-25200_pU6ZV.img
刷写完成后用下面命令重启手机(补充:如果刷写的是 recovery.img
修补文件,也就是 Ramdisk 结果为“否”的机型。在刷写完重启时需要按住 Recovery 组合键,小米的是音量上键 + 电源键
,待出现启动界面后松开按键,这样进入的系统才能使用 Magisk)。
fastboot reboot
如无意外,重启手机后就安装好 Magisk 了。打开 Magisk 软件可以看到已经有 Root 授权管理选项,现在可以开始使用了。
提示:如果刷完后遇到反复重启进不去系统问题,可以尝试先用下面命令禁用启动验证(AVB/DM-Verity),然后重复上一步骤重新刷写修补文件(这个方法仅限具有单独 vbmeta
分区的机型使用)。
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
命令中用到的 vbmeta.img
文件从刷机包内提取,方法和之前提取其它文件一样。
或者,如果遇到问题打算放弃 Magisk 安装,只需用之前方法刷回从刷机包提取的原始文件。
使用问题补充
Magisk 如何对软件隐藏 Root
目前比较好的方法是安装 Shamiko 模块实现,具体请查看这篇文章。
安装 Magisk 后系统更新注意事项
安装 Magisk 后如果按往常一样更新系统,会出现 OTA 增量更新失败,需要下载完整包的问题,并且更新后会丢失 Magisk 安装。
采取下面更新步骤可以避免上述问题(仅适合 A/B 分区机型使用。其它机型忽略第 3 步骤,更新后重新安装 Magisk)。
- 平时关闭系统自动更新,以防后台自动下载安装更新
- 当要更新系统时,先打开 Magisk 软件,点击“卸载 Magisk”,选择“还原原厂映像”
- 运行系统更新,安装后先不要点重启,打开 Magisk 软件点击“安装”,选择“安装到未使用的槽位”,之后再重启
更新 Magisk 方法
Magisk 更新分 Magisk 软件 和 Magisk 安装,两者都可以在 Magisk 软件内操作更新(先更新 Magisk 软件,再更新 Magisk 安装)。
由于网络环境和应用权限问题,在 Magisk 里的点击更新软件可能会遇到不能下载或安装的问题。可以直接访问 GitHub 下载 APK 文件覆盖安装,然后再更新 Magisk 安装,选择“直接安装”模式即可。
卸载 Magisk 方法
打开 Magisk 软件,停用已安装模块(如果有的话),点击“卸载 Magisk”按钮,选择“完全卸载”,卸载后会自动重启生效。
提示:如果之前安装 Magisk 时取消了“保持强制加密”选项(修补文件那步,通常只在旧机型和旧版本上有显示该选项,且默认不会取消),则卸载 Magisk 后系统可能会自动加密用户数据,操作前记得外置备份数据。
好复杂啊
redmi note 13 5g。虽然刚到手还得等7天才能解BL,只是把准备工作做齐了,但是为什么我没有init_boot和recovery只有boot啊?这正不正常?MIUI 14.0.5,13的。另外想问问有没有啥办法不等7天?或者等7天的话我的sim卡要不要一直插着?或者关机后把卡拔出来7天后再插卡开机行不行?
跨安卓版本进行OTA更新时也可以使用”安装到未使用的槽位吗“
真棒
我按照这个教程安装magisk之后,成功获取到了root权限。但是在magisk设置里面开启zygisk重启之后又没有root权限了。这种情况下怎么办, 版本 9.7.4开发版
我也遇到过,你是不是修补 recovery操作的,换修补boot试试
root 之后 wifi 打不开了
没有遇过这个问题,是否有安装什么面具模块?
你是不是刷了开发版后,在机器上升级了系统之后再root的?
我从MIUI13开发版升级到14正式版后准备使用Magisk修补boot获取root,重启后Magisk显示无法获取(已排除网络问题),超级用户和模块也是灰色无法点击的状态,但是root权限其实已经获取,把Magisk APP卸载重装后版本号方可正常显示
大佬请问我卡在最后一步,也就是”打开 Powershell 窗口,输入fastboot flash boot magisk_patched-26100_HXz9r.img“后没有反应,是怎么回事,
机型MIX 2S,输入”fastboot reboot“可以重启“
安装 Magisk 过程中需要用到 fastboot 命令,请确保电脑已下载相关工具和配置好命令环境变量,这个确认成功安装并检验过了,文件路径名也改正确的
可能连接不良,换个数据线或USB端口试试?
手机插电脑,选择mtp模式,识别不出来,设备管理器里显示为 Android Composite ADB Interface
在电脑的设备管理器里更新了小米USB驱动,也没用
是啥问题啊
不错
请问哪里的官改MIUI比较稳定啊
其实 我也想知道
感谢分享
MIUI12 刷完之后一直无限重启卡REDMI进不去,有啥解决办法吗
看到解决办法了
还是不行 提示unknown option — disable-verity
这个报错可能是fastboot版本过低,可以下载最新版试试。
一直是 fastboot 模式 楼主说的方法也试过了不太行 vbmeta.img 要在那里找呀 只有boot.img
请查看文中附带的提取说明链接。另外现在绝大部分场景不需要刷写这个分区。
fastboot: error: ANDROID_PRODUCT_OUT not set 报这个错
这可能是环境变量设置问题,请检查是否按文中说明设置fastboot环境变量。
试过了,不行呀
具体是什么问题呢?
学习到了,回头自己试试
root以后还是不能用管理器删除系统文件
教程应该更新一下,对于小米13等出厂安卓系统为安卓13的手机,应该提取init_boot.img,刷入init_boot.img的命令也要变成`flashboot flash init_boot 修补后的init_boot文件`,刚才用刷boot.img的命令刷init_boot.img导致变砖了,查了其他教程才发现刷入命令错了。
好的,感谢反馈!
线刷怎么刷 在线吗
如果是用第三方recovery安装面具,还需要修补boot吗,还是可以直接用?
不用了,应该可以直接使用。
感谢,非常感谢
请检查fastboot系统环境变量(参考文中准备工作部分)。如果没有配置,在命令窗口中会找不到命令。
谁会弄联系我可以吗?15133395555
学习了
K60pro V14.0.23.0.TMKCNXM flash img的时候,报错FAILED (Write to device failed in SendBuffer() (Unknown error)),但是vbmeta 是可以的
当要更新系统时,先打开 Magisk 软件,点击“卸载 Magisk”,选择“还原原厂映像”…..》显示“原厂boot映像的备份不存在”,这个怎么搞???
可尝试提取原始boot放到
/data/magisk_backup_xxxx
(xxxx这似乎是boot sha1指纹,该方法不确定是否可行,未经测试)这个文件夹下已经存在一个 boot.img.gz,这个不是吗?
试过了,不行呀
是Magisk版本的问题,26就会出现,25.2就没问题
哦,降级magisk版本就好了?
budonga
你好,更新 Magisk 安装,选择“直接安装”模式刷入失败,怎么回事?app可以正常更新
没有遇过这个问题哦,可以 Magisk Issues 搜索下有没有解决方法。
Warning: skip copying boot image avb footer (boot partition size: 0, boot image size: 50926888).
Sending ‘boot’ (49733 KB) FAILED (Write to device failed (Unknown error))
fastboot: error: Command failed
而且 小米MIX2S开发版V9.8.1线刷包下面没找到 vbmeta.img,所以我认为它没有这个分区,但是方法二却返回了vbmeta,所以我很困惑
抱歉,没有这个机器测试不了,或许可以酷安上找找看有没有关于这个机器的刷面具经验。
手机型号是redmi note 10 pro,已经安装magisk,进行系统更新,但是我搞错了步骤,先是安装了更新,然后卸载magisk,还原原厂映像。重启后在logo页面显示“ dm-verity corruption”,然后按住开机键开机后,系统没有更新。
现在我按照教程的步骤重新操作后,还是显示“ dm-verity corruption”,请问这个问题如何解决?
这个问题网上搜索有人说用
fastboot oem cdms
命令可以解决(未经测试,仅供参考)解决了,太感谢了,就是这个命令。
https://github.com/bkerler/mtkclient/issues/261
这个issue里也提到了解决”dm-verity error”的问题,也是同样的方法
你的问题我找到解决办法了,我也是纯小白,这些文件都不能放在桌面上,例如全部随便拿到C盘下就可以按教程正常操作了
小米13 eu-14.0.15版本用这个方式好像没有效果,majisk的boot.img刷入后,没生效
刷写修补文件,fastboot flash boot这个命令一般需要等多久?感觉等了快一小时了也没啥反馈,不知道怎样算刷写完成
正常几秒钟就完成了,会不会连接断开了?
你好,我的设备是红米note 8在按照以上步骤完成重启的时候,点击Recovery 组合键会导致进入Recovery 主菜单然后重启手机,不点击直接进入又无法获取root权限,请问怎样解决?
据其他网友反馈,这个机型要用修补
boot.img
方式,并且如果使用旧版本面具,需要运行文中禁用启动验证命令。按文中的方法ROOT以后还是不能读写system分区咋办呀???不完美ROOT么??
如果新机采用erofs系统分区,这种无法写入,只能通过面具模块修改,具体可以网上找下。
不知道为什么,老是这样子,修补的镜像名字也改了跟多次了。fastboot : 无法将“fastboot”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保
路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ fastboot flash boot magisk.img
+ ~~~~~~~~
+ CategoryInfo : ObjectNotFound: (fastboot:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
请检查fastboot系统环境变量(参考文中准备工作部分)。如果没有配置,在命令窗口中会找不到命令。
谢谢领导。root完能读写SYStem么?
你的问题我找到解决办法了,我也是纯小白,这些文件都不能放在桌面上,例如全部随便拿到C盘下就可以按教程正常操作了