-
Notifications
You must be signed in to change notification settings - Fork 186
HomeLede懒人升级指南
刷固件是玩OpenWrt的必备技能,物理机可以通过PE工具,虚拟可以替换虚拟磁盘,方法很多。
想不重刷无非是想保留配置和数据,如果直接换固件,软件还是配置好的,太美了。
不过理想和现实总是有差距的:
不同固件磁盘分区参数未必相同,软件版本及配置也各异。保留的配置很有可能在新固件上无法工作,或者与新固件其他配置冲突,导致各种奇怪现象。
与其花时间去分析这些奇怪现象,莫不如重新设置一次。
所以,你会发现绝大多数固件都推荐大家不要保留配置,直接重刷。
如果你想试试,可以,不过这种操作通常都会有比较严格的场景限制,版本,环境必须严格一致,一步操作错了,可能就无法挽回了。
不过即使操作错了,你仍旧可以重新刷机来解决。x86软路由不存在刷成砖的可能,折腾吧,骚年。
HomeLede DNS内置的,如果你用着没什么问题,这块,你是不用动的。
通常需要备份的(根据你自己情况):
- dhcp静态地址分配:/etc/config/dhcp
- 防火墙端口转发、端口开放:/etc/config/firewall
- SSH远程登录:/etc/config/dropbear,如果设置了密钥登录,备份:/etc/dropbear/authorized_keys
- DDNS:/etc/config/ddns
- PSW节点:/etc/config/passwall
只验证过v2020.06.20到v2020.06.27,使用MBR分区表的固件(openwrt-x86-64-combined-squashfs.img, 看好了,不带gpt)别的没有验证过。本方法不保留配置,不保留配置,不保留配置!!!
首先,拿到v2020.06.27固件的IMG格式镜像,得到openwrt-x86-64-combined-squashfs.img。
把文件上传到路由/tmp路径下。(可使用固件图形界面"文件传输",也可以用sftp,随意)
执行下面操作前,把固件上应用都关了,断开外网,内网设备。如果可以直接Console操作,就把网络都断开。
在命令行执行:
dd if=/tmp/openwrt-x86-64-combined-squashfs.img of=/dev/sda bs=512 skip=33792 seek=33792 count=655360
等待命令完成后:
reboot 2>&1 > /dev/null
等待固件重启。
如果顺利,开机即可获得全新的v2020.06.27。且会保留硬盘上一切分区。只是软件配置需要重新设置。
请注意,固件默认分区是16M+320M,如果你更改了分区,Web升级会重置分区,会导致数据丢失。
如果两次固件分区大小一致,大概率可以直接刷。
还是一句话,重刷最靠谱。