Skip to content

MIUI刷机

约 2359 字大约 8 分钟

小米12pro刷机安卓TWRP

2022-09-03

前言

众所周知 miui 变得越来越臃肿,且广告横行被戏称为广告ui。大陆版的 miui 系统附带了小米全家桶,往往会造成手机卡顿、耗电,我 8+3G 的手机内存都有些卡。 你可能觉得它不发热,那是因为小米云控,自动限制你的手机性能。当你边插电边玩王者的时候,它为了控制发热会限制帧率,画面自动限制到了 10 帧以下,这还不卡成 PPT! 再说说其他版本的 miui:台湾版、俄罗斯版、欧版(EEA)、全球版 等版本,除了没有小米全家桶外,广告都还是有一些的,而今天要说的重头戏就是 miui 欧版(EU),下文简称EU版。 EU版官网,特点是基于大陆版 miui 为底包,拥有完整谷歌服务,移除了小米全家桶,所以内存占用会比国行版少很多。 注意,因为该网站已经屏蔽了大陆 ip,所以需要代理访问,注意下载 ROM 时需要开启全局代理,否则会下载很慢。

1. 准备

1.1. 系统解锁

解锁 bootloader:申请解锁解锁教程

1.2. 下载ROM

根据机型下载 ROM 包:官方下载三方下载

2. 刷机

找到自己的机型,如果提供的是线刷包,比较好刷。 但如果提供的是卡刷包,那就需要先刷入三方 recovery,一般是 TWRP。 官方卡刷官方线刷一文解决刷机问题

3. 刷入 TWRP

参考官方教程,操作步骤: 注意:不用先将卡刷包复制进手机中,因为后面格式化data分区时会清除掉手机的一切设置以及所有媒体文件,也就是刷机包也会清除掉。

  1. 刷入 trwp。 1.1 fastboot devices 1.2 fastboot boot twrp.img
  2. 永久刷入 trwp(由于新版的小米机子大都使用A/B分区,重启系统后会覆盖回 miui 默认的 recovery)。 2.1 在"高级"选项中选择如刷当前 TWRP 2.2 在"重启"选项中选择"重启到recovery"
  3. 格式化data分区(如果是线刷版,data分区没有解密,twrp模式下无法将文件复制进手机中,都是密文不知道哪个文件是刷机包) 3.1 在"清除"选项中选择"格式化 Data 分区",输入"yes"(注意日志哦,可能会说你复制进手机的文件在/data/mdeia/ 目录下) 3.2 在"重启"选项中选择"重启到recovery"
  4. 复制刷机包到手机中(twrp 会自动挂载"MTP") 4.1 直接在电脑上复制卡刷包 zip 文件进手机即可(如果电脑上能显示手机中的文件夹,则复制进去的文件在/sdcard/ 下面,否则就会在 /data/media/ 下面)。如果不能可以用 ADB 命令向手机推文件 4.2 adb push c:\xx\update.zip /sdcard/ # 电脑文件推入手机 4.3 adb pull /sdcard/xx c:\xx\ # 手机向电脑推入文件
  5. 刷入 zip 文件 5.1 选择"安装"选项,记得勾选刷完自动安装 twrp,否则就需要再执行上面 "永久刷入 trwp" 的步骤 5.2 刷完后需要清楚 davlik 缓存,也就是双清 5.3 完成后直接重启进入系统,接下来就是出厂设置
  6. 刷入 magisk(必须在 twrp 中刷入 magisk。如果自己在系统中下载安装,然后使用修补 boot 的方式,那么重启手机后,依然会失效,此时进入 twrp 刷入 magisk 即可) 6.1 重启至 recovery,在 twrp 下的 "高级"选项中,选择"安装magisk" 6.2 重启至系统,点击 magisk 安装包,选择下载完整安装包,安装即可

4. Magisk 自定义通道

Github 是获取官方 Magisk 的唯一来源:官方下载Magisk(Canary)官方源 非官方网站,不过对内地用户访问友好:Magisk中文网

以下是自定义通道:

Magsik Stable(稳定版)

https://magisk.topjohnwu.com/stable.json

Magisk Beta(测试版)

https://magisk.topjohnwu.com/beta.json

Magisk Canary(金丝雀)

https://magisk.topjohnwu.com/canary.json

以下通道采用香港节点加速:

稳定版

https://channel.topjohnwu.com/stablecn.json

测试版

https://channel.topjohnwu.com/betacn.json

金丝雀

https://channel.topjohnwu.com/canarycn.json

Debug

https://channel.topjohnwu.com/debugcn.json

使用教程:设置 – 更新通道 – 自定义通道(填上自己需要的版本即可)

踩坑记录

2022/09/10 小米12Pro 刷入 eu 官方社区提供的 TWRP(twrp-3.6.2_12-v6.2_A12-zeus-skkk.imgtwrp-3.6.2_12-v6.2_A13-zeus-skkk.img),结果都会报错:

