最后更新时间:2023年4月23日
卡刷xiaomi.eu的教程参见:https://jaylinwu.wordpress.com/2021/06/10/flash-xiaomi-eu/
拖更几年后,终于完成了重新排版。目前的可读性大大提高,还添加了目录。几年来文章的内容不断推陈出新,几经删改,常看常新,才有了今天这个面貌。希望本文能给更多的朋友带来帮助,发现不一样的乐趣
如今深知维护一篇文章要比创作一篇文章更费心费力,因为这意味着一份责任。在此也呼吁各位教程创作者,如果无力维护文章,不如直接下架,休要留着误人子弟
目录
版权申明
为确保本文的准确性和及时性,本文允许带链接转载但不允许原文转载。转载无需经得本人同意。
本人不对任何第三方转载的原文、修改文、篡改文负责,同时保留依法追究相关责任的权利。
紧急情况解除
如果你现在正在为Fastboot模式下无法关机而苦恼,请立刻到下方“疑难解答”部分学习如何在Fastboot模式下关机。
开篇特别警示
同MIUI国内版删除小米预装APP一样,禁用(停用)任何MIUI国际版中预装的谷歌APP都可能造成开机无法进入操作系统的情况(俗称“卡米”)。也就是说,国际版MIUI很可能只是把小米全家桶换成了谷歌全家桶,而非自由选择谷歌组件(大部分人应该只是想使用Google Play而已)。因此,请确认自己能否接受这样的结果,否则还是建议使用MIUI国内版,还免去了刷机的烦恼。同时MIUI国际版没有骚扰拦截和智能短信功能,需要自行安装替代组件。
这里推荐一款自用电话拦截APP,没有收任何推广费:https://play.google.com/store/apps/details?id=org.xdty.callerinfo&hl=en&gl=US 这款APP十分轻量,支持同步更新国内各种卫士的数据库,还可以按照关键词、号码段进行屏蔽
一旦出现卡米的情况,唯一办法是用MiFlash重新刷入MIUI(俗称“救砖”)。
另外,小米手机加锁极大地保证了手机的完整性和隐私数据的安全性以及真正发挥手机查找功能和远程擦除功能的作用,一旦解锁,手机将可以被第三方任意刷机,从而失去保护。关于这一点的详细说明,请阅读下方的“疑难解答”部分。
如果你清清楚楚地明白“我从哪里来、要到哪里去”,请继续往下阅读本文。否则,请关闭本页。
前言
所谓不完全指南,意为不能完全适用于全部小米手机,并且本指南几乎不添加图片以作说明,但力求文字的准确性。同时,本指南皆为本人的习得经验,无法对第三方负责,尤其是技术原理部分。本指南应当作为参考资料使用,而不是当作教科书般的教程。
请严格按照本指南操作(如果你认为本指南的有关步骤是可行的)。
刷机有风险,操作需谨慎!本人不对按照本指南操作所产生的一切后果负责。
尤其是在指南尚未完成、完整的情况下。个人能力、精力有限,无法保证文章的完成度和及时性,并且有随时修改、补充的可能。请在刷机前通读本指南一遍。如果发觉任何不妥,请自行判断是否要按照本指南进行操作。请善用其他补充资料,本指南更倾向于当作参考资料来使用
本人保证本文中所有超链接的真实性但不保证有效性。过期、失效软件可以自行去官网下载最新版本。
为什么一定要掌握线刷的办法?卡刷难道不行吗?
在本文撰写伊始的2017年,小米尚且允许用户直接下载国际版的zip卡刷包,然后直接通过手机自带的“系统更新”App来刷写国际版的ROM。但是没过多久,小米便禁止国行小米手机通过这种手段刷写国际版的MIUI。因此,线刷MIUI国际版成为唯一的选择。
此外,线刷是手机出现任何问题的终极恢复手段(硬件问题除外),而既然我们要折腾手机,难免会出现各种意外,这样就必须熟练掌握一门恢复技术,不然去小米售后或者手机店,几十元服务费是跑不掉的。
另外,我们掌握了线刷技术后,刷入第三方recovery(比如最著名的TWRP),再通过TWRP进行卡刷各种系统也是手到擒来。
准备工作
如未提到使用请勿提前使用,安装好即可。注意允许UAC授权
手机有价,数据无价!如果你对线刷的流程及结果不太熟悉,请务必先备份手机的内置SD卡,否则很有可能因为刷机导致你的手机内置SD卡被格式化清空
备份
备份的方法大概有两种:
1、重要的文件全部上传到云盘,剩下的文件就算被删除也无所谓;
小米的云盘可以顺利地在国际版登录使用,数据不会丢失。如果使用Google套件备份更是无压力
2、将手机在开机状态下通过USB连接电脑,在手机上选择MTP模式,这样内置SD卡就会以U盘的形式在电脑上被打开,直接复制全部文件或者你认为重要的文件(如相册文件夹)到电脑硬盘上。
了解你手机的codename
以前小米手机国内外售卖的型号在硬件上是一致的,现在则不然。
比如国内版本的 红米Note 9 Pro 在海外的版本是 Mi 10T Lite ,而海外型号为 红米Note 9 Pro 的手机完全是另外一部手机。海外一般把国内的 红米Note 9 Pro 称为 红米Note 9 Pro 5G。
那么,有什么好的办法能让我们从这些眼花缭乱的机海中确定自己的手机是什么版本呢?
其实很简单,就是找到手机的通用代码(codename)。每部手机都有自己独特的代码,比如之前提到的国内版本的 红米Note 9 Pro 和海外版本的 Mi 10T Lite 都有同一个代码gauguin,我们在找包的时候,顺着这个代码找便不会错。
查询codename的网站有很多,这里随便贴一个:https://miuiver.com/xiaomi-device-codename/
但值得注意的是,即便两部设备享有同一个codename,也不能轻易地相信,最好详细研究一下两部手机在硬件上是否完全一致,或者有没有重大的差别。比如国内版本的 红米Note 9 Pro 和海外版本的 Mi 10T Lite 在相机模块上是不一样的,一个使用三星镜头,一个使用索尼镜头,这就导致刷成另一个版本的官方ROM后会令相机无法使用。好在xiaomi.eu解决了这个问题,相机模块可以做到通用。
总的来说,codename能简化我们的工作,但是也需要自己去对比硬件参数,亲自刷机实验一下有无问题。
解锁
带锁机型线刷前必须解锁(如未上锁则不必解锁,详情请自行搜索或者咨询MIUI官方或者论坛)。
解锁地址:https://www.miui.com/unlock/download.html
如果你之前自己用软件解锁过并失败(故障代码:验证失败,未连接小米手机),请跳过该步骤直接查看下方的“疑难解答”部分
解锁软件以及具体的操作方法小米那边一直在更新,建议直接按照解锁页面、解锁软件给定的步骤去操作。
目前小米官方有一个解锁等待期,通常是168个小时,在时间圆满之前是无法解锁的
Win8及以上系统安装好.net framework 3.5
建议通过控制面板 – 程序和功能 – 启用或关闭Windows功能 – 勾选.net framework 3.5 – 确定 – 从Windows更新下载文件安装,随后系统会自动下载安装.net framework 3.5。
下载MIUI国际版的ROM
下载MIUI国际版线刷包并解压,最终线刷包完整路径必须不带有任何空格,最好是全英文目录。【详见下方“疑难解答”部分的有关说明】
下载地址:https://xiaomifirmwareupdater.com/
我也不想推荐第三方网站,但是无奈小米官方下载页面总是挂掉。这个网站已经稳定运行很长时间,应该是安全的,而且这个网站带有全部的历史版本
进入网站之后,我们找到下图所示的选择区域,下拉框里选择手机型号(务必核对codename),勾选ROM和Lateset,然后点击Download按钮。接着会弹出一个下载列表。

