Openwrt 软件路由空间扩容

实用技巧 杨海雄 2周前 (04-21) 151次浏览 0个评论
文章目录[隐藏]

预备知识

OpenWrt 系统固件分类

  1. EXT4 固件
    固件包名称中包含有 ext4 关键字,可以参考固件分类关键字示意图图片。该种类型的固件硬盘空间划分如下:
    Openwrt 软件路由空间扩容
  2. SQUASHFS 固件
    固件包名称中包含有 squashfs 关键字,同样参考固件分类关键字示意图图片。该种类型的固件硬盘空间划分如下:
    Openwrt 软件路由空间扩容

固件分类关键字示意图:

Openwrt 软件路由空间扩容

EXT4 固件扩容方式

新建分区扩容

新建分区,将根目录挂载到新分区;(推荐)
在未格式化区域创建新分区,然后将原来系统文件分区的所有内容拷贝到新分区,最后将系统根目录默认挂载点变成新分区即可。
Openwrt 软件路由空间扩容

操作步骤

  1. 查看当前磁盘信息
fdisk -l

Openwrt 软件路由空间扩容

  1. 创建新分区
# 注意 fdisk 后参数是磁盘名称,是要根据实际情况填写
fdisk /dev/mmcblk0
# 输入 p 查看分区情况
p
# 输入 n 创建新分区
n
# 选择 p,primary 分区类型
p
# 选择分区序号,根据实际情况填写了,一般默认即可
# 输入分区起始位置,需要大于红色下划线数字
# 输入要创建的分区大小,例如要创建 3GB,可以输入+3G 即可
# 最后输入 w 写入磁盘

Openwrt 软件路由空间扩容
Openwrt 软件路由空间扩容

  1. 查看分区效果
fdisk -l

Openwrt 软件路由空间扩容

  1. 格式化分区
# mkfs.ext4 后参数为新分区名称
mkfs.ext4 /dev/mmcblk0p3
  1. 网页登录openwrt,选择系统挂载点,选择添加
    Openwrt 软件路由空间扩容
  2. 选择新创建的分区,并挂载至根目录,保存后应用
    Openwrt 软件路由空间扩容
  3. 复制根目录准备区域的命令如下
mkdir -p /tmp/introot
mkdir -p /tmp/extroot
mount --bind / /tmp/introot
# mount 命令后参数为新分区,该博客中的例子为/dev/mmcblk0p3
mount /dev/sda1 /tmp/extroot
tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf -
umount /tmp/introot
umount /tmp/extroot
  1. 将上述命令在命令行中粘贴执行
  2. 若固件带有 efi 关键字,需要参考 EFI 引导固件的额外操作章节执行额外步骤(可选:仅固件中包含 efi 关键字需要执行)
  3. 重启软路由
reboot

直接扩容

直接将原有根分区扩容,如下图:
Openwrt 软件路由空间扩容

操作步骤

  1. 删除旧分区(需要记住旧分区的磁盘起始位置,如图下划线位置),并创建新分区
# 注意 fdisk 后参数是磁盘名称,是要根据实际情况填写
fdisk /dev/mmcblk0
# 删除第 2 个分区,输入 d
d
# 选择第 2 个分区,根据实际情况填写
2
# 输入 n 创建新分区
n
# 选择 primary 分区类型
p
# 分区编号选择 2,一般默认即可
2
# 输入分区起始位置,该位置要与删除分区的起始位置相同
# 输入创建分区大小,例如+3G
# 不要删除标识!不要删除标识!不要删除标识!选择 n!
n
# 输入 w 写入磁盘
w

Openwrt 软件路由空间扩容
Openwrt 软件路由空间扩容

  1. 查看分区效果
fdisk -l
  1. 设置循环设备
losetup /dev/loop0 /dev/mmcblk0p2
  1. 扩展磁盘空间
resize2fs -f /dev/loop0
  1. 若固件带有 efi 关键字,需要参考 EFI 引导固件的额外操作章节执行额外步骤(可选:仅固件中包含 efi 关键字需要执行)
  2. 重启软路由
reboot

SQUASHFS 固件扩容方式

新建分区扩容

由于 SQUASHFS 固件安装后,会自动创建 rom 空间,所以可以直接扩容即可。

直接扩容

直接扩容方式与 ext4 固件扩容方式相同,可以参考上述步骤。同样的,需要区分 x86 设备 efi 固件。特殊操作上文中也有提及,可以参考。

EFI 引导固件的额外操作

  1. 查看分区 ID
blkid

Openwrt 软件路由空间扩容

  1. 修改系统引导
# 编辑 grub.cf 文件
vi /boot/grub/grub.cfg
# 将下划线的两个分区 ID 修改成新分区的 UUID 即可
  1. 保存文件
# 输入:wq 即可,或者 Shift + ZZ 快捷键保存均可

参考

  1. OpenWrt 的空间扩容问题,可以这么直接解决!
  2. CSDN 文章

杨海雄 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Openwrt 软件路由空间扩容
喜欢 (0)

您必须 登录 才能发表评论!