1.查看 firmware 分区所对应的 mtd 设备
1 |
cat /proc/mtd |
显示:
1 2 3 4 5 6 7 8 9 10 11 |
mtd0: 00040000 00020000 "u-boot" mtd1: 00040000 00020000 "u-boot-env" mtd2: 00040000 00020000 "caldata" mtd3: 00080000 00020000 "pot" mtd4: 00200000 00020000 "language" mtd5: 00080000 00020000 "config" mtd6: 00300000 00020000 "traffic_meter" mtd7: 00200000 00020000 "kernel" mtd8: 07700000 00020000 "ubi" mtd9: 07900000 00020000 "firmware" mtd10: 00040000 00020000 "caldata_backup" |
这里就是mtd9
2.得到固件备份文件 firmware_backup.bin,在 /tmp 目录下
1 |
dd if=/dev/mtd9 of=/tmp/firmware_backup.bin |
3.恢复该固件:
将 firmware_backup.bin 上传至 /tmp,使用命令
1 |
mtd -r write /tmp/firmware_backup.bin firmware |
即可恢复,恢复完成路由器会自行重启
不过,如果在没有重刷固件的情况下,我建议仅对 /overlay 进行打包并备份:
1 |
tar -czvf /tmp/overlay_backup.tar.gz /overlay |
然后下次直接将 overlay_backup.tar.gz 上传至 /tmp ,然后清空 /overlay 并恢复备份:
1 2 |
rm -rvf /overlay/* cd / && tar -xzvf /tmp/overlay_backup.tar.gz |
转载请注明:八度生活 » 【Openwrt】备份 还原当前 openwrt 固件