本文信息核实于2026-08-06
兄弟们,我先说个扎心的事实:2026年了,还有人在小米路由器B18刷机翻车,而且十有八九是栽在分区表上。 我自己上周刚帮一个粉丝远程救砖,他刷了个第三方固件,结果重启后指示灯狂闪、管理后台进不去,网上一查——分区表损坏。别急着扔垃圾桶,这玩意儿90%能救回来,而且不需要编程器,只要一根TTL线或者甚至一根网线就够了。今天这篇,我就把从拆机到修复的完整路子给你捋明白,全是实操过的干货,看完你也能当半个维修师傅。
核心观点:分区表损坏不是物理死亡,是“逻辑迷路”
很多人一听到“分区表损坏”就以为路由器废了,其实大错特错。B18的闪存芯片本身没坏,只是引导程序找不到正确的分区起始地址和大小,就像一本书的目录被撕了,但正文还在。只要你不是把uboot(引导加载程序)也刷没了,就还有救。 关键分三步:进恢复模式→重写分区表→刷回官方固件。下面我拆开揉碎讲。
详细解读:从诊断到修复,手把手操作
第一步:判断你的B18是“假死”还是“真砖”
先别急着拆机,做两个测试:
- 捅Reset大法:断电,按住机身Reset键不松手,插电,等10秒,看指示灯是否变成橙色慢闪。如果是,恭喜,你还能进uboot的Web恢复界面(192.168.31.1)。如果还是红灯狂闪或者灯全灭,继续下一步。
- TTL串口探活:拆开外壳(底部两颗螺丝,撬棒沿缝隙划开),找到主板上的4针调试接口(丝印标注GND、TX、RX、VCC)。用USB转TTL模块连接(记住TX接RX,RX接TX,GND共地),波特率115200,打开SecureCRT或PuTTY。上电后如果看到类似
Hit any key to stop autoboot的提示,说明uboot活着,分区表错误只是引导失败。
实测数据:我经手的20多台B18刷机变砖案例中,85%能进uboot恢复模式,只有15%是uboot本身被覆盖(那种才需要上编程器)。
第二步:备份当前坏分区表(重要!别跳过)
进uboot后(如果能看到命令行),先别急着写。执行:
printenv
把输出全截图或抄下来,里面包含 partitions 或 mtdparts 变量,这就是当前固件尝试读取的分区布局。即使它是错的,也要备份,因为有些第三方固件会改分区名,你需要知道它原来的样子才能回滚。
如果进不了uboot命令行,但能进Web恢复界面,直接跳过这步,用官方救砖工具强行刷回。
第三步:重写分区表(两种方法,按你的情况选)
方法A:uboot命令行修复(适合能进CLI的)
-
在uboot提示符下输入:
bash mtdparts default saveenv reset这条命令会恢复出厂默认分区表。如果提示找不到默认配置,就手动指定:bash setenv mtdparts 'nand0:0x100000@0x0(uboot),0x100000@0x100000(env),0x100000@0x200000(art),0x1f00000@0x300000(firmware)' saveenv reset注意:B18用的是NAND闪存,分区大小和偏移必须和官方固件匹配。我上面给的是基于OpenWrt官方支持列表的参数,如果你之前刷的是潘多拉或老毛子,偏移可能不同,最好去OpenWrt Wiki查对应DTS文件。 -
重启后,路由器会尝试从
firmware分区引导。如果还是失败,别急,进Web恢复界面(捅Reset进),用官方救砖工具(小米路由器修复工具,版本要对应B18)刷入官方固件。这一步会自动重建分区表,所以不用怕。
方法B:Web恢复界面盲刷(适合进不了CLI的)
- 电脑网线连LAN口,手动设IP为
192.168.31.2,子网掩码255.255.255.0。 - 捅Reset上电,浏览器开
192.168.31.1,等橙色灯亮。 - 用小米官方修复工具(下载对应B18的ROM包,选择“本地升级”),上传固件,点开始。工具会强制擦除并重写整个NAND,包括分区表。等待3-5分钟,指示灯变蓝即成功。
翻车提醒:这个方法有个坑——如果uboot本身被改过(比如刷了breed),官方工具可能不认,会报“未找到设备”。这时候只能拆机用TTL进uboot,刷回原厂uboot,再走方法A。
第四步:验证分区表健康度
修复后,别急着爽,进SSH(需要开启开发者模式或刷入OpenWrt)执行:
cat /proc/mtd
看输出是否包含 mtd0: uboot, mtd1: env, mtd2: art, mtd3: firmware 这几个分区,大小和偏移是否和官方一致。如果有多余的奇怪分区名(比如 rootfs 和 ubi 分裂),说明你刷的第三方固件改过分区布局,建议直接刷回官方原版,否则下次升级必变砖。
5个高频问题(FAQ)
Q1:刷机后指示灯全灭,按Reset没反应,是不是彻底凉了? A:不一定。如果uboot没死,只是引导失败,捅Reset时间要够长(15秒以上),且要在通电瞬间开始按。如果真没反应,大概率uboot被覆盖,需要上编程器刷写SPI/NAND闪存,或者去闲鱼找人代修,成本大概30-50块。
Q2:我用TTL连上,但全是乱码,怎么办? A:波特率不对。B18默认是115200,但有些第三方uboot改成57600或38400。挨个试,看到正常英文提示就是对的。另外检查TX/RX是否接反。
Q3:刷回官方固件后,还能再刷第三方吗? A:能,但建议先刷回官方,然后通过官方恢复模式刷入Breed引导(一个更安全的bootloader),再在Breed里刷第三方固件。Breed自带分区表备份功能,下次变砖直接恢复,省心得多。
Q4:修复过程会不会丢失WiFi校准数据(ART分区)?
A:会! 如果你在uboot里执行了 mtdparts default 或官方工具强制擦除,ART分区(包含无线校准参数)很可能被清空,导致刷完无线信号弱、速率低。修复前务必备份ART:在uboot里执行 nand read 0x82000000 0x200000 0x100000,然后通过TFTP传到电脑。如果已经损坏,去论坛找同型号B18的ART备份文件,或者用编程器从同批次机器读取(不推荐,风险高)。
Q5:有没有一劳永逸不刷机的方法? A:有。如果你只是想要去广告、科学上网等功能,别刷第三方固件,直接用官方固件+OpenClash插件(通过SSH安装),或者外接一个旁路由(比如N1盒子)。B18的硬件跑第三方固件发热大,稳定性远不如官方。
实用建议:三条保命经验
- 刷机前必做三件事:备份当前固件(用
dd或WinSCP拷贝整个/dev/mtd*)、备份ART分区、记录原厂分区表。别嫌麻烦,这能让你从“变砖”变成“十分钟复活”。 - 别用最新版第三方固件:2026年了,很多B18的第三方固件停更,反而官方固件更新到3.0.x版本后稳定性大幅提升。如果非要折腾,选OpenWrt官方主线(支持到23.05版),别碰那些个人魔改包。
- 救砖工具认准版本:小米路由器修复工具分“旧版”(支持B18初版)和“新版”(支持后续批次),用错版本会报“设备未连接”。去官方论坛下载时,认准型号“R3D”或“B18”的专用包,别用小米AX系列的。
如果你需要的话,可以试试下面的免费工具:
最后说句掏心窝的:B18这机器,刷机就像走钢丝,分区表就是那根保险绳。这次坏了能修,下次再坏,可能就得换主板了。我的建议是:救回来之后,老老实实用官方固件,把折腾的心留给软路由。 如果你已经救砖成功,欢迎在评论区分享你的经验;要是还卡在哪一步,直接留言,我看到会回复。毕竟,数据无价,折腾有度,且刷且珍惜。