搬运 eSir大神的 openwrt系统下/overlay分区扩容方法
dswnz
2022年07月13日 16:35
收录于文集
共3篇

在网上看了很多openwrt,img镜像安装后,分区扩容的方法,大部分都是ext4分区格式的,用pe自带的Diskgenius新版的就直接实现ext4分区扩容了。但更多镜像使用的是可以重置系统的squashfs文件系统,参考少量中文互联网上的扩容方式,都不太全,特此搬运eSir大神的教程。

转自:https://www.youtube.com/watch?v=YwbwzuXKNlg

首先使用命令 df -h

代码块
Shell
自动换行
复制代码
df -h
Filesystem           Size      Used   Available  Use%   Mounted on
...
overlayfs:/overlay      673.1M    170.4M    502.7M    25%      /
...
复制成功

看自己的根目录分区是否挂载在 overlayfs:/overlay 这个地址上。如果是,则适用以下教程。

一:使用 cfdisk命令,从硬盘上的空余空间建立新分区。

      (如果没有cfdisk命令,则使用 opkg install cfdisk 安装)

         因为我的系统使用的是固态硬盘,所以默认挂载点不是从/dev/sda开始的,直接使用cfdisk命令会报错:

代码块
Shell
自动换行
复制代码
cfdisk: cannot open /dev/sda: No such file or directory
复制成功

       所以用 fdisk -l 命令,查看自己硬盘挂载点

代码块
Shell
自动换行
复制代码
fdisk -l
...
Disk /dev/nvme0n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
...
复制成功

      比如我这里,查看自己硬盘挂载点为 /dev/nvme0n1 后,

      使用 cfdisk /dev/nvme0n1 进入下图分区工具界面。

cfdisk工具界面

        此时使用上下键选择分区,左右键选择要操作的选项。

        选中 Free space (空闲空间),使用 New选项,新建分区,空间大小自己指定。

cfdisk工具界面

        然后使用 Write 写入刚刚的操作,会提示你输入 yes才能执行,Quit 退出cfdisk工具界面。

二,格式化新建分区。

        再次使用 fdisk -l命令,查看刚刚新建的分区:

代码块
Shell
自动换行
复制代码
fdisk -l
...
Device          Start    End    Sectors     Size         Type
...
/dev/nvme0n1p3   2027520  1953523711 1951496192   930.5G     Linux filesystem
...
复制成功

        可以看到,我新建了一个 /dev/nvme0n1p3 的分区。

        接着用命令 mkfs.ext4 /dev/nvme0n1p3,将新建的分区,格式化为ext4格式。

代码块
Shell
自动换行
复制代码
root@EzOpWrt:~# mkfs.ext4 /dev/nvme0n1p3
mke2fs 1.46.5 (30-Dec-2021)
Discarding device blocks: done
Creating filesystem with 243937024 4k blocks and 60989440 inodes
Filesystem UUID: d463f61d-9853-42d1-b2e4-d955f29305b8
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848

Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done
复制成功

        

三,挂载新空间

        使用mkdir命令在/mnt目录下新建一个目录,并检验查看。

代码块
Shell
自动换行
复制代码
root@EzOpWrt:~# mkdir /mnt/expansion_space
root@EzOpWrt:~# ls -alh /mnt
drwxr-xr-x    1 root     root        3.4K Jul 13 15:50 .
drwxr-xr-x    1 root     root        3.4K Jul 13 12:42 ..
drwxr-xr-x    2 root     root        3.4K Jul 13 15:50 expansion_space
复制成功

        使用mount命令挂载:

代码块
Shell
自动换行
复制代码
root@EzOpWrt:~# mount /dev/nvme0n1p3 /mnt/expansion_space/
root@EzOpWrt:~# ls -alh /mnt/expansion_space/
drwxr-xr-x    3 root     root        4.0K Jul 13 15:44 .
drwxr-xr-x    1 root     root        3.4K Jul 13 15:50 ..
drwx------    2 root     root       16.0K Jul 13 15:44 lost+found
复制成功

        有 lost+found 这个目录代表挂载成功。

四,迁移 /overlay 分区

        使用cp命令,将原/overlay分区文件,全部复制到 新建空间的挂载目录。

代码块
Shell
自动换行
复制代码
root@EzOpWrt:~# ls /overlay
upper  work
# 查看源目录中的文件

root@EzOpWrt:~# cp -r /overlay/*  /mnt/expansion_space/
# 查看源目录中的文件

root@EzOpWrt:~# ls /mnt/expansion_space/
lost+found  upper       work
#检验复制后目标目录中的文件
复制成功

        以上无误后,来到网页管理界面,点“挂载点”选项卡

       

        点击添加按钮。

        

        第一步:启用挂载点

        第二步:在uuid直接选中自己刚刚新建的分区

        第三步:挂载点选项卡,选“作为外部 overlay 使用”

        第四步: 保存并使用

最后,重启路由器。

        使用 df-h 命令,检验根目录空间:

代码块
Shell
自动换行
复制代码
root@EzOpWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
...
overlayfs:/overlay      914.9G     43.4M    868.3G   0% /
...
复制成功

        可以看到,空间已经变大,本文结束。