Skip to content

Instantly share code, notes, and snippets.

@maboloshi
Last active February 2, 2024 14:51
Show Gist options
  • Star 87 You must be signed in to star a gist
  • Fork 10 You must be signed in to fork a gist
  • Save maboloshi/3316a78de3d9495387ff9d9050af010b to your computer and use it in GitHub Desktop.
Save maboloshi/3316a78de3d9495387ff9d9050af010b to your computer and use it in GitHub Desktop.
[小米9 刷入欧洲版MIUI for macOS]

小米9 刷欧洲版 MIUI 固件及适当的本土化修复

本教程不保证它的权威性和正确性,也不对任何实践中的错误、数据丢失等问题负责!
本教程平台为 macOS, 其他系统请酌情参考

更新说明

@ 2020/8/29

  1. 添加"介绍"
  2. 更新 TWRP 信息
  3. 添加卡刷 TWRP
  4. 语言措辞编辑
  5. 不再更新本地化修复

介绍

先大致介绍一下各个 MIUI 版本:

  • 国内版 MIUI 国内版就是官方 MIUI 的国内版,优点:本地化功能丰富,能吃上新功能,有小爱,缺点:有广告,臃肿,后台常驻很多系统组件,同时有不少系统组件没办法禁用,Google 套件不太好安装,安装好了之后也会经常因为不稳定而 Crash。官方站点:米柚
  • 国际版 MIUI 也称为 俄罗斯版,国际版就是官方 MIUI 的国际版,优点:自带 Google 套件,广告较国内版少,缺点:依然有AnalyticsCore、MSA-Global等广告后台,预装 Google 全家桶,还是比较臃肿,本地化功能欠缺。官方站点:MIUI Global
  • 欧洲版 MIUI 也称为 波兰版,属于 MIUI 的第三方定制 ROM,但是得到欧盟官方分销商 ABC Data 认可,及时跟进国内版,稳定性比较可靠。优点:保留 Google 服务框架,未非暴力预装 Google 全家桶,系统软件也经过去广告处理,十分清爽,缺点:无小爱,本地化功能欠缺。 官方站点:XIAOMI.EU

准备工作

申请解锁权限

申请解锁: 解锁小米手机

安装解锁工具

  • Windows 平台环境下官方解锁工具

  • Windows、Mac、Linux平台下解锁 MiUnlockTool工具(依赖: Java8)进行解锁

    macOS: Java8 安装

    brew tap homebrew/cask-versions
    brew cask install java8

    注意: MiUnlockTool可能已过时,建议尝试XiaoMiTool V2(最新版支持到 java14)

    macOS: Java14 安装

    brew cask install java

    本人之前使用MiUnlockTool解锁

安装刷机工具

brew cask install android-platform-tools

安装 Android 文件传输工具

方便在 macOS 下管理安卓手机上的文件

brew cask install android-file-transfer

下载 TWRP 及 Msic

TWRP是一个开源的定制 Recovery 模式映像,供基于安卓的设备使用。它提供了一个支持触摸屏的界面,允许用户向第三方安装固件和备份当前的系统。

现阶段已释出全功能适配 MI9 的 TWRP,可直接使用TWRP App安装(需root)。详见:【卡刷】通过官方 TWRP 应用程序刷入 TWRP(需要 root)

如果 【线刷】通过 Fastboot 模式刷入 TWRP(无需 root),请提前下载对应机型最新TWRP镜像,如选择类似 twrp-3.4.0-0-cepheus-mauronofrio.img, 重命名为twrp.img备用.

[RECOVERY][3.4.0-0][cepheus]Unofficial TWRP for Xiaomi Mi 9 (Stable)项目页 @2020-8-27

特征:

  • 解密 data 已工作
  • OTG 已工作
  • 备份已工作
  • fastboot flash 命令已工作
  • Android Q 已支持
  • F2FS文件系统已支持
  • fastboot boot 命令已工作
  • 修复Compatibility.zip错误

