小米手机MTK机型底层刷机救砖方法

此方法和高通 9008 模式刷机类似,也是绕开限制利用底层机制刷机(通过禁用 BootROM 保护,绕过 SP Flash Tool 身份验证强刷),适合救砖使用(即手机黑屏完全无反应,甚至连 Fastboot 都进不了,或者能进但刷不了,送售后要换手机主板那种)。

除了小米 MTK 机型,其他品牌手机只要 SoC 型号支持这种方法也适用。以下是已有成功案例的手机型号。

手机厂商 手机型号
小米 小米Play、红米6 / 6A、红米9A / 9C / 9、红米Note8 Pro、红米Note9、红米K30至尊纪念版
OPPO A31、A5s、A8、A1k、A11k、A12、A12s
VIVO Y17、Y12、Y3SK
华为 华为Y5 / Y5 Lite / Y5 Prime、荣耀7S / 7A / 7A Prime
魅族 Meizu M2
Realme 3、C2、C2S、C3、6、6I (印度版)、6S、Narzo、C11
诺基亚 Nokia 3

在操作前,最好关闭防火墙等安全软件,避免潜在干扰影响。另外,检查手机数据线是否可以稳定连接电脑,确保手机有足够电量,不然刷到半路意外中断就无解了。如果电脑有 USB 2.0 端口,优先使用。

最后,此方法只应作最后选项使用,刷机有风险(手机彻底砖化,数据丢失等),需自行判断和承担其中风险,务必谨慎操作。

下载匹配机型线刷包

下载原版 ROM 线刷包(建议选择之前手机上正常使用的版本),用 WinRAR 解压备用。

安装 Python

下载 Python 3.9 稳定版(Windows 7 则用 Python 3.8 版本)。如果是 32 位系统,点击此链接前往下载相应版本。

运行 Python 安装程序,勾选下方选项“Add Python 3.9 to PATH”,然后点击“Install Now”,等待安装完成。

安装 Python
安装 Python 时勾选“Add Python 3.9 to PATH”

安装 MediaTek VCOM 驱动

MediaTek VCOM 驱动下载及安装方法请参考之前文章

安装驱动后,将手机连接电脑一次(关机状态下长按音量上键+音量下键+开机键 10 秒,有的机型则是长按手机音量上键+开机键),观察电脑设备管理器里是否能刷新显示设备,能识别就说明驱动可以使用(设备会在几秒自动断开,这是正常现象),之后断开手机数据线连接。

安装 libusb-win32 驱动

下载 libusb-win32,在安装前关闭正在使用 USB 设备的软件(如果有)。

安装流程先同意软件协议,一路点“Next”,最后勾选“Launch filter installer wizard”点击“Finish”。

安装 libusb-win32
安装 libusb-win32 后勾选“Launch filter installer wizard”

在弹出窗口选择“Install a device filter”,点击“Next”。

Install a device filte
选择“Install a device filter”,点击“Next”

来到设备选择窗口后,将手机连接到电脑(关机状态下长按音量上键+音量下键+开机键 10 秒,有的机型则是长按手机音量上键+开机键),待设备列表显示“Mediatek USB Port”后快速选中并点击下方“Install”按钮(此过程需眼明手快,因为手机会在几秒自动断开)。

刷新选中“Mediatek USB Port”安装
刷新选中“Mediatek USB Port”安装
“Mediatek USB Port”安装成功提示
“Mediatek USB Port”安装成功提示

安装完成后关闭 libusb-win32 窗口,并断开手机数据线连接。

运行 Bypass Utility

下载 Bypass UtilityExploits Collection 分别解压缩(路径不要有中文),将 Exploits Collection 解压的文件移动到 Bypass Utility 文件夹内,最终文件结构见下图(同名的 README.md 文件可不移动,或者覆盖掉)。

点击 Bypass Utility 解压文件夹地址栏,输入 cmd 回车打开命令行窗口。

在地址栏输入 cmd 打开命令行窗口
在 Bypass Utility 文件夹地址栏输入 cmd 打开命令行窗口

运行下面命令安装所需的 Python 依赖项。

