2025年10月31日星期五

GL-MT3000路由器地区代码修改


一、验证“factory”真实分区名

cat /proc/mtd

你会看到类似如下输出(示例):
dev: size erasesize name mtd0: 10000000 00020000 "spi0.0" mtd1: 00100000 00020000 "BL2" mtd2: 00080000 00020000 "u-boot-env" mtd3: 00200000 00020000 "Factory" mtd4: 00200000 00020000 "FIP" mtd5: 00040000 00020000 "log" mtd6: 0f640000 00020000 "ubi"
 
我们要找的就是名字类似于 "factory_data"、"factory"、或 "art" 的那个分区。


二、找到分区后确认块设备路径

你看到的是:mtd3: 00200000 00020000 "Factory"
那说明目标分区是 /dev/mtdblock3。
确认块设备路径ls -l /dev/mtdblock3

ls -l /dev/mtdblock3

看到它存在即可(对应上面 mtd3)。


三、做好备份(务必执行)

把 Factory 分区前 256KB 备份到 /tmp,并算一份校验:

BACK="/tmp/factory_backup_$(date +%F_%H-%M-%S).bin" dd if=/dev/mtdblock3 of="$BACK" bs=1k count=256 sync md5sum "$BACK" ls -lh "$BACK"

输出结果留档:

root@GL-MT3000:~# BACK="/tmp/factory_backup_$(date +%F_%H-%M-%S).bin" root@GL-MT3000:~# dd if=/dev/mtdblock3 of="$BACK" bs=1k count=256 256+0 records in 256+0 records out root@GL-MT3000:~# sync root@GL-MT3000:~# md5sum "$BACK" b84a56001131fc95976c4846b5ab6f52 /tmp/factory_backup_2025-06-20_19-03-00.bin root@GL-MT3000:~# ls -lh "$BACK" -rw-r--r-- 1 root root 256.0K Jun 20 19:03 /tmp/factory_backup_2025-06-20_19-03-00.bin

万一需要恢复时使用:

dd if=/tmp/factory_backup_2025-06-20_19-03-00.bin of=/dev/mtdblock3; sync; reboot


四、查看当前区域码位置的内容

先只读一小段:从 偏移 0x80 起读 64 字节,我们要看 0x88~0x89 两个字节里是不是 43 4e(即 “C”“N”):

root@GL-MT3000:~# hexdump -C -s 0x80 -n 64 /dev/mtdblock3 00000080 00 00 00 00 00 00 00 00 43 4e 00 00 00 00 00 00 |........CN......| 00000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 000000c0 root@GL-MT3000:~# hexdump -C -n 4096 /dev/mtdblock3 | grep -n "43 4e" 9:00000080 00 00 00 00 00 00 00 00 43 4e 00 00 00 00 00 00 |........CN......|

五、写入 US(只在我确认偏移正确后再执行

确认第四步输出后,再执行这一条把 CN 改成 US

printf US | dd of=/dev/mtdblock3 bs=1 seek=136 conv=notrunc sync
验证是否写成功

再次查看 0x80~0xBF 这段,看 0x88 0x89 是否变成 55 53(“U”“S”):

root@GL-MT3000:~# printf US | dd of=/dev/mtdblock3 bs=1 seek=136 conv=notrunc 2+0 records in 2+0 records out root@GL-MT3000:~# sync root@GL-MT3000:~# hexdump -C -s 0x80 -n 64 /dev/mtdblock3 00000080 00 00 00 00 00 00 00 00 55 53 00 00 00 00 00 00 |........US......| 00000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 000000c0


六、重启使之生效

reboot

重启后进 Web 管理界面,检查是否出现 VPN/OpenVPN/WireGuard 等菜单(或能正常安装对应组件不受限)。如界面没立刻变化,可“恢复出厂设置”一次或清浏览器缓存再看。


没有评论:

发表评论

GL-MT3000 (Beryl AX) 科学上网起飞🛫

下面是针对 GL-MT3000 (Beryl AX) 官方 4.8.x (OpenWrt 24.10) 固件安装并完美运行 OpenClash 的 2025年11月最新、100% 可重复操作版全流程。直接复制粘贴即可,一次成功。 一、安装 OpenClash(主体 + Meta ...