下载 Msic【可选】

Msic 是一个类似开机引导程序的东西, 对于小米可能需要刷入特定的 msic.bin 否则无法引导外部或固化的第三方 Recovery。

现在最新TWRPfastboot boot 命令已可用,故不需要再刷入 Msic

下载 md5:40D41A9077580C867ACD5B78675D9035

注意:校验下载的文件

下载国内固件【可选】

下载链接: https://www.miui.com/download-357.html

如果后述的修复包不能满足需要, 希望创建自定义修复包需要下载.

下载EU固件

下载链接: https://sourceforge.net/projects/xiaomi-eu-multilang-miui-roms/files/xiaomi.eu/MIUI-WEEKLY-RELEASES/

下载对应机型最新的固件: 类似xiaomi.eu_multi_MI9_9.3.21_v10-9.zip备用.

更多欧洲版固件信息详见官方论坛: https://xiaomi.eu/community/forums/miui-rom-releases.103/

注意:校验下载的文件

解锁 BootLoader

注意: !!! 解锁会清除所有数据,请作好备份。!!!

详见解锁教程, 请按照以下流程进行操作:

  1. 进入“设置 > 我的设备 > 全部参数”
  2. 在“MIUI 版本”上点击 6-8 次
  3. 进入“设置 > 更多设置 > 开发者选项”
  4. 开启 “USB 调试” 和 “OEM解锁”
  5. 进入“设备解锁状态”中添加帐户和设备,然后使用您的小米帐户登录;
  6. 手动进入 Bootloader 模式(关机后,同时按住开机键和音量下键);
  7. 通过USB将手机与电脑进行连接
  8. macOS 下运行MiUnlockTool/MiUnlockTool.command,并登陆对应的小米账号
  9. 点击“解锁”按钮;

确认手机解锁状态:

  • 方法 1. Bootloader模式下运行fastboot oem device-info, 显示 Device unlocked : false (locked or unblocked) or true (unlocked).
  • 方法 2. 手机进入“设置 > 开发者选项 > 设备解锁状态”
  • 方法 3. 开机过程中,屏幕底部或顶部会显示“unblocked”文字或图标【推荐】

提取小米支付以及本土化修复卡刷包【可选】

注意:!!! 此节不在更新 !!!

欧洲版 MIUI 精简了许多中国版的功能, 但是通过Mi Pay Extractor项目解决以下问题:

  • 恢复小米支付、小米公交功能
  • 屏幕负一页恢复公交卡、支付宝和微信的扫码快捷方式
  • 日历应用中,恢复农历日期显示。
  • 修复清洁应用的FC。
  • 在安全应用的设置页面中显示付款监控选项。
  • 天气应用程序中,使用中国天气来源。
  • 时钟应用程序中,恢复法定工作日设置。[测试]
  • 开启默认用户数据加密。[可选] 最近的欧洲版 MIUI 已默认加密不再需要修复

我在原项目的基础上, 支持了 MIUI10 的系统结构, 并持续集成了补丁包的自动提取和创建.

请到我 forked 的项目页下载对应版本修复包, 如:

  • eufix-appvault-CEPHEUS-9.3.22.zip 应用程序库提取包 (可自行添加提取其他功能包)
  • eufix-MI9-9.3.21.zip 日历、天气、时钟修复包
  • mipay-CEPHEUS-9.3.22.zip 小米支付修复包

注意:

  1. 一旦刷入修复包,将无法通过在线 OTA 进行升级。需要刷入完整包进行升级
  2. 默认开启用户加密,更换底包刷机需要格式化Data分区,注意提前备份。后续升级刷入完整包后,不需要再次格式化Data分区。
  3. 本修复包不能满足需要,希望创建自定义修复包,请详见项目说明。
  4. 其他相关信息,请详见项目说明。

刷机

提前将 ROM 固件及修复包等zip文件通过android-file-transfer工具或者 OTG 下载到内部存储