需要注意的是,一定要选择带有“Global”字眼的包,带有“China”字眼的包是国内版。最好同时带有“Stable”字眼,表明这是一个稳定版本,不然有可能刷成开发版,不适合日常使用。
如果你去MIUI官方网站下载,请务必下载线刷包,MIUI常用官网机型页面列出的包都是卡刷包!!!卡刷包以.zip结尾,而线刷包则以.tgz结尾
解压ROM压缩包
到能看到目录下含有多个批处理程序的文件夹为止。
一般而言,MIUI官方刷机包的解压结构为:.tgz → .tar → 最终文件夹。
解压前请保证电脑磁盘至少还有10G的空间,这是因为.tgz包在1.5G-2G左右,解压后的.tar包有3G-4G,两者加起来已经有4G-6G,加上还有一个最终ROM文件夹要解压出来,总共10G才行。
下载MiFlash并安装(或者解压)
此程序提供相关驱动及刷机执行工具。(官方另有一个叫做MiPhone的刷机软件,关于MiPhone的说明,详见下方“疑难解答”部分)
下载地址:https://cdn.alsgp0.fds.api.mi-img.com/micomm/MiFlash2020-3-14-0.rar
MD5: ba6bf711e8647bf9975ad23137690083(MD5值会随着版本的更新而变得不同)
这个工具有时是安装版,需要自己安装;有时是压缩包版本,解压缩就能用。具体情况具体分析。
如果下载连接过期失效了,一般在之前提到的Fastboot Update的线刷包下载页面最上面可以找到MiFlash的下载链接。(不建议在非官方以外的渠道获得刷机工具,有可能带有木马、病毒)
MiFlash的问题也是一样,小米官方页面经常挂掉,实在不行只能自己多搜索一些可靠的网站下载此软件。我这里暂时没有推荐,因为风险太大
本来我想上传一份官方压缩包供大家下载,无奈wordpress.com官方禁止上传压缩包。我也不想通过改文件扩展名的方法绕过这个限制,容易因为违反用户协议招致封号
安装Google官方出品的安卓USB驱动
Windows官方并不出厂自带Google安卓USB驱动,必须手动安装,或者安装各品牌手机的官方驱动(安装各手机品牌的电脑端配套软件会同时安装USB驱动)。原则上不是特别非主流的机型都可以直接使用Google的官方驱动。如果你不确定自己的电脑是否带有该驱动,可以跟着该教程重新安装一遍,没有什么坏处,否则ADB功能将无法正常使用,因为手机根本无法连接到电脑。
首先打开Google官方网页:https://developer.android.com/studio/run/win-usb,点击页面上的“点击此处下载 Google USB 驱动程序 ZIP 文件 (ZIP)”。安装驱动的方法就别跟着官方学习了,白费工夫。
驱动正确的安装方法:
- 解压缩驱动包
- 打开设备管理器(Windows 10以上系统直接右键开始菜单,点击“设备管理器”),右键最上方的计算机名称,将会弹出一个菜单,其中有一项叫做“添加驱动”,选择该选项
- 在弹出的窗口中,选择“浏览”,定位到刚才解压缩的文件夹,直到usb_driver文件夹为止,然后点击下一步
- 接着系统会警告是否安装来自Google的驱动,选择接受,然后就会列出安装清单,一共三项,分别是Android ADB Interface、Android Bootloader Interface、Android Composie ADB Interface,最后系统会提示你驱动安装成功
但是安装完驱动并不意味着你就一定能直接通过USB连接到手机,这是因为Windows系统会认为你的手机和Google的USB驱动并不兼容,还需要手动指定你的手机使用Google的官方驱动。关于这一点,会在后面连接手机失败的章节中详解设置方法。
安装ADB软件包并测试ADB是否在电脑上成功安装
此项必学,请勿偷懒,如果已经熟练掌握,则可以跳过
实现ADB的安装方法各种各样,没有固定的套路,这里我先介绍目前最简单的办法。
通过winget安装adb
首先,你的操作系统必须是Windows 10、Windows 11系统,且已经通过Windows Update更新到最新版本。
然后,我们以管理员身份打开命令行工具(包括CMD、Powershell、Windows Terminal),输入以下命令:
winget install Google.PlatformTools
运行结果如下:

