当我们通过安装 OpenWrt完官方固件时,OpenWrt 实际使用容量完全取决于 OpenWrt 编译时所设置的固件大小。若我们想要充分折腾软路由,则需要对 OpenWrt 进行扩容,此方法仅适用ext4硬盘格式的固件
1.前期准备
查看openwrt备份/还原配置里是否有重置按钮,如果没有就是ext4格式的固件,如果有就不适用这个教程
1.1 添加openwrt存储空间
如果是虚拟机安装的,可以直接在当前虚拟硬盘上直接增加大小
1.2 安装工具
通过 Xshell、Putty 等 SSH 终端工具登录 OpenWrt ,安装磁盘分区工具:
opkg update
opkg install cfdisk fdisk e2fsprogs
opkg install block-mount安装完成后需重启openwrt使刚安装的挂载点生效
2.进行空间扩容
2.1创建新分区
SSH 终端运行 cfdisk 命令进入磁盘分区界面,通过键盘上下键切换到 Free space (剩余空间),左右键切换至 NEW (新增分区),然后按下回车键

左右键切换 Write 按下回车键,写入新分区。

输入 yes 按下回车键,确认写入新分区,切换 Quit ,按下回车键退出。运行 fdisk -l 命令,查看是否成功创建新分区。

2.2 格式化新分区
SSH 终端运行下面的命令,将新分区的文件系统格式化为 ext4,/dev/sda3该路径填写为你新增加的分区路径
mkfs.ext4 /dev/sda32.3 挂载新分区
进入 OpenWrt 管理后台,依次点击 系统 - 挂载点 找到并点击全局设置中的 生成配置。

在 挂载点 找到创建的新分区,点击 修改 重新调整挂载项目的设置。

勾选 启用此挂载点,挂载点 选择为 作为根文件系统使用 ,完整复制根目录准备中的所有命令行后,点击 保存并应用。

需要手动修改命令行中 mount /dev/sda1 /tmp/extroot 中的/dev/sda1路径 为 cfdisk 创建的新分区盘符,例如这里应修改为 mount /dev/sda3 /tmp/extroot,然后进入 SSH 终端,运行修改后的完整命令行,如下:
mkdir -p /tmp/introot
mkdir -p /tmp/extroot
mount --bind / /tmp/introot
mount /dev/sda3 /tmp/extroot
tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf -
umount /tmp/introot
umount /tmp/extroot回车键到底,直到跑完所有命令行。然后运行 reboot 重启 OpenWrt ~
重新进入openwrt打开软件包选项,如下图表示扩容成功~