刷入 TWRP

注意: !!! 请作好备份。!!!

【卡刷】通过官方 TWRP 应用程序刷入 TWRP(需要 root)

推荐使用 MIUI 国内开发版用户

  1. MIUI 国内开发版获取 root 权限

    进入“设置 > 应用设置 > 权限管理 > ROOT权限管理”根据说明进行

  2. 下载安装官方TWRP应用程序

  3. 使用 TWRP 应用程序刷入对应机型 TWRP

    打开TWRP 应用程序,同意条款,授权 ROOT 权限,选择TWRP Flash。从设备列表中选择您的设备(cepheus,即小米9机型),然后选择一个 TWRP 版本。该文件将下载到您的Download文件夹中。浏览并选择文件。点按“Flash”。了解更多关于应用在这里。

【线刷】通过 Fastboot 模式刷入 TWRP(无需 root)

推荐 TWRP未完全适配(即TWRP APP中未上架)、卡刷失败以及使用 MIUI 国内稳定版用户

关机后,同时按住开机键和音量下键,进入 Fastboot 模式,通过USB数据线连接电脑与手机, 电脑终端运行以下命令:

# 检测设备是否连接
fastboot devices
# 刷入 TWRP
fastboot flash recovery twrp.img # 注意文件路径
# 直接进入 TWRP 模式
fastboot boot recovery.img       # 注意文件路径
# 或者 重启进入 Recovery 模式
fastboot oem reboot-recovery

注意: fastboot boot可在不覆盖固件recovery的情况下直接进入 TWRP 模式

完成上面的步骤后,手机会进入 TWRP 界面。如果手机进入 MIUI 官方恢复界面,而非 TWRP 界面,则说明当前 TWRP 的fastboot boot命令无法正常工作,此时需要再次手动进入 Fastboot 模式,刷入 Msic

# 刷入 Msic
fastboot flash misc misc.bin     # 注意文件路径

然后手动关机后,同时按住开机键和音量上键,手动进入 TWRP 界面

【卡刷】刷入欧洲版 MIUI 及修复包

注意:!!! 请作好备份 !!!

  1. 完成上面的步骤后,手机会进入 TWRP 界面,可设置显示的语言,Swipe to Allow Modifications(滑动确认允许修改)进入主界面。

  2. 三清:TWRP 主界面 > Wipe(清除数据) > Advanced Wipe(高级清除) > 选择"System", "Cache", "Data"分区并清除

  3. 更换底包刷机需格式化 Data 分区,后续升级刷入完整包后,不需要再次格式化Data分区 : TWRP 主界面 > Wipe(清除数据) > Format Data(格式化DATA分区) > 输入yes完成格式化

  4. 如果之前未将固件及修复包等zip文件下载到内部存储(或者不小心格式化了 Internal Storage分区(内部存储)):TWRP 主界面 > Mount(挂载分区)> Enable MTP(开启MTP模式), PC下通过android-file-transfer工具向手机上传资料到内部存储,或者 TWRP 主界面 > Mount(挂载分区)> USB-OTG(挂载USB大容量储存), U盘通过 OTG 数据线,向手机上传资料

  5. 安装固件zip文件(先刷固件,再依次刷入修复包): TWRP 主界面 > Install(安装刷机包) > 选择固件包 > Swipe to confirm Flash(滑动刷入)

  6. TWRP 主界面 > Reboot(重启)> System(重启系统)

注意:

  • 欧洲版 MIUI 10 已同国内版一样, 默认开启用户数据文件级加密。所以首次更换底包刷机必须通过 TWRP 格式化 Data分区(但绝不要格式化 SystemPersist分区),否则重启后自动进入 Recovery 模式,无限循环。

关于修复包的相关信息详见项目页说明

ROOT 包【可选】

注意: ROOT会增加安全风险,降低系统稳定性