整个操作过程几秒钟就可以完成。
然而,这个方法很多时候并不管用,可能由于安装脚本存在错误,实际运行起来存在问题。比如我们直接在终端中输入adb命令,尽管可以识别到这个命令,但是无法正常工作:

引起这个问题的原因应该是最后一步配置系统环境变量出现了问题,即便是重启计算机也没有任何效果。因此我对Windows搞编程开发一直很有抗拒心理,莫名其妙的问题太多,惹人厌烦。
当然,如果你用这个方法成功安装,就可以直接使用。随着winget程序和winget安装脚本的不断更新迭代,或许到你安装的时候已经可以完美。如果需要卸载,请看下文。
卸载通过winget安装的adb
首先使用以下命令强制移除压缩包的解压缩文件(记得加上–force):
winget uninstall Google.PlatformTools --force
然后我们在资源管理器里面打开一个存储目录(注意替换成你的用户名):
C:\Users\<username>\AppData\Local\Microsoft\WinGet\Links
这里我们可以看到adb.exe文件,而且它的文件类型是.systemlink,删除这个文件。如果看到fastboot.exe且文件类型为.systemlink,一样删除这个文件。
然后我们打开终端,输入adb命令和fastboot命令,如果显示一连串红色报错信息,即为成功卸载。
Google官方安装adb的方法
如果你使用上述方法成功运行adb,则可以不必再深究。但如果安装不成功,则需要使用Google官方的安装方法。
首先,我们访问https://developer.android.com/tools/releases/platform-tools,然后在页面中找到“Download SDK Platform-Tools for Windows”,点击该链接,跟随提示完成下载,得到一个压缩包。
解压缩这个压缩包到某个目录,比如D:\platform-tools\
,然后我们打开终端,输入
cd D:\platform-tools\
然后我们再输入
.\adb
即可看到adb命令成功运行的信息:

