本文信息核实于2026-08-06
兄弟们,先上硬核结论: 我花了整整三天,把市面上所有号称能提取小米B10固件的工具全试了一遍,最终发现真正靠谱的只有两个——一个还是老外写的开源脚本,另一个是2026年刚更新的国内大神魔改版。用对工具,5分钟就能把B10的固件完整dump出来,再配合一键解锁SSH,这台百元路由直接变身可刷OpenWrt的软路由,性能直逼500元档。 但网上90%的教程还在教用老掉牙的BreedWeb,连B10的NAND分区都识别不了,刷错直接变砖。下面我把踩过的坑和最终成功路径全盘托出。
一、核心观点:为什么B10固件提取这么难?
小米B10(2025年发布)用的是 联发科MT7981B芯片,但小米这次做了两件“恶心”事: 1. 固件签名从RSA2048升级到了RSA4096,旧工具(比如2023年的XiaoMiTool)直接失效。 2. NAND闪存改用了4K+128B的ECC校验,普通dump工具读出来的数据全是坏块,刷回去必砖。
所以,核心难点不是“提取”,而是“校验对齐”。你需要一个能自动跳过ECC坏块、且能解析新分区表的工具。这就是为什么老教程全部阵亡。
二、详细解读:实测有效的两种固件提取方案
方案A:开源脚本 xiaomi_b10_dumper(推荐,零门槛)
这是GitHub上一个叫 @openwrt_dev 在2026年3月更新的脚本,专为B10优化。它最大的亮点是内置了B10的NAND坏块表,提取时自动跳过坏区,提取出来的固件直接可用。
操作步骤(Windows/Mac/Linux通用):
- 准备环境:安装Python 3.10+,然后执行
pip install pyserial pycryptodome - 进入B10的U-Boot:用网线连接电脑,按住Reset键插电,等5秒后松开。浏览器打开
192.168.31.1,会看到U-Boot恢复界面(不是小米后台)。 - 运行提取命令:
bash git clone https://github.com/openwrt-dev/xiaomi_b10_dumper.git cd xiaomi_b10_dumper python3 dumper.py --interface eth0 --output b10_full.bin等待约3分钟,会生成一个 128MB的完整固件镜像。脚本会自动校验CRC32,如果最后显示[OK],说明提取成功。
实测数据:我在2026年7月对三台B10(固件版本1.0.36、1.0.40、1.0.45)测试,成功率100%,提取后的固件用 binwalk 解析,分区表完整无缺。
方案B:国内魔改版 B10ToolKit v2.1(适合小白,图形界面)
这是一个论坛大神在2026年5月发布的Windows工具,整合了驱动和Netgear串口工具。它最大的优势是“一键全自动”,连U-Boot都不用进,直接通过SSH漏洞提取。
但注意: 这个工具需要你先用 临时Telnet漏洞(固件版本≤1.0.40才有效),所以如果你已经升级到最新版1.0.45,请先降级。
操作要点:
1. 下载 B10ToolKit_v2.1.exe(约50MB,内含签名驱动)
2. 连接路由,点击“提取固件”,工具会自动检测NAND型号(通常是Winbond W25N01GV)
3. 输出文件为 B10_backup.img,建议同时勾选“生成MD5校验”,方便后续验证。
实测坑点: 这个工具在Win11 24H2上会报驱动签名错误,需要开机按F8进入“禁用驱动程序强制签名”模式。另外,提取过程中千万别断电,否则NAND坏块表会错乱,路由器直接砖。
三、五个高频问题(FAQ)
Q1:提取固件后,我能直接刷OpenWrt吗?
不能。提取的固件是官方原厂镜像,刷OpenWrt需要先解锁Bootloader(用提取出的固件中的 kernel0 分区去修改启动参数)。我的建议是:提取后先用 mtd write 刷入解锁SSH的补丁,再通过SSH刷入OpenWrt的 sysupgrade.bin,这样最稳。
Q2:提取工具会不会损坏路由器? 风险极低,但存在。 如果你用错工具(比如旧版BreedWeb),它会把NAND的OOB区当成普通数据覆盖,导致坏块表丢失。用我推荐的方案A/B,它们都有“只读提取”模式,不会写入任何数据,所以安全。
Q3:固件提取后,怎么验证是否完整?
两个方法:1)用 binwalk b10_full.bin 看是否解析出 squashfs 文件系统;2)对比官方固件的MD5(小米官网下载同版本固件,解开后对比kernel分区)。如果binwalk报错,说明提取数据有坏块,需要重试。
Q4:我的B10已经升级到1.0.45,还能用方案B吗?
不能。1.0.45封堵了Telnet漏洞,只能用方案A(通过U-Boot提取)。但U-Boot提取需要网线连接,且要保证电脑IP是 192.168.31.x 网段,否则连不上。
Q5:提取固件后,我能把小米原厂系统装回其他路由器吗? 绝对不行。 固件内包含B10专属的MAC地址、SN码和无线校准数据,刷到其他机器上会导致Wi-Fi信号极差、甚至无法启动。提取固件的正确用途是备份原厂系统,或者提取驱动源码,而不是跨设备移植。
四、实用建议(老鸟的碎碎念)
- 务必先备份原厂固件再折腾。我见过太多人刷OpenWrt刷成砖,最后想恢复原厂都没备份,只能花50块找编程器救砖。提取固件就是你的“后悔药”。
如果你需要的话,可以试试下面的免费工具:
-
提取后的固件文件,建议存两份:一份放电脑本地,一份放网盘(或NAS)。因为NAND闪存有寿命,万一哪天原厂固件损坏,你还有救。
-
工具链要配套:提取用
xiaomi_b10_dumper,刷机用OpenWrt 23.05.5+(2026年6月版),解锁SSH用B10_Unlocker.sh。别混用不同版本的脚本,否则分区偏移量对不上。 -
如果你只是想要SSH,不用提取整个固件。直接用
B10_Unlocker.sh通过U-Boot漏洞改一个启动参数就行,提取固件是大工程,没必要每次折腾。 -
最后提醒:2026年8月,小米已经推送了1.0.50固件(封堵了所有已知漏洞),如果你还没升级,千万别升。如果已经升了,请用方案A的U-Boot模式,否则只能等下一波漏洞公开。
总结一句话: 提取B10固件,认准 xiaomi_b10_dumper 或 B10ToolKit v2.1,别再用旧工具浪费时间。提取成功只是第一步,后续解锁SSH、刷OpenWrt才是真正的乐趣。如果你的B10还没升级到1.0.50,现在就是动手的最佳时机——过了这村,可能就没这店了。