文章目录
  1. 1. 准备工作
  2. 2. 刷机类型
  3. 3. 进阶篇
    1. 3.1. 分区
    2. 3.2. 线刷Recovery
    3. 3.3. 安装新系统
    4. 3.4. 补救措施
    5. 3.5. 参考资料

准备工作

对小米进行刷机可能需要准备的工具有:
MiFlash.exe,Android SDK Tools(adb, fastboot), 刷机包。

另外需要知道的一些知识有:

  1. 如何进入Recovery模式:
    1. 关机状态下同时按下电源键和音量“+”键,直到出现小米开机屏幕,松开按钮。
    2. 开机状态下,打开“系统升级”程序,按下“菜单键”,选择“重启到Recovery”即可。
  2. 如何进入Fastboot模式: 关机状态下,同时按下电源键,音量”+“键和照相键即可(注意,进入Fastboot模式后,只能拔下电池来退出!),此时不能连接电脑,否则无法进入。
  3. 使用adb连接手机:
    1. 在手机上打开“开发者选项”
    2. 下载Android SDK Tools,并进入该文件夹
    3. 打开cmd窗口,输入adb shell (Linux下,类似./adb shell)

刷机类型

小米有两种刷机类型:卡刷和线刷。
细分可以有如下几种:

  1. OTN升级,这个很简单,打开“系统升级”程序,然后自动升级即可
  2. 如果您长时间不更新,或者其他原因无法进行OTN升级,则可以使用卡刷, 卡刷的方法就是,下载好卡刷包,然后有如下两种方式进行卡刷:
    1. 开机状态下,打开”系统升级“程序,按下“菜单键”,选择“安装zip文件”,然后选择下载好的刷机包。
    2. 进入Recovery模式,选择安装zip文件(根据个人Recovery不同,会有不同的界面)。
  3. 最后还有一种方式,就是线刷,线刷是比卡刷更为底层的刷机方式。
    • 下载MiFlash程序,线刷包(线刷包是一个exe后缀名的自解压程序,双击会自己解压缩)
    • 打开MiFlash,选择线刷包
    • 关闭手机,进入Fastboot模式,并连接电脑。
    • 按刷新按钮,当出现了自己的device后,点击刷机按钮,成功!

进阶篇

上述的刷机方法对小米自己的刷机包没有任何问题,但是如果想刷入4.4的系统,则会失败!原因是小米手机采用了双系统分区的方式,每个系统分区都只有210MB左右,这在Android2.3时代是够用的,但是Android4.4时代则完全不够用(自己刷入gapp的童鞋应该有过体会)。因此再刷机之前我们需要先重新分区。

分区

关于分区,网上有很多资料,还有一个很不错的excel表格,用来计算分区大小
注意!! 想要分区的同志一定要记住,如果自己的手机是MIUI V5的系统,需要先刷回V4的系统,否则在关机状态下,使用adb连接手机会出现下面的错误:

adb authenntication

大致意思是,你需要在由于身份验证问题,你需要再屏幕上点击确定来继续调试,我想知道,我再关机的情况下,哪来的对话框啊!!!

  1. 关机,使用adb连接手机,并进入shell(见上)
  2. 如果你打开的shell窗口不是root身份(提示符是“$”, 而不是“#”则说明不是root身份),输入su进入root身份
  3. 输入fdisk /dev/block/mmcblk0,如果提示没有fdisk程序,则开机安装busybox程序,然后重复上述步骤,并输入busybox fdisk /dev/block/mmcblk0
  4. 使用d删除分区,n新建分区,记得自己计算好分区大小,另外,分区数目必须一致!有一个excel表格可以用来计算分区大小。
    删除15-20号分区,然后新建,分区大小随自己喜欢,但是第17号分区一般都会分配10M的大小。另外,下一个分区的起始位置应该等于上一个分区结束位置+2。
  5. 使用t来修改第17号分区的类型,修改为60。
  6. 检查一下自己的分区表,输入w保存。

分区成功!

线刷Recovery

分区完成后,只有第一个system分区的内容未变,因此我们需要重新刷入Recovery,方法如下:
进入Fastboot模式,输入fastboot flash recovery /path/to/your/recovery/img即可

安装新系统

进入Recovery模式,三清后,直接安装zip文件即可。
注意!一定要三清,否则系统的安装会有一些,奇怪的错误,我的错误是无法使用Home键,还有一系列奇怪的错误。
P.S. 有人说可以线刷,但是我一直失败。 P.S. 如果想要线刷,请打开flash_all.bat文件,删除含有"system1"和"boot1"的行,然后再刷。

补救措施

如果手机刷机失败了,成砖了,怎么办?没问题,只要可以进入Fastboot模式,依旧可以救回来!!!

进入Fastboot模式,输入fastboot boot /path/to/your/recovery/img,这个时候会进入Recovery模式,然后连接电脑,使用adb连接手机,进入shell查看自己的分区表是否正常,大部分的错误都在这上面。

如果……你像我一样,在V5的系统上面,开机状态下直接残暴的分区,你会发现分区变了,但是系统没有变化……但是无法线刷,会报如下错误:

remote: size too large

你可以:
下载一个V4的线刷包,找到system.img文件
进入Fastboot模式,fastboot flash system /path/to/your/system/img,如果不满意,可以顺便把recovery也flash一下。然后就进入了V4系统。

参考资料

感谢网上的许多资料,特别是MIUI论坛上的人。
分区方法: http://www.miui.com/thread-957530-1-1.html]
分区表格: http://pan.baidu.com/share/link?shareid=441785&uk=2114739149
刷机失败,恢复方法: http://www.miui.com/thread-1017815-1-1.html

文章目录
  1. 1. 准备工作
  2. 2. 刷机类型
  3. 3. 进阶篇
    1. 3.1. 分区
    2. 3.2. 线刷Recovery
    3. 3.3. 安装新系统
    4. 3.4. 补救措施
    5. 3.5. 参考资料