如何备份 OpenWRT 固件 Tink 其他各种机 2015-10-20 阅读:(8358) 新刷好的OpenWRT装了一大堆软件,然后一个不小心被你给搞挂了? 又要重新刷固件重新装软件重新配置?神烦? **Just Backup It!** ## 如果路由器被你搞挂了,完全无法启动,那么你需要重刷固件并且恢复,按照这个来备份: ## 首先,查看你的 firmware 所对应的 mtd 编号 `cat /proc/mtd`,比如我的, ```cat /proc/mtd root@ABigBug:~# cat /proc/mtd dev: size erasesize name mtd0: 00020000 00010000 "u-boot" mtd1: 000e43ec 00010000 "kernel" mtd2: 00eebc14 00010000 "rootfs" mtd3: 004c0000 00010000 "rootfs_data" mtd4: 00010000 00010000 "art" mtd5: 00fd0000 00010000 "firmware" ``` 这里就是 mtd5. 然后备份 firmware 到 /tmp 下就可以了 ``` dd if=/dev/mtd5 of=/tmp/firmware_backup.bin ``` 得到固件备份文件 firmware_backup.bin,在 /tmp 目录下. 以后要恢复固件的时候,首先想办法连上SSH,比如刷一个新固件,然后将 firmware_backup.bin 上传到 /tmp 下,利用 mtd 命令恢复即可。 ``` mtd -r write /tmp/firmware_backup.bin firmware ``` ---------- ## 如果路由器配置被你完全搞乱了,但是还能启动并且可以连上SSH,那么按照下面来备份: ## 仅对 /overlay 打包备份即可 ``` tar -czvf /tmp/overlay_backup.tar.gz /overlay ``` 需要恢复的时候将 overlay_backup.tar.gz 上传至 /tmp ,然后清空 /overlay 并恢复备份: ``` rm -rvf /overlay/* cd / tar -xzvf /tmp/overlay_backup.tar.gz ``` ---------- OK, 我个人建议你两种备份都预留一份,随时应对各种情况。