从U盘启动OpenWrt扩容路由器系统分区空间

很多路由器自带的存储芯片容量较小,日常使用中很容易觉得空间不够用,无法安装大型软件,这时就可以考虑将系统复制到U盘中,从 U 盘启动 OpenWrt,以此获得更大的系统空间,便于安装软件等。

准备工作

  1. 准备一个可用的 U 盘并确认是否需要进行数据备份。(也可以使用 TF 存储卡)
  2. 确认路由器是否已安装 e2fsprogs, luci-i18n-ttyd-zh-cn
  3. 确认电脑上已有 putty 软件(可选)。
  4. 将 U 盘连接到路由器。

开始操作

  • 登录路由器管理页面,打开“服务”-“终端”即可进入命令行操作界面(需要现代化的浏览器才能正常使用)。
  • 或者使用电脑端的 putty SSH 登录路由器命令行操作界面。
openwrt-005

1、查询当前系统挂载信息,输入命令:df -h

openwrt-010

例如当前 U 盘挂载点为 /dev/sda,先执行卸载命令:umount /dev/sda

2、格式化U盘为 EXT4 格式,输入命令:mkfs.ext4 -m 0 /dev/sda

3、复制当前 OpenWrt 系统至 U 盘,依次执行下列命令:

# 创建导入目录,用于将 OpenWrt 绑定挂载至此目录中。
mkdir -p /tmp/introot

# 创建导出目录,用于将 U 盘挂载至此目录,以复制系统文件至 U 盘中。
mkdir -p /tmp/extroot

# 将根目录绑定至导入目录。
mount --bind / /tmp/introot

# 将 U 盘挂载至导出目录。
mount /dev/sda /tmp/extroot

# 将整个 OpenWrt 系统复制到导出目录。
tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf -

# 卸载导入目录。
umount /tmp/introot

# 卸载导出目录。
umount /tmp/extroot

4、打开“系统”-“挂载点”界面,点击下方“挂载点”区域内的“添加”按钮,手动配置挂载信息,然后“保存并应用”,如图所示。

openwrt-011

5、最后重启系统即可,路由器会自动从 U 盘加载启动,再查看软件包界面就会显示成 U 盘的容量。

openwrt-012

拓展阅读

  1. 复制到 U 盘中的系统和路由器自身芯片中的系统互相独立,可以理解为双系统。
  2. 拔掉 U 盘重启,即可从路由器自身芯片启动系统。