pip install pyusb pyserial json5

再用下面命令运行 Bypass Utility(作用是禁用 BootROM 保护,这是后面能强刷的关键)。待窗口显示“Waiting for device”时将手机连接到电脑(关机状态下长按音量上键+音量下键+开机键 10 秒,有的机型则是长按手机音量上键+开机键),识别手机后会自动运行操作,完成后提示“Protection disabled”就说明成功了。

python main.py

这时不要断开手机连接,记主设备端口号(位置见下图)。

运行 Bypass Utility 禁用 BootROM 保护
运行 Bypass Utility 禁用 BootROM 保护(DAA 和 SLA)

运行 SP Flash Tool 救砖

下载安装 MiFlash Pro(建议用最新版)。运行软件后会提示登录小米账号(不登也可以),点击导航菜单“SP_Flash刷机”。

点击 SP Flash Tool 菜单栏“Options”-> “Option…”,完成以下选项设置。

将 SP Flash Tool 语言设置为中文
将软件语言设置为中文
将连接设置为“UART”,选择手机设备串口,波特率调整为“921600”
选择手机设备串口,波特率调整为“921600”
勾选 DA 下载校验和设定里的“USB 校验和”与“存储器校验和”
勾选“USB 校验和”和“存储器校验和”

然后在 SP Flash Tool 主界面设置“下载 DA”和“配置文件”,文件选择路径如下。

  • “下载 DA”在 SP Flash Tool 软件目录下选择(点击会自动定位到该目录),文件名类似 DA_6765_6785_6768_6873_6885_6853.bin
  • “配置文件”在之前解压的线刷包 images 目录下选择,文件名类似 MT6885_Android_scatter.txt

之后确认选择的“下载”模式,点击“下载”图标就可以开始刷机救砖了(注意刷完后会清除手机数据)。

SP Flash Tool 刷机救砖图解
SP Flash Tool 刷机救砖图解

出现绿色对勾图标窗口就说明刷完了,这时断开连接长按手机开机键 10 秒就可以开机了。

SP Flash Tool 刷机救砖完成
SP Flash Tool 刷机救砖完成

如果点击刷机遇到错误,可以先断开连接,长按手机开机键 10 秒重启,然后重新用组合键连接到电脑尝试。

如果还是报错,可对应查看这个 SP Flash Tool 常见错误解答

