文章目录
预备知识
OpenWrt系统固件分类
- EXT4固件固件包名称中包含有
ext4
关键字,可以参考固件分类关键字示意图
图片。该种类型的固件硬盘空间划分如下: - SQUASHFS固件固件包名称中包含有
squashfs
关键字,同样参考固件分类关键字示意图
图片。该种类型的固件硬盘空间划分如下:
固件分类关键字示意图:
EXT4固件扩容方式
新建分区扩容
新建分区,将根目录挂载到新分区;(推荐)
在未格式化区域创建新分区,然后将原来系统文件分区的所有内容拷贝到新分区,最后将系统根目录默认挂载点变成新分区即可。
操作步骤
- 查看当前磁盘信息
fdisk-l
- 创建新分区
# 注意fdisk后参数是磁盘名称,是要根据实际情况填写fdisk /dev/mmcblk0# 输入p查看分区情况p# 输入n创建新分区n# 选择p,primary分区类型p# 选择分区序号,根据实际情况填写了,一般默认即可# 输入分区起始位置,需要大于红色下划线数字# 输入要创建的分区大小,例如要创建3GB,可以输入+3G即可# 最后输入w写入磁盘
- 查看分区效果
fdisk-l
- 格式化分区
# mkfs.ext4后参数为新分区名称mkfs.ext4 /dev/mmcblk0p3
- 网页登录openwrt,选择系统挂载点,选择添加
- 选择新创建的分区,并挂载至根目录,保存后应用
- 复制
根目录准备
区域的命令如下mkdir-p /tmp/introotmkdir-p /tmp/extrootmount--bind / /tmp/introot# mount命令后参数为新分区,该博客中的例子为/dev/mmcblk0p3mount /dev/sda1 /tmp/extroottar-C /tmp/introot -cvf - .|tar-C /tmp/extroot -xf -umount /tmp/introotumount /tmp/extroot
- 将上述命令在命令行中粘贴执行
- 若固件带有
efi
关键字,需要参考EFI引导固件的额外操作
章节执行额外步骤(可选:仅固件中包含efi关键字需要执行) - 重启软路由
reboot
直接扩容
直接将原有根分区扩容,如下图:
操作步骤
- 删除旧分区(需要记住旧分区的磁盘起始位置,如图下划线位置),并创建新分区
# 注意fdisk后参数是磁盘名称,是要根据实际情况填写fdisk /dev/mmcblk0# 删除第2个分区,输入dd# 选择第2个分区,根据实际情况填写2# 输入n创建新分区n# 选择primary分区类型p# 分区编号选择2,一般默认即可2# 输入分区起始位置,该位置要与删除分区的起始位置相同# 输入创建分区大小,例如+3G# 不要删除标识!不要删除标识!不要删除标识!选择n!n# 输入w写入磁盘w
- 查看分区效果
fdisk-l
- 设置循环设备
losetup /dev/loop0 /dev/mmcblk0p2
- 扩展磁盘空间
resize2fs -f /dev/loop0
- 若固件带有
efi
关键字,需要参考EFI引导固件的额外操作
章节执行额外步骤(可选:仅固件中包含efi关键字需要执行) - 重启软路由
reboot
SQUASHFS固件扩容方式
新建分区扩容
由于SQUASHFS固件安装后,会自动创建rom空间,所以可以直接扩容即可。
直接扩容
直接扩容方式与ext4固件扩容方式相同,可以参考上述步骤。同样的,需要区分x86设备efi固件。特殊操作上文中也有提及,可以参考。
EFI引导固件的额外操作
- 查看分区ID
blkid
- 修改系统引导
# 编辑grub.cf文件vi /boot/grub/grub.cfg# 将下划线的两个分区ID修改成新分区的UUID即可
- 保存文件
# 输入:wq即可,或者Shift + ZZ快捷键保存均可
参考
- OpenWrt的空间扩容问题,可以这么直接解决!
版权归原作者 ls0111 所有, 如有侵权,请联系我们删除。