欧洲版 ROM 不支持国内版官方 root 包, 但是可以用 TWRP 刷入Magisk.

下载类似:

名称 描述
Magisk-v20.4.zip Magisk 刷机包
Magisk-uninstaller-20200323.zip Magisk 卸载刷机包
MagiskManager-v7.5.1.apk Magisk 管理器

参考

boot-recovery
@maboloshi
Copy link
Author

@fuogo @csrutil 我已放弃刷欧洲版 本帖仅存档

@fuogo
Copy link

fuogo commented Jun 21, 2019 via email

@maboloshi
Copy link
Author

@fuogo 的确如此。国际版会缺失很多特殊的本地化服务和工具。现在大陆版自带的Google服务基本够用了。国际版google全家桶有点太多了,欧洲版稍微精简了点

@chenguaself
Copy link

我想询问这段话,能修复嘛
快应用本地化(负一屏点击快递可以登录菜鸟)
需root权限,下载快应用.zip解压后,将 HybridAccessory , HybridPlatform 这两个文件夹复制到 ~/system/app 路径中,权限设置为0755,重启。

@csrutil
Copy link

csrutil commented Jun 24, 2019

我现在把文件都复制到系统中,发现可以使用了。估计一开始有权限问题,公交卡正常使用。

@csrutil
Copy link

csrutil commented Jun 29, 2019

我自己打包了k20 pro的包,需要的人可以自己获取。
https://github.com/csrutil/MiWallet/releases

@fenixnano
Copy link

感谢分享!
按照教程刷成功了!

不过发现除了提到的缺少一些国内服务之外,eu版好像也没有手机分身或者多用户的功能?
其他版本的rom里面应该是关闭mi优化之后可以开启多用户功能的,但是eu版直接就没有mi优化这个选项。不知道你有没有看到过相关的资料?

@shendanpuff
Copy link

刷了recvory卡在teamwin这个界面

@maboloshi
Copy link
Author

@shendanpuff 说明recvory无法解密加密过的data 这是只能格式化 /data ,同时相关资料丢失

@Wh0ale
Copy link

Wh0ale commented Sep 13, 2019

Redmi K20 Pro 刷 Android Q Beta 有容易发热、掉电快,没有指纹功能,不能有效发挥摄像头性能等问题看了B站的这个视频,想问一下刷了欧版rom的老哥会出现这个问题吗@csrutil,使用过程中体验如何呢?

@desmondyoung
Copy link

你好。

我用TWRP安装img的时候出现了NO OS installed的提示,请问这个应该怎么解决?

@ace-express
Copy link

你好。

我用TWRP安装img的时候出现了NO OS installed的提示,请问这个应该怎么解决?

没有遇到过啊, 你要不整个重新刷一遍官方包,然后再试试?

@desmondyoung
Copy link

我刷机完之后,Wi-Fi功能打不开了。网上有人说可能是Persist分区损坏的缘故,所以得单独刷一个Persist.img进去。。我已经重装了2次系统了都没修复Wi-Fi的问题。想在网上找到小米9的Persist.img也没找到。。

@desmondyoung
Copy link

我刚刚找到了persist.img,然后单独刷persist分区的时候发现有写保护。请问如何解决无法重刷Persist分区的问题呢?

@maboloshi
Copy link
Author

我刚刚找到了persist.img,然后单独刷persist分区的时候发现有写保护。请问如何解决无法重刷Persist分区的问题呢?

@desmondyoung 线刷国区系统包

@desmondyoung
Copy link

desmondyoung commented Sep 19, 2019

我刚刚找到了persist.img,然后单独刷persist分区的时候发现有写保护。请问如何解决无法重刷Persist分区的问题呢?

@desmondyoung 线刷国区系统包