fastboot boot twrp-3.6.2_12-v6.2_A13-zeus-skkk.img
Sending 'boot.img' (196608 KB) OKAY [ 13.957s]
Booting FAILED (remote: 'Failed to load/authenticate boot image: Device Error')
fastboot: error: Command failed

怎么都刷不进去。。。 然后,我再一次打开官方教程,再看一遍发现,教程提供了两个 TWRP 的下载地址,一个是来自xiaomi.eu,另一个是来自skkk。而我刷入失败的 TWRP 正是从xiaomi.eu下载的,因此从skkk下载试试。skkk下载列表中分BOOTREC,我下载了BOOT类,然后尝试刷入。。。成功!!!

fastboot boot [B0OT]-3.6.2_12-Mi12Pro_v6.2_A12-zeus-skkk.img
Sending 'boot.img' (196608 KB)                     OKAY [  4.331s]
Booting                                            OKAY [  0.262s]
Finished. Total time: 4.676s

2023/02/22 从三方 ROM 使用 MiFlash2020-3-14-0线刷会官方 ROM 时,刷到一半总是会失败,提示error: Sending sparse xxx (n/10)。 期间,我换了数据线、换了 USB 接口,尝试 5 次统统失败。可是在这台电脑上之前刷机都是成功的呀!于是我换了小米笔记本,没插电源,再次刷机,这回就一次成功。 然后我仔细想了想,可能台式机主板中的电压/电流不稳,线刷包是解压后的,比较大有 6-7GB,于是工具将数据包分了 10 段传输到手机中,而因为电压/电流不稳,导致中途传输失败了,刷机自然中断,同时手机也打不开。后来用了小米本,以电源供电的方式,电压/电流稳定,所以传输也稳定。

所以,当出现这种情况时,最好是重启一次电脑,然后换个 USB 接口,再试一次,以免浪费太多时间。最好还是用笔记本刷机,因为笔记本可以独立供电。

常见错误

error:couldn't find flash script 解决方法:

  1. 使用360压缩解压tgz线刷包;
  2. 未把刷机包放到根目录(极大概率);
  3. 刷机工具未在根目录;
  4. 刷机包bat批处理文件丢失,请用迅雷使用源文件下载地址进行下载;

error: FAILED (remote: Erase is not allowed in Lock State) 解决方法:

  1. 没有解除 BL 设备锁,小米线刷需要先完成 BL 解锁;
  2. 如果之前线刷不成功,由于线刷默认上了 BL 锁,只能重新进入 fastboot 模式重新解锁;
  3. 如果因为某些原因手机退出了小米帐号,又无法进入系统,这种情况只能送小米售后强刷;

error: FAILED (data transfer failure (Too many links)) 解决方法:

  1. 可能需要更换电脑USB端口连接。如果可能,尽量使用USB2.0 端口操作;
  2. 更换USB数据线,尽量使用原装数据线,质量会好些;
  3. 关闭电脑防火墙等杀毒软件,排除潜在的干扰,以管理员身份运行小米线刷工具;

can not found file flash_all_lock.bat 解决方法:

  1. 检查下载是否为线刷包,下载是否完整,有无完整解压,存放路径不要有中文或空格,也不要解压到U盘;
  2. 线刷工具界面选择正确解压文件夹路径,务必务必选择根目录;
  3. 检查下载的刷机包是否为线刷包(.tgz 后缀),并且确保已经完整解压(使用360压缩解压),在 MiFlash 选择的刷机文件路径没有错误(选择解压得到的文件夹,在这个目录下可以找到 flash_all_lock.bat 文件);
  4. 如果是早期的小米手机,由于还没有 BL 锁,对应的刷机包也就没有这个加锁刷机脚本,这时在 MiFlash 界面右下角只能选择“全部删除”模式刷机才能刷机;

error:Not catch checkpoint (\$fastboot -s .*lock), flash is not done 该错误可以忽略,实际不影响手机使用,可以正常开机

error: Missmatching image and device error 你下载错刷机包了,机型不对

error: Sending sparse ‘xxx’ x/x (xxx KB) FAILED (Error reading sparse file) 手机与电脑连接不畅,通常换个数据线或连接端口便可解决(建议优先使用原装数据线和电脑 USB2.0 端口)

$fastboot -s xxxx getvar product 2>&1 | findstr/r /c:" mproduct: *sagit"|| echo Missmatching image and device 手机与电脑连接不良导致,重新插电脑,尝试换个 USB 端口或数据线

手机屏幕显示 press any key to shutdown 信息 电脑识别设备失败,更换电脑 USB 2.0 端口连接便可解决

加载设备提示 Length cannot be less than zero 错误 属于电脑系统运行环境问题,关闭防火墙软件、重新下载Mi-Flash运行、更换数据线和 USB 端口