HsOjo’s Blog

📒 A powerless rookie's tree hole.

小米笔记本 Pro GTX BIOS 修复

2023-09-2900 分钟
type
status
date
slug
summary
tags
category
icon
password

前言

最近忽然心血来潮,掏出了吃灰已久的小米Pro,倒腾黑果;但不幸的是,BIOS 在折腾的过程中损坏了。

准备工作

  • CH341A/NeoProgrammer
    • CH341A 可以到某宝自行购入,需要带转接卡及烧录夹
    • 价格参考:18 RMB(可能更便宜

获取 BIOS 二进制文件

  • 下载 InsydeImageExtractorTM1707 BIOS
  • 在虚拟机运行TM1707 BIOS可执行文件,会出现报错,但不要点击确认
  • 打开任务管理器并找到H2OFFT-Wx64.exe进程,并打开文件所在的位置
  • 找到目录下的XMAKB5RRP0C05.fd文件,然后使用InsydeImageExtractor对文件进行转换
以下是InsydeImageExtractor的帮助信息。
  • 参考以上信息可知,执行extractor XMAKB5RRP0C05.fd XMAKB5RRP0C05.bin,即可得到可烧录的二进制文件

组装 CH341A

具体操作可以参考知乎文章

上夹子 嘤嘤嘤

  • 开始操作之前首先把电池连接断开!
  • 怎么夹
    • notion image
  • 夹好的参考
    • notion image
      notion image

刷入 BIOS

  • 注意:根据这个方法刷入BIOS,将会丢失设备序列号信息
不过既然机子都废了,序列号已经无所谓了,估计是与擦除IC的步骤有关;如果需要保留序列号,可以对新旧BIOS文件进行二进制比对,找到关于设备序列号的差异部分进行修改即可。
  • 接入 CH341A 并 启动 NeoProgrammer
  1. 对原始BIOS进行备份
      • 点击“读取IC”按钮
      • 将读取后的二进制文件保存即可
  1. 擦除原始BIOS(不擦除会导致CRC校验不一致
      • 点击“擦除IC”按钮
  1. 写入并校验BIOS
      • 在“写入/编程IC”项选中校验
      • 点击“写入/编程IC”按钮
Tips:写入完之后第一次开机时间会比较长,会触发一次重启,并清空以前的BIOS设置。

后记:为什么我会倒腾坏BIOS

因为我使用了 TM1701DVMT设置脚本,即DVMT_set.cmd
尽管 README 中已提及仅支持 MX150 机型,但是记得以前有进行过同样的操作但BIOS并未造成损坏,而且重要数据并没有保存于这台机器,所以就放开折腾了。
经过验证,已知下列脚本在 TM1707 可用,并不会造成损坏:
  • bios_unlock.cmd
  • CFG_unlock.cmd
  • speedshift_unlock.cmd
  • voltage_unlock.cmd
本人使用OC引导,确认AppleXcpmCfgLock取消后可以正常工作,也就是说至少CFG_unlock.cmd是可用的;可以通过在BIOS设置页按F9重置设置,验证以上脚本是否工作正常。
不过DVMT_set.cmd不行,原因应该是GTX机型相较于MX150机型在图形设置方面的地址有差异。 具体的BIOS修改逻辑可以在patchscript_dvmt.ps1中找到,不过分析BIOS是个复杂的工作我就不再深入了;
有兴趣的可以使用 UEFIToolUniversal IFR Extractor 进行深入分析。

下一篇

记 macOS 下 Electron GPU 不完整支持的解决方案

Loading...