Google官方提供的ADB是非安装版本,解压后在文件夹目录内通过终端使用,操作逻辑类似Linux。如果想要在终端直接使用,还需要手动添加系统环境变量,这样才能一打开终端就可以使用adb命令。如果你只是临时使用,就不需要去修改系统环境变量。但是这样一来,adb命令就必须以.\adb
开头; fastboot命令必须以.\fastboot开头
。所以在使用本教程所涉及的adb命令时,需要你自己灵活变通。
切记不要从不明渠道下载安装ADB软件,以免造成损失。
学习如何进入小米手机Fastboot模式
关机状态下按住音量减(下)不松手,同时按住电源键,约三秒后手机震动,开机进入Fastboot模式。Fastboot显示为米兔在修理安卓机器人,同时下方显示蓝色FASTBOOT字样。有关Fastboot模式更多信息,请阅读下方的“疑难解答”部分。
具体操作步骤及注意事项
台式机请永远使用后置USB接口,最好还是USB2.0的。不要问为什么,等遇到各种奇怪问题又找不到答案的时候,你才知道有多痛苦
Fastboot模式下通过USB线连接至电脑
此时电脑端应该会弹出驱动自动安装窗口,等待驱动安装完成,窗口自动关闭。
DEBUG:小米手机在Fastboot模式下即便连接电脑,也会出现自动关机现象,从而断开与电脑的连接,而此时如果又正在安装驱动,可能会造成问题。如果出现这样的情况,建议在手机保持连接的情况下,打开控制面板-设备和打印机,找到Android设备,然后右键删除Android设备。接着保持数据线连接的情况下重启手机进入Fastboot模式,电脑会重新安装驱动,一般不会再出现自动关机现象,Fastboot模式将持续显示,除非是在充电器充电状态。有关本部分的详细说明,请参见下方的“疑难解答”部分。
检测手机是否成功连接电脑
Fastboot连接电脑后,必须打开电脑上的Powershell或者CMD,输入”fastboot devices”(不需要加“adb”三个字母)命令。