你好,我用的TWRP版本是3.3.1-41。通过TWRP刷xiaomi.EU_MI9_9.9.6.zip版本的时候可以安装成功,但有一个系统bug。打电话的时候我只能听到别人的声音,我说话没声音。但微信语音的时候一切正常。于是我在小米的中国官网,国外官网分别下载了国区版最新版,国际版最新版,欧洲版最新版。但他们都无法通过TWRP安装。网上有人说删除zip安装包里的compatibility.zip文件之后就可以安装,但我依然失败。

  1. 在我的系统卡在欧版9.9.6之后,我尝试用自带的系统更新来选择最新欧版包升级,但我的recovery已经被替换成了TWRP,这样就回到之前的死循环。(尝试找过MI Stock Recovery,但失败了)
    2.我也尝试线刷系统包,但用miflash刷包的时候会报错。
    3.在Win 10下用PC Suite刷机的时候,发现无法识别手机。

请问你有什么好建议吗?

@desmondyoung
Copy link

我用miflash线刷国际版的时候报错是update crc list failed

@desmondyoung
Copy link

我刚又折腾了好久,发现我只能刷xiaomi.eu里的ROM,其他地方找的rom会刷失败。。我真是哔了狗了。

@ace-express
Copy link

我刚又折腾了好久,发现我只能刷xiaomi.eu里的ROM,其他地方找的rom会刷失败。。我真是哔了狗了。

不会啊, 我国际版 欧版, 国航版 都换着刷过, 都能刷进去

@desmondyoung
Copy link

  1. 请问你都是用Mac系统刷吗?
  2. 你用TWRP刷还是线刷?我没找到Mac系统的线刷攻略。
  3. 你的ROM都是哪里下载的呢?

@desmondyoung
Copy link

我用欧版的10.2.16稳定版时,手机的Wi-Fi按钮就变灰了,无法打开。装回9.9.6开发版时,Wi-Fi正常,但打电话时,人家听不到我的声音。
还有,你的TWRP是哪个版本的呢?

@ace-express
Copy link

  1. 请问你都是用Mac系统刷吗?
  2. 你用TWRP刷还是线刷?我没找到Mac系统的线刷攻略。
  3. 你的ROM都是哪里下载的呢?

Mac 上面线刷直接 执行线刷包里面的 .sh 脚本就好了, 比其他Windows平台方便多了

@maboloshi
Copy link
Author

  1. 请问你都是用Mac系统刷吗?
  2. 你用TWRP刷还是线刷?我没找到Mac系统的线刷攻略。
  3. 你的ROM都是哪里下载的呢?

Mac 上面线刷直接 执行线刷包里面的 .sh 脚本就好了, 比其他Windows平台方便多了

的确如此,我Windows PC 驱动各种装不上烦, Mac自带驱动,只要装一下android-platform-tools就ok了

@desmondyoung
Copy link

  1. 请问你都是用Mac系统刷吗?
  2. 你用TWRP刷还是线刷?我没找到Mac系统的线刷攻略。
  3. 你的ROM都是哪里下载的呢?

Mac 上面线刷直接 执行线刷包里面的 .sh 脚本就好了, 比其他Windows平台方便多了

我看到文件夹里还有一个flash_all_lock.sh的文件。。那就是说我执行了flash_all.sh之后就会帮我lock吗?我担心flash后会失败,然后lock了手机却变砖了。现在都不敢轻易尝试,网上的各种方案真真假假。。看得我晕头转向的。

@ace-express
Copy link

  1. 请问你都是用Mac系统刷吗?
  2. 你用TWRP刷还是线刷?我没找到Mac系统的线刷攻略。
  3. 你的ROM都是哪里下载的呢?

Mac 上面线刷直接 执行线刷包里面的 .sh 脚本就好了, 比其他Windows平台方便多了

我看到文件夹里还有一个flash_all_lock.sh的文件。。那就是说我执行了flash_all.sh之后就会帮我lock吗?我担心flash后会失败,然后lock了手机却变砖了。现在都不敢轻易尝试,网上的各种方案真真假假。。看得我晕头转向的。