评论列表

  1. #23

    感谢教程,爸爸的红米9救砖成功(虽然数据都没了……)

  2. #22

    大佬, 红米5a, 晓龙425, 这个能强刷吗?

    1. 这个是联发科方法哦,高通可以找下9008刷机。

      1. 多谢大佬, 9008可以

  3. #21

    下载时速度很慢,最后直接网络问题无法下载,是被墙了吗?

    1. 可以尝试用迅雷下载,会好一些。

  4. #20

    大佬有9008教程吗

    1. 没有设备测试哦,请网上找下,应该有。

  5. #19

    ERROR: Exception:
    Traceback (most recent call last):

    raise ValueError(“check_hostname requires server_hostname”) ValueError: check_hostname requires server_hostname

    1. 这是驱动问题吗

    2. 不清楚,网上搜下报错看有没有资料参考。

  6. #18

    1,这一步成功待窗口显示“Waiting for device”
    2,这一步失败手机没有反应:将手机连接到电脑(关机状态下长按音量上键+音量下键+开机键 10 秒,有的机型则是长按手机音量上键+开机键),识别手机后会自动运行操作,完成后提示“Protection disabled”就说明成功了。
    这么办,有没有realme q2的方法

    1. 不清楚该问题,只能建议检查驱动或更换USB数据线/端口尝试。

      1. 作者可以把reamle 的方法给我?
        我看你说明了reamle成功了
        我感觉我得也可以成功
        就要那个main.py的代码给我
        realme 的main.py方法

        1. 这是老外弄的,文中有项目链接。应该不区分机型(需要芯片组型号支持),作者主页有列出其它机型成功案例。

          1. 请问下红米K50pro 国行,MTK芯片的,能改nv值或者删除policyman吗

          2. 抱歉,这个不清楚。

    2. 有反应了,但是显示报错
      我得是realme q2手机
      这个代码应该只能用小米手机,请作者把realme q2.main.py代码给我

      非常感谢
      [2022-10-06 18:47:17.446240] Waiting for device
      [2022-10-06 18:47:56.376414] Found port = COM6
      Traceback (most recent call last):
      File “E:\bypass_utility-v.1.4.2\main.py”, line 213, in
      main()
      File “E:\bypass_utility-v.1.4.2\main.py”, line 44, in main
      config, serial_link_authorization, download_agent_authorization, hw_code = get_device_info(device, arguments)
      File “E:\bypass_utility-v.1.4.2\main.py”, line 153, in get_device_info
      raise e
      File “E:\bypass_utility-v.1.4.2\main.py”, line 146, in get_device_info
      config = Config().default(hw_code)
      File “E:\bypass_utility-v.1.4.2\src\config.py”, line 15, in default
      self.from_file(config, hw_code)
      File “E:\bypass_utility-v.1.4.2\src\config.py”, line 28, in from_file
      raise NotImplementedError(“Can’t find {} hw_code in config”.format(hw_code))
      NotImplementedError: Can’t find 0x996 hw_code in config

      1. 这有一些工具你可以试试https://www.123pan.com/s/4Mh9-Jhn4h

  7. #17

    verified boot is enabled

    1. 把fastboot刷进入了,再一键解BL锁,然后正常刷系统,成功开机了

  8. #16

    红米50pro支持吗

    1. 新机估计不行,取决soc型号是否支持。

  9. #15

    nv数据已损坏,怎么办?

    1. 可先试下在rec清除数据,然后刷高于出厂版本线刷包。

      1. 没有高于出场设置的线刷包,怎么办?

        1. 最新版就高于哦。如果没用,只能求助售后了。

  10. #14

    DA选择不了怎么办
    LIB DA not match, please re-select DA or ask for help 显示这段

    1. 请检查刷机包是否匹配机型,以及手机芯片组是否在Bypass Utility支持范围。

  11. #13

    C:\Users\WANG\Downloads\bypass_utility-v.1.4.2\bypass_utility-v.1.4.2>python main.py
    [2022-07-20 18:06:27.220277] Waiting for device
    [2022-07-20 18:06:44.372315] Found port = COM5
    Traceback (most recent call last):
    File “C:\Users\WANG\Downloads\bypass_utility-v.1.4.2\bypass_utility-v.1.4.2\main.py”, line 213, in
    main()
    File “C:\Users\WANG\Downloads\bypass_utility-v.1.4.2\bypass_utility-v.1.4.2\main.py”, line 44, in main
    config, serial_link_authorization, download_agent_authorization, hw_code = get_device_info(device, arguments)
    File “C:\Users\WANG\Downloads\bypass_utility-v.1.4.2\bypass_utility-v.1.4.2\main.py”, line 153, in get_device_info
    raise e
    File “C:\Users\WANG\Downloads\bypass_utility-v.1.4.2\bypass_utility-v.1.4.2\main.py”, line 146, in get_device_info
    config = Config().default(hw_code)
    File “C:\Users\WANG\Downloads\bypass_utility-v.1.4.2\bypass_utility-v.1.4.2\src\config.py”, line 15, in default
    self.from_file(config, hw_code)
    File “C:\Users\WANG\Downloads\bypass_utility-v.1.4.2\bypass_utility-v.1.4.2\src\config.py”, line 28, in from_file
    raise NotImplementedError(“Can’t find {} hw_code in config”.format(hw_code))
    NotImplementedError: Can’t find 0x1172 hw_code in config

    这是怎么回事呢

    1. 可能前面的驱动安装有问题,具体不清楚。

    2. 兄弟我和你一样的情况,不知道这么办

      1. +1我也是
        soc是天玑8100 会不会太新了

        1. 哎卡这里不知道怎么办

          1. 可以试一下miflashpro里带的SPflash,那里面有auth文件,应该不用解锁

    3. 兄弟加一下QQ,解决了帮帮我

  12. #12

    你好,请问出现状态分机内存异常该怎么解决

    1. 抱歉,没有遇过这个问题。

  13. #11

    一点下载就出现ERROR:STATUS_ERR(0XC0010001)
    小米9开发版刷不上怎么回事,显示更新包验证失败,无法卡刷到该版本

    1. 这个方法只适合联发科部分机型哦,高通机型底刷用9008模式。

  14. #10

    刷好了,可是fastboot变了,不是米兔,就是普通的fastboot;现在的fastboot模式完全连不上电脑,驱动也都安好了,所以是为啥?

    1. 好吧,驱动根本安不好,可以进fastboot但是无法连接电脑,绑定账号提示硬件损坏或刷机,无法绑定账号,无法使用数据网络

      1. 新版本fastboot界面变了,是黄色字体,没有了维修兔。数据不能用,可能persist分区损坏。

        1. Redmi9官方包深刷,可以进fastboot但是无法连接电脑,绑定账号提示硬件损坏或刷机,无法绑定账号,数据网络使用异常(上网慢),WiFi正常。啊…这…这可咋办?

          1. 可能刷写persist分区有用,但mtk的没有试过。

  15. #9

    E:\bypass_utility-v.1.4.2>python main.py
    [2022-07-05 20:40:31.522415] Waiting for device
    [2022-07-05 20:40:46.943945] Found port = COM3

    [2022-07-05 20:40:47.012616] Device hw code: 0x886
    [2022-07-05 20:40:47.014620] Device hw sub code: 0x8a00
    [2022-07-05 20:40:47.015620] Device hw version: 0xca00
    [2022-07-05 20:40:47.016619] Device sw version: 0x0
    [2022-07-05 20:40:47.016619] Device secure boot: True
    [2022-07-05 20:40:47.017619] Device serial link authorization: True
    [2022-07-05 20:40:47.018620] Device download agent authorization: True

    [2022-07-05 20:40:47.020621] Disabling watchdog timer
    [2022-07-05 20:40:47.022619] Disabling protection
    Traceback (most recent call last):
    File “E:\bypass_utility-v.1.4.2\src\exploit.py”, line 36, in exploit
    udev._ctx.managed_claim_interface = lambda *args, **kwargs: None
    AttributeError: ‘NoneType’ object has no attribute ‘_ctx’

    The above exception was the direct cause of the following exception:

    Traceback (most recent call last):
    File “E:\bypass_utility-v.1.4.2\main.py”, line 213, in
    main()
    File “E:\bypass_utility-v.1.4.2\main.py”, line 58, in main
    result = exploit(device, config.watchdog_address, config.payload_address, config.var_0, config.var_1, payload)
    File “E:\bypass_utility-v.1.4.2\src\exploit.py”, line 38, in exploit
    raise RuntimeError(“libusb is not installed for port {}”.format(device.dev.port)) from e
    RuntimeError: libusb is not installed for port COM3

    这什么问题?

    1. 看样子是libusb驱动没安好。

  16. #8

    Bypass Utility
    Exploits Collection
    这两个下载不到,我的是红米pro合适使用吗?
    我现在的情况是手机进入不了任何模式
    开机只有震动一下,屏幕黑色的
    然后手机每十秒左右吧,会震动一次,长按关机也强制不了关机停止震动,只有拔了电池排线,才能停止。
    连接电脑手机就会自动开始十秒一个震动,不管是否按开机键
    手机震动那一秒多,电脑设备管理器可以识别到手机,然后消失。每次震动都可以识别一秒多,不断重复

    1. github访问间歇性抽风,可多试几次,或换其他网络下载。
      红米pro标准版支持(Helio X20/MT6797),高配和尊享版不支持(Helio X25/MT6797T)
      只能说可以试试吧,死马当活马医。

      1. 搞累了,花了50去手机店高了,害🌝

    2. 我更惨,开机第一屏无限重启,fastboot也无了,还有个报错

  17. #7

    如果按键插入不行,需要拆手机后壳,然后断开电池排线后,按键插入
    https://blog.csdn.net/a394116741/article/details/121332881 SP刷机错误信息

    1. 感谢补充!

  18. #6

    按键插入 按键插入 按键插入 一定要按键插入,否则是不会成功的,哭~~~~~

  19. #5

    如果像是天玑1100这个MT6893找不到对应的DA肿么办

    1. 检查miflash用的是否最新版,不过这个SoC型号目前不在支持列表,可能用不了这个强刷方法。

    2. 有的,刷机包里边有

  20. #4

    我k30U深刷模式进不了怎么办

    1. 如果反复测试不行,则只能送售后处理了。

      1. 0Xc0060001错误咋办

        1. 可以截图下吗?发邮箱,页面底部有地址。

  21. #3

    请问红米10x支持这种方式救砖吗?

    1. 从支持SoC型号列表来看,5G和Pro版不支持,4G不确定,可能也不行,

      1. 那我的手机进不去fastboot和recovery,该怎么办呢
        我已经按照文章中说的做了,驱动都装好了,就是最后一步DA配置错误,无法继续下去了

        1. 建议还是送售后处理,文中这个方法要SoC型号支持才有用(5G和Pro版MT6875,4G版HelioG85,这些没有支持列表列出)。

          1. 好的,谢谢了

    2. 可以
      我自己试过

  22. #2

    红米note2移动版,mt6795,usb连接反复连上断开,黑屏,充电呼吸灯亮一段时间熄灭,本身电池没电。spflashtool无法改端口com,没拔数据线,只能改波特率。这是cmd解bootrom时的结果,Found port = COM8

    [2022-01-01 10:56:19.637244] Device hw code: 0x6795
    [2022-01-01 10:56:19.638774] Device hw sub code: 0x8a00
    [2022-01-01 10:56:19.638774] Device hw version: 0xca00
    [2022-01-01 10:56:19.638774] Device sw version: 0x0
    [2022-01-01 10:56:19.638774] Device secure boot: False
    [2022-01-01 10:56:19.638774] Device serial link authorization: False
    [2022-01-01 10:56:19.638774] Device download agent authorization: False

    [2022-01-01 10:56:19.638774] Disabling watchdog timer
    [2022-01-01 10:56:19.691926] Insecure device, sending payload using send_da
    [2022-01-01 10:56:19.707140] Found send_dword, dumping bootrom to bootrom_6795.bin

    1. 下载 Bypass Utility 和 Exploits Collection 分别解压缩(路径不要有中文),将 Exploits Collection 解压的文件移动到 Bypass Utility 文件夹内,最终文件结构见下图(同名的 README.md 文件可不移动,或者覆盖掉),,,,,,可覆盖还是不可,不明白

    2. 或许可以试下直接用miflash刷,部分老机型没有bl锁。
      README.md那个文件不影响,不移动它或移动覆盖目标文件夹下同名文件都可以。

      1. 站里的线刷包能直接用吧,要不要下救砖包

        1. 通常救砖包也就指线刷包,解压后miflash直接选择使用。

          1. 这手机好像fastboot进不了,主要是屏幕不亮

          2. 哦,那是没法直接刷了。文中方法不确定是否适合您机型使用,网上未找到这个机型的成功案例。

          3. 主要是usb老是跳掉

          4. 充电小板昨天换过,应该不是接触不良的问题,数据线也可以给别的手机用

      2. 谢谢啊,我小白

        1. 不客气,不知这样是否有用,之前用过一个红米2移动版,那时是没有bl锁,可以顺便刷的。

      3. 您文中提到,原方法文章里提到mt6795应该是支持的,抱歉打扰您了,新年快乐

        1. 同乐!希望对您有用。

  23. #1

    我怎么刷不了

    1. 请提供问题详情。

      1. 我的是红米k30至尊版,一直稳定不了深刷模式。

        1. 在操作libusb-win32步骤前确认电脑能否正确识别COM3设备。
          另外有时退出重新进入深刷模式有奇效。

发表评论

电邮地址用于 Gravatar 头像显示,不会被公开可见。