小米WR30U路由器免拆刷回原厂固件(彻底) 作者: 毕世平 时间: 2026-01-06 分类: 默认分类 前言:不少人有这样一种执拗:费好大劲给路由器解锁`SSH`然后刷上第三方固件后,然后觉得第三方这不好那不好,最后还是刷回了官方固件,觉得这样才舒服。 本文主要参考恩山大佬`ming649947189`的[这篇教程](https://www.right.com.cn/forum/thread-8446111-1-1.html "这篇教程"),记录下将小米`WR30U`路由器刷到第三方固件【第三方固件这里特指`hanwckf`的`immortalwrt-mt798x stock`原厂布局`default`固件,不是`immortalwrt-112M`那个】后,进SSH将提前备份的原厂分区**分段**刷到`ubi`分区,将小米`WR30U`路由器彻底刷回原厂。 ## 1.对比原厂固件和大佬default固件布局 小米WR30U原厂固件布局如下图:  而,路由器刷完`hanwckf`大佬的`immortalwrt-mt798x stock`布局固件后,布局如下图:  发现没有,从`/dev/mtd8`分区开始,名称发生了变化,原厂固件下是`/dev/mtd8 ubi`,大小是`0x02200000`,也就是`34MB`,而第三方固件下`/dev/mtd8`分区,名称是`/dev/mtd8 ubi_kernel`,大小也是`0x02200000`,也就是`34MB`。 但是,原厂固件下的`/dev/mtd9 /dev/mtd10 /dev/mtd11`这三个分区,在路由器刷到第三方固件后,这三个分区消失了,第三方固件下只有一个`/dev/mtd9`。从分区大小来看,原厂固件下`/dev/mtd9 0x02200000 34MB`,`/dev/mtd10 0x02000000 32MB`,`/dev/mtd11 0x00c00000 12MB`,第三方固件下`/dev/mtd9 0x04e00000 78MB`,也就是说原厂固件下这三个小分区`ubi1 overlay data`在路由器刷机后,整合成这一个大分区`ubi`了,大小对应,其余分区大小都对应原厂固件。 ## 2.上传原厂固件,分段刷写 因为`/tmp`目录是挂载到内存中的,剩余空间够大,上传过程中,时刻注意剩余空间,下面先通过`winscp`或者`hfs`工具将从原厂备份来的`mtd9_ubi1.bin mtd10_overlay.bin mtd11_data.bin`这三个分区上传到`/tmp/tmp`目录下,如下图:  上传好文件后,执行如下命令,分段刷写: # 前面提到过第三方固件ubi(78MB)分区占据了原厂固件下ubi1(34MB),overlay(32MB)和data(12MB) # 三个小分区,那么三个小分区在这个78M分区里的相对布局应当如下: ubi1 从0x0到0x2200000 overlay 从0x2200000到0x4200000 data 从0x4200000到0x4e00000 ----------------------------------------------------------------- mtd -p 0x0 write mtd9_ubi1.bin /dev/mtd9 mtd -p 0x2200000 write mtd10_overlay.bin /dev/mtd9 mtd -p 0x4200000 write mtd11_data.bin /dev/mtd9 ----------------------------------------------------------------- # 上面三个分区刷写完毕后,记得删除三个文件,不然剩余空间可能不够上传新的文件 rm -f ./*.bin ------------------------------------------------------------------- 至于原厂固件下的/dev/mtd8 ubi分区,对应第三方固件下的/dev/mtd8 ubi_kernel分区,直接上传到tmp目录下,刷写即可: mtd write mtd8_ubi.bin /dev/mtd8 最后刷写FIP分区,上传备份的原厂分区mtd5_FIP.bin到tmp目录下,然后执行如下命令刷写: mtd write mtd5_FIP.bin /dev/mtd5 mtd verify mtd5_FIP.bin /dev/mtd5 **说明**:上面用到的原厂5个分区刷写完毕,并校验通过后,即可路由器断电再通电,路由器即完全回到了原厂固件。 ## 3.小米WR30U原厂固件下解锁SSH 路由器回到原厂固件后,建议恢复出厂设置一下,这样路由器就跟刚买回来时候一样了。如果,后续再想解锁`SSH`,那么可以使用这样一个项目:[xmir-patcher](https://github.com/openwrt-xiaomi/xmir-patcher "xmir-patcher")  访问项目地址,下载源码压缩包到本地,解压缩,`Windows`用户直接双击目录下的`run.bat`脚本,然后确保路由器后台是`192.168.31.1`,之后选`2`,回车,输入设置的路由器后台密码,等待脚本自动处理。  耐心等待一会儿,路由器就会打开SSH服务,端口是`22`,用户名和密码都是`root`,也就是只需要`ssh -p 22 root@192.168.31.1`,密码也是`root`,连接上之后,就可以重新刷uboot,然后进uboot上传固件刷机了。 ## 结语 本文参考了网上很多教程,这里表示感谢,如有错误,欢迎留言指正。 ## 参考链接: - [360T7第三方固件免拆刷回官方固件+官方固件安装SSH](https://www.right.com.cn/forum/thread-8446111-1-1.html "360T7第三方固件免拆刷回官方固件+官方固件安装SSH") - [xmir-patcher项目地址](https://github.com/openwrt-xiaomi/xmir-patcher "xmir-patcher项目地址") - [mt798x uboot 功能介绍——hanwckf's blog](https://cmi.hanwckf.top/p/mt798x-uboot-usage/ "mt798x uboot 功能介绍——hanwckf's blog") - [immortalwrt-mt798x项目](https://github.com/hanwckf/immortalwrt-mt798x "immortalwrt-mt798x项目") - [bl-mt798x项目](https://github.com/hanwckf/bl-mt798x "bl-mt798x项目") 标签: none