此命令将会检查手机是否在Fastboot下成功连接电脑。如果出现上述图片中的一行字即为成功。
图片中的“bc9ef409”是手机的设备ID,这个ID将会在下面将要用到的小米刷机软件中再出现一次。不同的手机设备ID是不同的,但是固定的,不是随机产生的。
DEBUG:
如果你确定输入的指令是正确的,但是无法显示设备ID,那么有可能是ADB安装失败或者USB驱动连接失败。ADB安装教程在准备工作篇章中有说明,而USB驱动问题则在紧接着的下一步有说明,往下看即可(或者直接跳转到文末的“疑难解答”部分)。
解锁bootloader
打开解锁软件,按照流程提示进行进行解锁。如果解锁未成功,请查看下方DEBUG说明。
DEBUG:
如果你在解锁过程中一开始显示手机连接成功,而最后一步进度走到50%却失败,故障显示“验证失败,未连接小米手机”,那么恭喜你中招了,这是小米手机刷机最大的难点:无法连接电脑。下面,我们将解决这个问题。
首先,我们先关闭小米解锁软件,然后按照以下步骤操作。请保持手机始终为Fastboot模式。
- 保持手机USB线连接电脑的状态,打开电脑的设备管理器,找到类似Android Phone或者其他名字的一个设备,总而言之,只要可以判断出该设备是你的小米手机即可
- DEBUG: 如果保持着Fastboot模式并且USB线连接着电脑,却在设备管理器里面无法看到手机设备,应该是硬件问题,不是手机坏了就是电脑的USB接口坏了或者不兼容,建议换一个USB接口重试
- 展开该设备,会出现具体的一个设备。一般为Android Bootloader Interface(如果没有,此步忽略)
- 双击Android Bootloader Interface,打开属性窗口。选择驱动程序选项卡。查看Android Bootloader Interface的驱动程序日期(如果没有,此步忽略)
- 点击该驱动程序选项卡下方的更新驱动程序按钮
- 选择浏览计算机以查找驱动程序软件
- 选择从计算机的设备驱动程序列表中选取
- 取消勾选显示兼容硬件
- 此时会列出全部计算机支持的驱动程序
- 选择Android ADB Interface或者其他版本的Android Bootloader Interface。(注意仅限于这两个驱动,要么是Android ADB Interface要么是不同版本的Android Bootloader Interface。不同版本的Android Bootloader Interface右侧会显示不同的时间,选择一个和当前已安装版本时间不同的版本。如果没有出现Android ADB Interface或者不同版本的Android Bootloader Interface,请去设备管理器中选择不同版本的驱动)
- 点击下一步按钮
- 在弹出的警告对话框中选择是。 完成新驱动的安装
- 保险起见,重新插拔手机USB线
至此,DEBUG完毕,保持手机USB连接,处于Fastboot模式下,确保”fastboot devices”出现设备ID。重新打开小米解锁软件,按照流程操作,一般可以解锁成功。如果仍然不成功(故障代码必须为:验证失败,未连接小米手机),请重复以上步骤中更新驱动程序的部分,重新安装Android ADB Interface或者不同版本的Android Bootloader Interface,直到最后解锁成功。
使用MiFlash
解锁完毕后,如果手机自动重启开机,请先关机,再次开机进入到Fastboot模式。保持手机USB连接状态,打开MiFlash软件。
点击MiFlash上方的加载(刷新)按钮,确保你的手机出现在刷机列表上。此时会出现前文提到过的设备ID。
DEBUG:一般情况下,点击加载或刷新按钮会在一秒内显示出你的设备,如果无法显示,说明手机无法连接到电脑。请按照解锁步骤的DEBUG进行操作。更多信息请阅读下方的“疑难解答”部分。
在MiFlash左上角选择线刷包解压后的文件夹或者直接复制粘贴线刷包文件夹路径。
在MiFlash下方选择你要执行的操作,是全部删除还是保留数据。也可能是下拉框让你选择bat脚本文件,这里要注意根据英文名称谨慎选择你需要的结果。
现在有一个最新的问题:越来越多的APP会检测是否解锁(你没看错,不是检测root,而是检测解锁),一旦解锁就闪退。而解锁信息几乎是不可隐藏的(涉及到硬件方面的技术),所以如果你需要使用这些APP(尤其是国内的环境,比如各种银行APP),最好刷写国际版的时候选择带有lock(上锁)的脚本,而不是unlock。当然,一旦锁定后将来还要解锁就需要再次申请解锁,又要等待168个小时。
再次警告:手机有价,数据无价!如果你对操作流程、MiFlash软件工作原理、MiFlash的可靠性有诸多疑问,那么你应该首先备份手机的内置SD卡中的重要数据,否则很有可能会在刷机后被MiFlash格式化清空你的手机内置SD卡,造成严重的损失。
开始刷机
点击MiFlash上方的刷机按钮,开始刷机。
DEBUG 1:一秒刷机完毕,却没有什么动静,状态显示Success。这种情况下请仔细检查你的刷机包文件夹的路径是否带有空格,有的话请去掉。然后选择新路径重新刷入。
DEBUG 2:提示找不到flash_all_except_data_storage文件。尝试直接在右下角下拉列表中选择flash_all_except_data_storage,如果刷机仍然失败,则只能选择全部删除或者换用MiPhone再次尝试。
DEBUG 3:一直处于Flashing状态。这个你可以不用管它,等手机自动重启成功开机后,就可以关闭刷机软件拔掉数据线了。但是在手机自动重启开机之前,请勿拔掉数据线。
DEBUG 4:刷机进度条并不准确,全部完成时间大约在300秒到500秒。刷机完成后进度条会直接跳到100%,也可能会一直显示flashing,但是最终结果以手机成功自动重启进入系统为准。
DEBUG 5:一开始显示的“finished”的时间只是一个准备就绪(初始化)的时间,并非刷机时间,并且这个数字会出现两次变化,第一次显示3秒左右,随后显示零点几秒左右,具体含义未知。
刷机完成
手机刷机完毕,自动重启开机进入MIUI欢迎界面。(由于初始化的原因,第一次开机时间比较漫长,这是正常现象)
疑难解答
为什么要先解锁?解锁失败提示“验证失败,未连接小米手机”怎么办?
只有在手机上锁的情况下,才可以真正使用小米的找回手机和远程擦除功能,同时防止第三方通过刷写擦除手机的数据,变为一台可以自由使用的全新手机(同时保留旧手机的内置SD卡),从而保护手机安全和隐私数据安全,否则这些功能形同虚设。最新的小米(红米)手机全部加了Bootloader锁,如果想要刷机,就必须先解锁,否则无法刷入。当然,也有坊间传说的高通9008工程强刷模式(http://www.miui.com/thread-4210326-1-1.html),但是不建议这样操作,一个是安全问题,还有一个是毕竟既然要刷机,还是解锁后方便一些。那么,高通9008模式的存在是否意味着小米加锁是无用功呢?也不尽然。如果打开了找回手机功能,即便高通工程模式强刷,数据全部丢失,但是依然需要输入开机密码,这样虽然完璧归赵不太可能,但是至少可以保证玉石俱焚,也不算太坏。一旦解锁,要保证安全,确保手机不丢失几乎是唯一的可靠的办法。当然,也可以在极短的时间内通过手机查找等功能及时抢救。总而言之,加锁保证了安全,同样,也限制了自由刷机,所以我们要先解锁。
关于解锁失败的说明:
如果你之前已经尝试过解锁并出现“验证失败,未连接小米手机”这种情况,那么以下方法将帮你完成解锁。(摘自指南原文)
首先,我们先关闭小米解锁软件,然后按照以下步骤操作。请保持手机始终为Fastboot模式。
- 保持手机USB线连接电脑的状态,打开电脑的设备管理器,找到类似Android Phone或者其他名字的一个设备,总而言之,只要可以判断出该设备是你的小米手机即可
- DEBUG: 如果保持着Fastboot模式并且USB线连接着电脑,却在设备管理器里面无法看到手机设备,应该是硬件问题,不是手机坏了就是电脑的USB接口坏了或者不兼容,建议换一个USB接口重试
- 展开该设备,会出现具体的一个设备。一般为Android Bootloader Interface(如果没有,此步忽略)
- 双击Android Bootloader Interface,打开属性窗口。选择驱动程序选项卡。查看Android Bootloader Interface的驱动程序日期(如果没有,此步忽略)
- 点击该驱动程序选项卡下方的更新驱动程序按钮
- 选择浏览计算机以查找驱动程序软件
- 选择从计算机的设备驱动程序列表中选取
- 取消勾选显示兼容硬件
- 此时会列出全部计算机支持的驱动程序
- 选择Android ADB Interface或者其他版本的Android Bootloader Interface。(注意仅限于这两个驱动,要么是Android ADB Interface要么是不同版本的Android Bootloader Interface。不同版本的Android Bootloader Interface右侧会显示不同的时间,选择一个和当前已安装版本时间不同的版本。如果没有出现Android ADB Interface或者不同版本的Android Bootloader Interface,请去设备管理器中选择不同版本的驱动)
- 点击下一步按钮
- 在弹出的警告对话框中选择是。 完成新驱动的安装
- 保险起见,重新插拔手机USB线
至此,DEBUG完毕,保持手机USB连接,处于Fastboot模式下,重新打开小米解锁软件,按照流程操作,一般可以解锁成功。如果仍然不成功(故障代码必须为:验证失败,未连接小米手机),请重复以上步骤中更新驱动程序的部分,重新安装Android ADB Interface或者不同版本的Android Bootloader Interface,直到最后解锁成功。
为什么一定要进入Fastboot模式?Fastboot自动重启怎么办?Fastboot模式下怎么关机?
Fastboot模式是安卓手机的工厂刷机模式,顾名思义,厂家便是通过该模式刷写手机ROM的,而我们进入到该模式,采用相关的刷机软件,一样可以完成刷机操作,这就是为什么线刷通常会进入Fastboot模式的原因。
小米手机的Fastboot没有关机功能,这导致了自动重启现象。在Fastboot模式下,手机会检测是否有USB驱动连接,有则保持Fastboot模式,而如果仅仅是USB充电(即手机充电器或者电脑USB接口充电),则判定为充电,就会在大约30秒到1分钟内自动重启至电池充电模式,显示电池图标。而如果在Fastboot模式下没有任何的USB连接,则会自动重启开机进入操作系统。因此,在第一次安装驱动时,可能由于插入电脑时已经接近自动重启时间(比如说25秒),无法判断出此时到底是USB电脑驱动连接还是USB充电,那么在安装驱动的过程中就会发生重启的情况。这种情况下最好在手机保持与电脑连接的情况下,打开控制面板-设备和打印机,找到Android设备,然后右键删除Android设备。接着保持数据线连接的情况下重启手机进入Fastboot模式,电脑会再次自动安装驱动。有意思的是,再次安装驱动之后,一般不会再出现自动关机现象,Fastboot模式将持续显示,除非是在充电器充电状态。我猜测经过一次驱动的安装连接,可能小米的Fastboot便自动调高优先级,这样无论是连接电脑还是未连接电脑,都会保持Fastboot状态。
而在这种情况下如何关机呢?
通常,在Fastboot模式下长按电源键十秒,可以重启手机进入操作系统,然后执行关机。但是如果我们无法进入系统,典型的比如“卡米”,又该怎么办呢?
小米论坛的资料几乎都显示答案是在Fastboot模式下长按电源键十秒或者同时长按音量上和关机键十秒,但是根据我的测试,这两种方法只能重启,而一旦卡米,就只能眼巴巴望着系统卡在那里,直到电池耗尽,或者等到刷机完成使手机正常开机进入系统,总之,必须让手机一直开着。但是我们如果一时无法刷机或者不希望手机一直开着耗电,看来只能关机了。但是怎么做呢?如果你看过上面的文字,就知道方法是:Fastboot模式下连接手机充电器,然后手机便会自动重启进入充电模式,此时如果要充电则保持充电器的连接,要关机只需断开充电器的连接。
为什么一定要安装使用ADB呢?看起来很麻烦、很难,我可以选择跳过吗?
在本文始发的2017年,我当时尚未接触、熟悉ADB,因此教程中也没有提到ADB。但是随着时间的流逝,我逐渐发现ADB是必须的步骤,所以在后续的更新修订中专门添加了这一环节。
究其原因,手机在Fastboot下是无法显示任何信息的,而电脑同样不会显示。我们都知道,成功连接电脑是刷机最重要的一步,但是我们无法直接查看手机连接的状态,该怎么办呢?这个时候,ADB就派上用场了,它能直接告诉我们手机在Fastboot下是否成功连接了电脑。
ADB其实就是Google为安卓手机提供的连接电脑的开发者工具和shell环境,主要面向安卓手机开发者和高级用户。但是对于一般用户而言,也是一个比较使用的工具,如果你经常看一些关于安卓手机的教程,经常会出现ADB这个工具的身影。
对于刷机而言,ADB只需要先成功安装,然后执行“fastboot devices”这一条命令,而且完全不需要管理员权限。因此,这项操作是非常简单、无痛的。如果你有过使用CMD的经验更好,没有也没关系,跟着本文所说的步骤操作就行,没提到的部分完全不必操作,这样就不会对手机和电脑产生任何的副作用。
如果我们不使用ADB,当然也可以按部就班地连接电脑,但是那样做的话,无异于摸着石头过河,万一连接不成功,根本不知道手机具体出现了什么问题。我们使用ADB命令,可以直接判断手机的连接状态,自然也就事半功倍了。因此,我将使用ADB确认手机连接状态设定为必须步骤。
为什么手机会出现未连接的问题?
主要问题就出在驱动上。
电脑能不能识别手机这个设备应当由USB驱动去实现,所以必须正确安装好Google官方USB驱动。
而ADB命令、MiFlash能不能识别设备则由Android ADB Interface或者Android Bootloader Interface来实现,需要在电脑上手动指定你的手机使用Android ADB Interface或者Android Bootloader Interface。而且版本要正确,兼容性要高。
MiFlash和MiPhone是什么?有什么不同?为什么更建议用MiFlash?
MiFlash和MiPhone都是小米官方出品的刷机工具包,提供驱动和刷机执行工具。MiFlash在MIUI全球官网上(http://en.miui.com/a-234.html,点击左侧Fastboot Update)作为指定刷机工具提供,而MiPhone则在MIUI国内官网上(http://www.miui.com/shuaji-393.html,点击左侧通过线刷升级)作为指定刷机工具提供。之所以选择MiFlash而不是MiPhone不是因为一个对应国际版一个对应国内版,而是因为:
两者都是功能相同的刷机工具,根本上来说是一样的,同时支持国际版和国内版的刷入。不同之处在于MiFlash制作精良,能够进行卸载和修复操作,而MiPhone则没有卸载程序。MiFlash自带的刷机执行工具是最新的2016.08.30版本,而MiPhone的自带刷机执行工具是2015.10.28版本。两者都存在差不多的bug,但是2016.08.30版本界面更美观一些。因此综合来说,选择MiFlash是更好的方案。
MiFlash和MiPhone都需要.net framework 3.5的支持(也许未来的更新版本不再需要)。
线刷包文件夹是什么?线刷包文件夹不能带有空格是什么意思?为什么?
小米刷机工具不是针对某个具体的单独的包文件刷写的,而是去刷写解压后的资源,并且同时调用了文件夹中的刷机脚本,也就是说你必须把ROM资源解包和刷机脚本到文件夹级别,然后告知刷机执行工具文件夹路径,才能让刷机执行工具正常工作。
线刷包文件夹不能带有空格是什么意思呢?比如E:/MIUI ROM/MIUI 8/xiaomi 5/MIUI8.0.3.0_Global_xiaomi5,这样的路径是不可以的,必须改为E:/MIUIROM/MIUI8/xiaomi5/MIUI8.0.3.0_Global_xiaomi5,也就是去除每个文件夹的空格。这个是刷机执行工具程序的一个bug,当初编写时没有考虑到这个问题。保险起见,不使用中文目录会更好。
特别鸣谢
http://www.leeon.me/a/miflash-with-xiaomi-2s-bug 在我第一次刷机因为无法连接电脑绝望无助的时候,是这篇文章给了我希望,我在此表示衷心的感谢。
同时感谢Google提供的优质搜索结果,没有Google,我不会看到上述文章,也不会有这篇文章。
最后感谢小米公司,因为小米手机的工程模式和刷机工具是我用过的最山寨的,让我为此花费十多个小时,学习到很多宝贵的知识和经验教训,也将这份经验分享给了更多的人。
看完了你的博客,这个年代认真写博客的人不多了,
每个认真生活工作的人,都值得被赞扬。谢谢。
LikeLike