immortalwrt-25.12.1-x86-64-generic-squashfs-combined-efi.img扩容
参考文档:ImmortalWrt25.12.0 安装后扩容 (for squashfs) <- 被非x86步骤坑了
参考视频:OpenWrt的空间扩容问题,可以这么直接解决!
squashfs = 只读固件分区(rom)+ overlay可写分区
所有插件、配置、docker、下载文件全部存在 overlay。OpenWrt官方原生镜像默认overlay只有 约280MB,非常小!需要扩容才能充分利用磁盘空间
[!NOTE]
额外方案备选(很多人忽略)不扩容overlay!
保持默认小overlay,docker目录迁移到独立数据分区
1
2>/etc/config/dockerd
>option data_root '/mnt/data/docker'优势:系统分区压力小,就算docker塞满也不会搞崩OpenWrt本体,我N5105就是这么用。
1. 安装必要的工具
1 | |
2. 看一下要扩容的硬盘和分区,要记下分区的起始位置(如图示为66048)
3. 输入d删除2分区,并输入n重新创建2分区,起始位置不能变;
一、overlay分区推荐尺寸(按硬盘区分)
| 内置硬盘容量 | overlay推荐大小 | 说明 |
|---|---|---|
| 16GB SSD | 8GB | 日常插件 + 少量docker |
| 32GB SSD | 12~16GB | 主流选择,docker、AdGuard、qBittorrent基础版 |
| 64GB SSD | 20~32GB | 大量容器、网盘、缓存、日志 |
| ≥128GB | 32~48GB | 不建议把整块盘给overlay!剩余空间单独做数据盘 |
重要忠告
❌ 不要把整个硬盘全部划给overlay!
原因:
- overlay是系统分区,如果塞满100%,OpenWrt直接卡死、无法登陆、配置损坏;
- 下载、PT、媒体文件不要存overlay,建议单独挂载一个独立数据分区存放。
✅ 黄金通用方案(N5105最常用32G NVMe)
overlay 设置 16GB,剩下空间新建ext4分区,挂载为 /mnt/data 存放下载/缓存。
使用建议(避坑关键点)
日常轻度使用(仅科学上网、防火墙、AdGuardHome)
32G盘 → overlay 12G足够中度使用(Docker,旁路由,多个容器)
32G盘 → overlay 16G重度:Docker+下载工具+大量缓存
64G盘 → overlay 24G,剩余独立分区放资源阈值提醒
overlay占用尽量不要长期超过85%,定时清理docker镜像、日志。

4. 输入w,写入并退出;
5. 执行 losetup, 显示如下,记住OFFSET数字10223616
1 | |
6. 执行 losetup -f -o 10223616 /dev/nvme0n1p2,这里的数字要和上一步的一样
7. 执行 losetup, 查看loop1是否有相同的OFFSET
1 | |
8. 执行一下下述步骤,否则在后续运行resize.f2fs时会失败
1 | |
9. 执行 lsblk -f, 查看UUID是否相同
1 | |
10. 重要步骤,执行 resize.f2fs /dev/loop1
一连串输出后显示“ Done: 0.215767 secs”表示成功了,秒数各有不同
11. 执行fdisk -l查看nvme0n1p2的Size
1 | |
12-13下面的是x86架构需要做的事,不然会无法正常开机。
12. 获取分区的PARTUUID;
13. 编辑grub.cfg文件,将里的PARTUUID全部替换为刚刚拿到的
1 | |

14. reboot重启就行了
剩余空就可以用来存放Data数据
使用fdisk /dev/nvme0n1创建新分区后,再使用下面的命令格式化新分区(ext4格式)
1 | |
参数解释:
- -m 0:取消保留 5% 系统预留空间(数据盘不需要)