把手里的小米手机root掉,这件事我从MIUI时代一路做到现在。别人问得最多的一句话是:现在手机性能早就溢出了,root还能带来什么?我的答案很固定:真正的完整备份、系统级的去广告、以及让我自己决定手机里跑什么代码。这篇小米手机root教程,就是按我自己踩过的坑整理出来的完整流程,适合动手能力还行、愿意先看文档再操作的人。如果你只是想装个应用、换个主题,其实没必要root,老老实实用稳定版就好;但如果你想把系统里预置的东西拔干净、或者想用上Magisk模块里的那些系统级功能,那这篇东西你能用得上。
我会从解锁Bootloader讲起,然后说清楚怎么提取boot镜像、怎么用Magisk修补、怎么刷回去,最后把刷完后最常见的翻车情况列一张排查表。全程以小米手机实际操作为基础,穿插我在不同机型上试出来的注意事项,尽量让新手也能照着做,同时老手也能在细节里找到点有用信息。
1. 写前必读:root到底能做什么,不能做什么
1.1 为什么现在还有人折腾root
先泼一盆冷水:安卓应用生态越来越规范,很多早期只有root才能实现的功能,现在普通用户根本用不到。比如通话录音,小米系统自带;比如应用双开,MIUI甚至做得比第三方工具还顺手;比如广告过滤,很多浏览器和应用内设置已经能干掉大部分。
那root还有什么不可替代的价值?我自己用得最多的是这三块:
- 全量备份与恢复:不用依赖云端的“备份”黑箱,用Swift Backup或钛备份把应用数据和微信聊天记录直接导到本地,换机、刷机、回滚都安心。
- 真正的去广告:系统广告开关是一回事,很多内置组件的广告逻辑是跟着代码走的。配合李跳跳、APKPure里的去广告模块、或者直接用Magisk模块屏蔽广告接口,体验是全局性的,不止浏览器的“简版”页面。
- 系统级的权限控制:AppOps、阻止应用假装关闭后偷偷定位、限制链式启动,这些在非root环境里很难做到干净利落。root之后,Xposed框架或LSPosed的模块可以精确到单个权限,而不是被系统“通知一下”就完事。
此外还有一类场景:老机型升级到高版本安卓后,官方给的功能不够用,或者新系统对老硬件不友好。root后刷入第三方内核、调整调度参数,能让一台旧小米重新变成流畅的备用机。这部分人群虽然少,但确实存在,而且粘性极高。
1.2 root的三重风险清单
算是老生常谈,但我每次写教程都要强调一遍,因为很多人是真不注意。
| 风险 | 说明 | 缓解方法 |
|---|---|---|
| 失去保修 | 解锁Bootloader后官方保修政策通常会变化,主板等硬件出问题可能被拒保 | 需要送修前尽量恢复官方固件并重新上锁;但上锁会导致数据清空 |
| 系统更新失效 | 部分机型在解锁后,OTA增量包无法正常安装,或者安装后Magisk丢失 | 记住“解锁后收不到大版本推送”是常态,不用惊慌 |
| 安全风险 | 管理不当会让恶意App获得最高权限;Magisk被检测后某些金融类App直接拒用 | 只从可信来源装模块;合理配置排除列表;不要乱刷来路不明的内核 |
还有一类风险是操作性的:fastboot刷错分区、断电刷机、解压固件包时文件损坏,都可能让手机变砖。虽然有救砖方案,但对新人来说,一台只能用9008模式等待救援的手机,本身就是一件很挫败的事。我一般在动手前都会反复说:先备份、再看两次教程、最后再插线。
1.3 哪类小米机型适合root,哪类建议慎重
从硬件角度说,骁龙机型的第三方资源最丰富,无论是Magisk模块还是第三方内核,兼容性普遍好于联发科和澎湃芯片的机型。骁龙865、870、888、8 Gen 1/2/3这几代,社区支持都很完整。联发科天玑系列也不是不能root,但有些模块和内核会挑平台,遇到问题后能参考的现成案例比较少。
从系统角度说,MIUI和HyperOS的海外版、国行版在解锁策略上不同,国行版本的解锁通常需要先通过官方申请,周期不固定;海外版往往好一些。动手之前,一定要先确认自己机器的当前版本和对应固件包是哪个区域,别用错固件。
如果你手里是一台主力机,里面还存了重要工作资料,那我给的建议是:先想清楚要不要为了那三五个功能冒这个风险。如果只是手痒,不如找一台旧小米或备用机先练手。等熟悉了整套流程,再从主力机下手,心理压力会小很多。
2. 动手前的物料清单:账号、工具和备份
2.1 解锁Bootloader是绕不开的第一步
小米手机root和很多老安卓手机不一样,它不能靠一键工具直接获得root权限。核心原因就在Bootloader锁上。Bootloader可以理解成手机启动时的第一道门卫:它决定系统只允许加载签名合法的内核和系统镜像。小米默认把门锁着,你需要先向官方申请解锁资格,然后用官方工具把锁打开。
解锁后会有什么变化?最直接的就是fastboot模式里的fastboot flash boot这类命令不再是“只读”状态,刷入镜像的通道被打开。这背后牵扯到AVB(Android Verified Boot)验证链:Bootloader解锁后,它会标记设备处于“解锁态”,系统在内核里也会读到对应的状态位。所以Magisk能修补boot镜像、绕过完整性校验,前提都是Bootloader已经解锁。
申请解锁这件事本身不复杂,但有几个卡点要注意:
- 小米官方的解锁工具叫“Mi Unlock”,Windows版本,需要登录申请解锁时使用的小米账号。
- 每一步都必须在开发者选项里开启“OEM解锁”和“USB调试”,并且账号和设备要在同一个网络环境里连续登录一段时间。
- 解锁时会清空手机数据,这是硬性约束,没有绕过的办法。
如果你之前已经解锁过,或者买的是第三方已经解锁的机器,那这一步可以直接跳过。但绝大多数人需要从头来。
2.2 工具清单与驱动安装
我每次都会把工具列成一个清单,避免临到操作时东找西找。
| 工具/资源 | 用途 |
|---|---|
| 小米官方解锁工具MiUnlock | 申请并执行解锁Bootloader |
| 小米手机驱动或通用ADB驱动 | 让电脑识别手机的fastboot和ADB模式 |
| 对应机型的完整线刷包(官方固件) | 提取boot.img,或救砖时用 |
| Magisk APK | 安装到手机后,完成boot镜像的修补 |
| ADB/Fastboot命令行工具 | 刷入镜像、重启、验证分区状态 |
| 数据线 | 质量好、能传数据,尽量别用只充电的线 |
这里面最容易出问题的是驱动。Windows下手机插上去显示“未知设备”,多半是驱动没装好。解决办法不复杂:安装官方驱动包,或者用设备管理器手动更新驱动,指向你解压出来的驱动目录。装好后,手机进入fastboot模式再插线,设备管理器里应该能看到“Android Bootloader Interface”之类的设备名。
我还会顺手把ADB和Fastboot放进系统PATH里,不然每次都要cd到工具目录,很烦。Windows下就是把平台工具目录加到环境变量;macOS或Linux直接通过包管理器装android-platform-tools也行。
2.3 数据备份的完整姿势
解锁Bootloader会清空数据,之后的Magisk修补刷机虽然不动数据,但万一刷错、变砖、救砖,数据照样保不住。所以备份这件事要前置,而且是双保险备份。
我的常规操作:
- 用手机自带的备份功能,把系统设置、桌面布局、Wi-Fi密码这类轻量数据导出到电脑或云盘。
- 用小米云或者第三方工具,把相册、联系人完整同步一份。
- 微信聊天记录单独用微信自带迁移或电脑版备份工具导一次,这个过程很费时间,但值得做。
- 如果已经root过的机器,再用Swift Backup备份应用数据;没root的话,至少拿“小米换机”这类工具在另一台手机上保留一份。
备份完可以把重要文件复制到电脑上再校验一遍文件大小,别等开机后才发现备份文件只有几十KB,那时候真的叫天天不应。
2.4 解锁申请与实操步骤
这段我按最新的官方流程逻辑写,具体周期以官方工具显示为准。
- 手机端:
- 进入“设置 → 我的设备 → 全部参数与信息”,连续点击“MIUI版本/HyperOS版本”7次,打开开发者选项。
- 在“设置 → 更多设置 → 开发者选项”里,打开“USB调试”和“OEM解锁”。
- 登录你的小米账号。最好用平时正常使用的账号,别临时注册一个。
- 电脑端:
- 下载Mi Unlock工具,解压后登录同一个小米账号。
- 点击“解锁”,如果账号满足条件,会提示等待多少秒或多少天。这个等待期因账号和设备而不同。
- 期间可以反复检查解锁资格,但没必要频繁试,稳一点。
- 执行解锁:
- 手机完全关机,长按“音量减”和“电源键”进入fastboot模式。
- 用数据线连接电脑。
- Mi Unlock工具检测到设备后,点“解锁”,等待进度条走完。过程中不要拔线。
- 解锁成功后会提示重启,手机自动恢复出厂设置。
注意事项:解锁工具提示“当前账号未在设备上通过验证”这类错误,多半是账号还没绑定设备,或者绑定时间不够。再等等,隔天再试。不要相信什么“付费代解锁”,账号和硬件绑定问题不是这么简单就能绕过的。
3. 核心操作:Magisk修补boot镜像全流程
3.1 为什么选Magisk而不是SuperSU
老一批安卓玩家可能都经历过SuperSU时代,但现在再新折腾小米手机,我只会推荐Magisk。原因很直接:
- 无痕式root:Magisk通过systemless方式修改boot镜像,原系统分区不动,刷机后如果你想恢复,直接刷回官方boot就能变干净。
- 模块机制:Magisk模块可以在不修改system分区的情况下替换文件、追加脚本,卸载模块也不影响系统本身。
- Zygisk:内置的Zygisk可以在应用启动流程里注入功能,这是一堆“隐藏root类模块”和“增强模块”的基座。
- 社区活跃:遇到问题,国内外论坛都有大量现成案例,检索成本低。
SuperSU也已经好多年不更新了,面对新版安卓的AVB校验和安全机制,兼容性很差。Magisk到现在还在迭代,版本节奏跟得上系统变化,光是这一点就足够作为选型理由。
3.2 提取boot.img的三种可靠方法
Magisk的安装原理是修补boot镜像,也就是给原来的boot分区里的内核和ramdisk做一层包装。所以你得先有一份和你当前系统完全匹配的boot.img。
方法一:从官方线刷包提取
- 去小米社区、官方固件站或可信固件镜像站,下载和你当前版本完全一致的线刷包(tgz格式或zip格式)。
- 解压后找到
images目录,里面会有一个boot.img。部分机型还可能叫init_boot.img,注意区分:Android 13以后部分设备采用init_boot机制,Magisk修补的可能不是boot.img而是init_boot.img,具体看Magisk补丁提示和机型文档。 - 把
boot.img单独拷出来备用。
这个方法最稳,因为镜像完全来自官方,不会出现版本不匹配。缺点是要下载整个固件包,体积可能有好几个GB。我一般只把需要的镜像解压出来,其余不动。
方法二:从当前设备备份boot分区
如果你启用了ADB调试,并且机器可以跑fastboot命令,可以这样:
adb reboot bootloader fastboot getvar current-slot假设当前插槽为a,则备份当前插槽的boot分区:
fastboot boot boot.img等等,这里有点绕。常规思路其实是:在root前要把boot分区导出来,通常用的是临时进入第三方恢复环境,或者先用adb配合dd。但没root时dd跑不了,所以常见办法还是从固件包提取。另一个思路是用fastboot直接刷入原版引导,再看是否开机,所以提取过程优先推荐固件包法。
方法三:使用第三方Recovery备份
如果你的机器能解锁后刷入TWRP,可以在TWRP里直接备份boot分区生成一个boot.emmc.win文件。之后用工具提取或直接让Magisk识别这个备份文件。这条路径适合本来就要刷TWRP的人,不适合只想简单root的新手。
我个人的建议是:新手别花时间研究其他方法,直接从固件包提取boot.img最省心。版本一定要完全对应,这是反复强调的重点。
3.3 Magisk修补与回传
手机安装Magisk APK之后,打开Magisk,点击“安装”,选择“选择并修补一个文件”,从文件管理器里选取刚才的boot.img。等待进度条走完,Magisk会在当前目录生成一个magisk_patched-xxxxx.img的文件。
重新把手机连上电脑,用下面的命令把这个修补后的镜像拉回本地:
adb pull /sdcard/Download/magisk_patched-xxxxx.img这个过程里有一个细节:一定要记住生成的镜像文件名里的这段随机字符,或者直接重命名成magisk_patched.img。否则一会命令行里还要手输那一长串,容易输错。
如果机型是A/B分区架构,Magisk修补时还会自动处理“当前槽位”的问题。刷入时用:
adb reboot bootloader fastboot flash boot magisk_patched.img部分设备还要刷入init_boot分区,命令会变成:
fastboot flash init_boot magisk_patched.img怎么判断到底刷哪个?启动进入fastboot后,先执行fastboot getvar current-slot,然后分别看固件包里有几个待刷镜像。当前小米很多新机在Android 14后同时存在boot和init_boot,Magisk官方文档也会标明该版本支持的启动方式。以Magisk应用里给出的“直接安装(推荐)”提示为准,或者搜一下同机型的成功案例。
3.4 刷入与第一次开机检查
刷入完成后,不要急着拔线。先在fastboot界面确认输出:
fastboot getvar all这里能看到一堆分区状态和slot信息,确认当前插槽是a还是b,记下来。然后输入:
fastboot reboot手机第一次重启可能会比平时慢,因为Magisk要在首次开机时完成对ramdisk的最终配置。系统进入桌面后,打开Magisk应用,主界面会显示Magisk版本号,同时状态栏出现“已安装”的提示。打开终端里任何需要root的应用,Magisk会弹授权请求,说明root已经生效。
验证的下一步是安装Root Checker类的工具,点检测,出现“Root access is properly installed”才是真正的成功。不要只凭Magisk界面显示就下结论,不少新手刷完发现Magisk界面上有版本号,但应用真正要root时根本没权限,那就是授权服务没起来。
4. root后的第一件事:权限管理与隐藏root
4.1 授权模型:从Superuser到按需授权
传统root工具会直接放开所有请求,到处弹窗也很烦。Magisk默认的授权逻辑是:应用请求root时,会弹出Magisk管理器的授权确认框,允许后才有权限。这个确认框里我一般直接点“拒绝”或“允许一次”,不给全局“永久允许”太多。尤其是那些你不认识的新应用,第一反应应该是拒绝,需要时再开。
在Magisk设置里还可以开启“自动响应”:允许、拒绝或询问。我建议设成“询问”,这样每个应用请求时你都能看到。别小看这一步,很多翻车事故都是从“某个知名应用已经获取了root权限”开始的。授权模型越保守,后面出问题的概率越低。
4.2 隐藏root的检测逻辑与排除列表
root之后,最现实的麻烦是金融App、部分游戏、甚至某些支付App会检测root状态并拒绝运行。Magisk的方案是内置Zygisk,开启后可以给特定应用隐藏root痕迹。
操作流程:
- 在Magisk设置里打开“Zygisk”开关,重启手机。
- 打开“配置排除列表”或“DenyList”,把需要隐藏root的应用加进去。
- 如果某个应用还是能检测出root,再用Shamiko模块(需要模块管理器中单独安装)增强隐藏效果。
我要提醒一句:不同App的检测手段不同,有的查的多,有的查的少。隐藏root这件事本质上是一个“猫鼠游戏”,厂商更新检测策略后,你可能需要同步更新Magisk和模块。如果你的机器里有必须使用且检测极严的应用,最简单的方案是不要在这些设备上root,另找备用机折腾。
4.3 常用Magisk模块推荐与排除雷区
模块体系是Magisk最大的吸引力,但也是最容易翻车的部分。我整理几个在小米机器上相对稳的模块方向:
| 模块类型 | 作用 | 注意事项 |
|---|---|---|
| 系统去广告模块 | 屏蔽常见广告接口 | 需要定期更新规则文件 |
| 指纹支付修复模块 | 让部分金融应用支持本机指纹 | 认准机型对应版本 |
| 音效模块 | 增强外放和耳机音质 | 不要同时开多个音效模块 |
| 保充电温度模块 | 限制充电速度和温度 | 对自己设备温度没概念的慎用 |
雷区也提一下:不要盲目从论坛下载模糊描述为“综合优化”的模块,这类模块往往内部塞了一堆脚本,安装后CPU占用异常、Wi-Fi异常,最后只能逐个模块排查。装模块前先看Comment和更新记录;装完一个就重启,确认没问题再装第二个。
4.4 系统更新与root维护
解锁并root之后,系统大版本更新基本不再走无线推送。原因不复杂:OTA增量包需要对当前系统做完整性校验,Magisk改动过boot分区,校验必然失败。但这不代表永远停在老版本,你可以:
- 等待官方线刷包发布。
- 下载完整线刷包,禁用自动重启,先手动刷入官方boot并重启。
- 开机后走系统内升级,完成后重新提取新版本boot,再次用Magisk修补并刷入。
整个过程比第一次要熟练得多,但有一个极其重要的坑:升级前一定要把Magisk模块全部禁用或记住清单。某些模块在跨大版本时会对新系统文件做替换,轻则重启后权限异常,重则卡动画。
5. 翻车实录:高频问题与排查手册
5.1 无限重启与卡MIUI/HyperOS动画
这是刷root后最吓人的状况。常见原因有三个:补丁版本与固件不匹配、模块冲突、以及刷入分区时选错了目标分区。
排查思路按优先级来:
- 先强制关机,进入fastboot,重新刷官方对应版本的
boot.img,如果机器能正常开机,说明是Magisk补丁本身的问题。重新下载固件、重新提取、重新补丁,再刷一次。 - 如果能开机但卡在第二屏或无限重启,大概率是Magisk模块冲突。进入系统前先尝试Magisk的“安装到第二槽位”?抱歉,更简单的方法:在TWRP里删除
/data/adb/modules下的可疑模块目录,或者直接重刷Magisk并在开发者模式下禁用模块。 - 如果还是卡死,考虑双清。解锁状态下数据清空不丢系统,关键是你重要数据已经备份过了。
这里还要说一个细节:Magisk修补后的boot.img不能和官方原版混用,不同MIUI版本的内核参数可能不兼容,刷入错误版本后,手机可以开机但与传感器驱动相关的服务会大量报错。你可以先刷回官方boot,正常开机后再重新修补,别赌运气。
5.2 Magisk显示未安装
Magisk应用已经装好,但打开显示“Magisk未安装”,这是很典型的补丁没生效现象。可能原因:
- 刷的是官方boot,不是补丁后的boot。
- 设备是A/B分区,补丁只修了当前槽位的boot,重启后系统却走另一个槽位启动。
- Magisk版本太老,对新安卓版本的ramdisk格式支持不全。
排查时先确认自己实际启动的槽位和刷入的槽位是否一致:
adb reboot bootloader fastboot getvar current-slot再用fastboot flash boot补一次当前槽位。如果机器支持fastboot --set-active=a,也可以用参数切换槽位测试。最后再看Magisk版本,升级到新版本后重新补丁一次,解决率很高。
5.3 银行App闪退与指纹失效
这类问题和root状态完全相关。很多金融App的技术方案直接调用SafetyNet或Play Integrity API,root之后校验不通过,App会主动退出到桌面,不会给你任何解释。
我的处理步骤:
- 开启Zygisk和DenyList,把闪退App加进排除列表。
- 重启后尝试。如果还闪退,把“遵守排除列表”相关的选项都开着。
- 使用Magisk模块“Shamiko”的话,确认它在DenyList模式下正常启用。
- 部分App还会检查“开发者选项是否打开”,顺手关掉USB调试和开发者选项试试。
指纹失效多数情况是系统安全策略在root后主动降级。到“设置 → 生物识别与密码”中重新录入指纹一般能解决;解决不了时,检查是否刷了非对应机型的指纹模块或内核。
5.4 变砖与救砖思路
fastboot被刷崩或者全系统无法启动,两种常见状态:
- fastboot还能进:这是最好救的。下载完整线刷包,解压后使用官方的刷机工具(如Mi Flash)在“clean all”模式下刷回官方版,一切恢复。
- 连fastboot都进不了,只有9008深度刷机口:需要用短接或者解锁工具进入EDL模式,再通过官方刷机包和底层工具恢复。这个操作门槛高、风险大,新手建议直接找售后或维修点,别自己反复试。
每次变砖后我都要强调一件事:线刷包版本要选对,别拿别的机型固件硬刷。小米不同机型的分区表差异很大,刷错机型直接可能把设备弄成真正的砖,不是简单重刷就能恢复的。
5.5 解锁申请失败的边界处理
解锁申请失败或始终等不到资格,这不是你手机坏了,是官方审核机制收紧。我见过几种做法:
- 换一个账号重新绑定设备,但要注意新账号可能需要更长的等待期。
- 刷新系统版本到最新稳定版,再尝试绑定。
- 放弃Bootloader解锁,改用“临时root”思路。某些机器支持通过内核漏洞临时获得root,或者使用企业级设备管理权限实现部分替代。这部分技巧依赖具体机型和系统版本,不能一概而论。
我不会推荐去碰非官方的付费解锁服务,这不仅牵扯到账号安全,而且解锁本质上需要硬件级配合,来路不明的操作很容易在后续系统升级时给自己埋雷。
6. 写在最后:一点私房感受
6.1 哪些人其实不该root
如果你是那种“手机不坏就不折腾”的人,root带不来多少实际收益,反而会平白多出一堆需要维护的东西。每次系统升级,你都得从头确认模块兼容性;每次应用闪退,你都要怀疑是不是root问题;每次评测软件检测,你都要多解释一句“我刷过机”。这些隐性成本是很多教程没写、但真实存在的。
更现实的问题是没有那么多精力。工作一忙,手机突然不稳定,你第一时间想的是赶紧恢复,而不是蹲在论坛里翻故障帖子。这种状态下,root只会增加焦虑,不会带来快乐。
6.2 哪些人可以放心折腾
对爱折腾、愿意花时间读文档、能接受“刷坏了还有救”的人,root是一趟很有收获的实践。你会慢慢搞懂安卓启动流程,理解SRAM、DDR、分区表和AVB验证之间的关系,而这些知识在后续修电脑、刷路由、折腾智能家居时都能平移。每一次救砖成功,都能让你对系统底层理解得更透。
我个人一直的体会是:root不是目的,理解一台设备如何运行才是。整个过程最值钱的不是Magisk右上角那个“已安装”,而是你在破解一个个问题后积累起来的排查能力。这篇教程写到这,剩下的路,交给你的好奇心和耐心去走。