是的会 lock, lock 就是BL锁给你锁上, 你不想就执行不带 Lock 的脚本文件就ok了

@desmondyoung
Copy link

  1. 请问你都是用Mac系统刷吗?
  2. 你用TWRP刷还是线刷?我没找到Mac系统的线刷攻略。
  3. 你的ROM都是哪里下载的呢?

Mac 上面线刷直接 执行线刷包里面的 .sh 脚本就好了, 比其他Windows平台方便多了

我看到文件夹里还有一个flash_all_lock.sh的文件。。那就是说我执行了flash_all.sh之后就会帮我lock吗?我担心flash后会失败,然后lock了手机却变砖了。现在都不敢轻易尝试,网上的各种方案真真假假。。看得我晕头转向的。

是的会 lock, lock 就是BL锁给你锁上, 你不想就执行不带 Lock 的脚本文件就ok了

请问怎么修改sh文件呢?我是官网下载的ROM,也不知道去哪儿找不带lock的脚本。

@ace-express
Copy link

  1. 请问你都是用Mac系统刷吗?
  2. 你用TWRP刷还是线刷?我没找到Mac系统的线刷攻略。
  3. 你的ROM都是哪里下载的呢?

Mac 上面线刷直接 执行线刷包里面的 .sh 脚本就好了, 比其他Windows平台方便多了

我看到文件夹里还有一个flash_all_lock.sh的文件。。那就是说我执行了flash_all.sh之后就会帮我lock吗?我担心flash后会失败,然后lock了手机却变砖了。现在都不敢轻易尝试,网上的各种方案真真假假。。看得我晕头转向的。

是的会 lock, lock 就是BL锁给你锁上, 你不想就执行不带 Lock 的脚本文件就ok了

请问怎么修改sh文件呢?我是官网下载的ROM,也不知道去哪儿找不带lock的脚本。

就是你执行flash_all.sh 就好了, 不要执行 flash_all_lock.sh , 你想看看在干啥就用文本编辑器打开 .sh 脚本文件, 看最后几行,其实就是调用 Android SDK 工具包中的执行命令来 Lock BL 锁。你注释掉就好了。

@desmondyoung
Copy link

  1. 请问你都是用Mac系统刷吗?
  2. 你用TWRP刷还是线刷?我没找到Mac系统的线刷攻略。
  3. 你的ROM都是哪里下载的呢?

Mac 上面线刷直接 执行线刷包里面的 .sh 脚本就好了, 比其他Windows平台方便多了

我看到文件夹里还有一个flash_all_lock.sh的文件。。那就是说我执行了flash_all.sh之后就会帮我lock吗?我担心flash后会失败,然后lock了手机却变砖了。现在都不敢轻易尝试,网上的各种方案真真假假。。看得我晕头转向的。

是的会 lock, lock 就是BL锁给你锁上, 你不想就执行不带 Lock 的脚本文件就ok了

请问怎么修改sh文件呢?我是官网下载的ROM,也不知道去哪儿找不带lock的脚本。

就是你执行flash_all.sh 就好了, 不要执行 flash_all_lock.sh , 你想看看在干啥就用文本编辑器打开 .sh 脚本文件, 看最后几行,其实就是调用 Android SDK 工具包中的执行命令来 Lock BL 锁。你注释掉就好了。

我的手机在正常模式下通过adb devices能找到设备,但进入fastboot之后,无论是fastboot devices还是adb devices都看不到了。我在网上搜了好半天都没看到原因。这个问题是刚刚才出现的,请问你有什么好建议吗?(我的USB debug是打开的)

@wliu88ca
Copy link

格式化/data后怎么安装zip包?

@wych42
Copy link

wych42 commented Apr 11, 2020

Fork并加入了小米9 Pro 5G(MIUI 11) 刷机、root的相关操作。如有需要可以参考。

小米9 Pro 5G 刷入欧洲版MIU + Magisk + 信任用户证书可以使用 Charles 抓包 [on macOS]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment