Expand Root Partition On OpenWrt

Posted by Devin on Tuesday, June 10, 2025

由于OpenWrt默认镜像的分区空间一般只有100M左右,无法满足一些日常操作,比如运行容器和一些web服务等。本期我们尝试在成功刷入OpenWrt后,如何对根分区进行扩容。

OpenWrt镜像一般分为2个大类,扩容就是将存储未格式化的部分加入使用。

  • EXT4固件
  • SQUASHFS固件(可恢复出厂设置,重置固件)

screenshot

EXT4 固件扩容

这个固件扩容一般有2种方式。

screenshot

固件扩容方式一

# 列出磁盘
fdisk -l
# 选择需要操作的磁盘
fdisk /dev/mmcblk0
# 输入p, 查看分区信息
p
# 输入n, 创建新分区, 具体操作可查看下图创建新分区
n
# 分区创建完成后,可查看磁盘分区信息
fdisk -l
# 格式化新分区
mkfs.ext4 /dev/mmcblk0p3
# 网页更改挂载点
# 重启
reboot

列出磁盘信息

screenshot

查看分区信息

screenshot

创建信息分区(注意:创建新分区时,first sector值一定要大于原分区的end值,具体值需要通过p命令查看

screenshot

查看创建分区后的信息,可知/dev/mmcblk0p3就是刚刚创建的新分区

screenshot

格式化新分区

screenshot

网页更改挂载点

  • 选择新创建的分区
  • 作为根文件系统使用
  • 然后复根目录准备命令到记事本,然后更改/dev/sda1为新创建的分区
  • 勾选已启用
  • 最后选择保存
  • 保存并运用

如图所示

screenshot

screenshot

将根目录准备命令修改后全部复制到终端执行,然后重启

screenshot

重启后分区扩容就完成了

screenshot

固件扩容方式二

# 列出磁盘
fdisk -l
# 选择需要操作的磁盘
fdisk /dev/mmcblk0
# 输入p, 查看分区信息
p
# 输入d, 删除分区
d
# 输入n, 创建分区
n
# 分区创建完成后,可查看磁盘分区信息
fdisk -l

# 使用新创建的磁盘空间
# 查看循环设备, 如果有输出,就别使用这个输出的设备就行
losetup

# /dev/loop0循环设备路径 /dev/mmcblk0p2 新分区路径
losetup /dev/loop0 /dev/mmcblk0p2 新分区路径

resize2fs -f /dev/loop0
# 如果是x86固件,并且固件带efi字样的需要在设备重启之前更改一下系统引导,具体请看单独的章节"x86固件更改part uuid"
reboot

列出磁盘信息

screenshot

查看分区信息

screenshot

删除mmcblk0p2分区(注意:记住这个分区的start值,现在是147456

screenshot

创建新分区(注意:新分区的first sector的值是上一步记住的start值

screenshot

列出磁盘分区信息

screenshot

调整应用空间

screenshot

SQUASHFS固件扩容

# 查看磁盘空间信息
df -h
# 查看磁盘信息
fdisk -l
# 操作磁盘
fdisk /dev/sda
# 输入p, 查看分区信息
p
# 输入n, 创建分区
n
# 如果是x86固件,并且固件带efi字样的需要在设备重启之前更改一下系统引导,具体请看单独的章节"x86固件更改part uuid"

# 分区创建完成后,重启
reboot

df -h
# /dev/loop0是df -h显示的循环设备
resize2fs -f /dev/loop0

查看磁盘空间信息(注意循环设备路径,下面需要使用

screenshot

查看分区信息

screenshot

删除sda2分区(注意:记住这个分区的start值,现在是33792

screenshot

创建新分区(注意:新分区的first sector的值是上一步记住的start值

screenshot

分区创建完成后,重启

screenshot

调整并应用扩容空间

screenshot

x86固件更改part uuid

blkid
# 复制part uuid

# 更改系统引导参数
vim /boot/grub/grub.cfg

查看part uuid

screenshot

更改系统引导,将part uuid更改为复制的新分区的part uuid

screenshot

更改完成后就可以重启了。

「如果这篇文章对你有用,请随意打赏」

如果这篇文章对你有用,请随意打赏

使用微信扫描二维码完成支付