# 简单解决MIUI官方ROM刷官方TWRP卡米的问题 > 想看操作步骤的直接去最后 # 问题 众所周知,小米官方ROM是带有启动校验的,修改system之后无法启动。 这种设计逻辑虽然对普通用户而言安全性很好,对于轻度折腾+洁癖用户而言却不是很友好,想自己换个recovery搞事情是很困难的,必须依靠各种大神修改版才能绕过这个恼人的boot验证。大神修改版用起来确实方便,然而出于更新或者安全考虑~~(我不是针对谁)~~,我更希望能用上官网直接下载的revocery。 [小米5s capricorn 官方 TWRP Recovery 下载地址](https://dl.twrp.me/capricorn/) 更何况,MIUI9下有些原本的修改版recovery已经开始出现小问题了,例如`data`分区不能自动解密,用格式化的方法去除加密不仅麻烦,还降低了安全性。 # 解决思路 绕过boot验证操作其实不难,主要是对boot镜像进行一些很简单修改和配置。难点在于root之前用户是接触不到boot分区的,而想要root一般必须刷recovery,但刷完recovery就进不去系统了…… 总结下来,可行的办法就这么几种: ## 在pc上修改boot镜像 确实有一些方法可以在pc上修改boot镜像再刷进去,可行但是麻烦,需要好几个工具。 ## 使用单独脚本 大神修改版recovery的解决方法是在recovery中直接嵌入了修改boot的脚本,但这个脚本理论上不复杂。如果可以直接得到,先刷入官方TWRP Recovery,然后马上卡刷这个脚本,就可以直接启动了。然而这个脚本我只找到了其他机型的,也不知道到底通用不。 ## 使用magisk 那么还有什么办法呢?答案是`magisk`。`magisk`是用于**在尽量少修改`system`的前提下**获取`root`和类似`Xposed`功能的工具,跟`TWRP`一样是开源的。从可信度上来讲应该是比XX论坛下载的大神修改版稍微高一些的。相比[被国内公司收购的SuperSU](https://www.zhihu.com/question/50324824),可信度起码应该是不相上下的吧。 `magisk`的原理就不多讲了,虽然尽量少修改`system`,但毕竟有时还是要修改的,而官方ROM加入启动校验的绝非小米一家,所以`magisk`卡刷包自带了**通用的关闭启动校验脚本**。这个功能默认开启,但安装后可以手动关掉,同时也可以保持`data`分区的加密,从我的角度讲,属于完美解决方案。 事实上,我注意到这个卡米问题,就是因为试图刷完`TWRP`之后,想先看看启动是否正常,再进入系统刷`magisk`。可惜天意弄人,这份谨慎反而成了败笔——刚刚刷完`TWRP`的MIUI是无法启动,除非马上紧接着刷一个`magisk`或其他关闭启动校验的东西。 # 操作步骤 写给系统洁癖们的官方MIUI ROM 换TWRP Recovery教程: 1. 从官方途径下载[TWRP Recovery](https://dl.twrp.me/)和[`magisk`](https://github.com/topjohnwu/Magisk/releases),备份手机数据 2. 线刷官方MIUI ROM。如果本来就是没改过的系统,这一步可以不做。 3. 关机。然后开机时按住`音量-`,启动到`fastboot` 4. 刷写`Recovery`:`fastboot.exe flash revovery Z:\twrp-3.2.1-0-capricorn.img` ([官方`fastboot/adb`下载地址](https://developer.android.com/studio/releases/platform-tools.html)) 5. 做完上一步不要正常重启,因为此时重启刚刷进去的`Recovery`会被自动还原。应该使用`sideload`功能直接启动到刚刚刷进去的`Recovery`:`fastboot.exe boot Z:\twrp-3.2.1-0-capricorn.img` 6. 启动后可以选择中文界面,会问你是否修改`system`,这一步同时也会修改`system`,确保刚刚刷进去的`Recovery`不会被自动还原。当然选择是(确认方式是滑动)。 7. 此时机器还在电脑上连着,应该识别会到一个`MTP`设备。把刚才下载的`magisk`拖进去,然后在手机上操作,刷之。 8. 正常重启。启动后会发现已经有了完整的`root`权限。