OpenWrt / ImmortalWrt 镜像扩容完整指南(适用于 Proxmox / PVE / 虚拟机)


在使用 OpenWrt 或 ImmortalWrt 的 x86 镜像时,默认镜像空间通常比较小(几百 MB),这在实际使用中很容易不够用,例如安装插件、日志、OpenClash 等。

这篇文章记录一套通用、稳定、安全的镜像扩容方案,适用于:

  • Proxmox VE(PVE)
  • KVM / ESXi
  • 物理机写盘
  • 虚拟机导入镜像

一、环境要求

扩容操作需要在 Linux 环境中执行,例如:

  • OpenWrt
  • Debian
  • Ubuntu

二、依赖工具检查

在终端执行:

which gzip
which dd
which parted

如果返回类似:

/usr/bin/gzip
/usr/bin/dd
/usr/sbin/parted

说明工具已经安装。

三、扩容操作步骤


上传镜像

将镜像上传到任意目录,例如:openwrt-x86-64-generic-squashfs-combined-efi.img.gz

进入目录

cd /path/to/your/image

解压镜像

gzip -kd openwrt.img.gz

解压后得到:openwrt.img

删除压缩包(可选)

rm openwrt.img.gz

扩展镜像大小

例如增加 10GB:dd if=/dev/zero bs=1M count=10240 >> openwrt.img

说明:

• count=10240 = 10GB

• 可根据需求调整

修改分区表:parted openwrt.img

查看分区:print

通常会看到:

Number  Start   End    Size

 1      …

 2      …

扩展第二分区:resizepart 2 100%

再次确认:print

如果第二分区已经占满整个镜像,说明成功。

退出:quit

四、EFI 扩容提示说明(重要)

在使用 EFI 镜像时,parted 可能会提示:

备份 GPT 表损坏
是否修复?

你会看到类似选项:

  • OK
  • Fix
  • Ignore

✅ 正确选择

👉 第一次:选择 OK

👉 第二次:选择 Fix

📌 原因解释

当你执行:dd 扩展镜像

实际上:

  • GPT 主表还在原位置
  • GPT 备份表还停留在旧末尾

👉 选择 Fix 会:

  • 自动把 GPT 备份表移动到新磁盘末尾
  • 修复分区结构

✔ 这是正常行为

不会破坏系统,也不会影响启动。

五、完整操作流程(汇总)

cd /path/to/image

gzip -kd openwrt.img.gz

rm openwrt.img.gz

dd if=/dev/zero bs=1M count=10240 >> openwrt.img

parted openwrt.img

print

resizepart 2 100%

print

quit

六、扩容完成后的状态

扩容完成后:

  • ✔ 镜像文件已变大
  • ✔ 分区已扩展
  • ✔ 可直接用于:
    • Proxmox 导入
    • 虚拟机使用
    • dd 写入硬盘
    • ESXi / KVM

七、实战建议(经验总结)

🔹 建议扩容大小

使用场景推荐大小
轻量使用2GB
常规插件8GB
OpenClash + 插件16GB+

🔹 常见坑

❌ 没有执行 resizepart

❌ GPT 没修复(没选 Fix)

❌ dd 扩容太小

🔹 额外说明

这个扩容只是:

👉 扩展磁盘 + 分区

如果在 OpenWrt 内还需要完全利用空间,通常还需要:

resize2fs

八、总结

这套方法的核心逻辑其实很简单:

先扩容镜像文件 → 再扩展分区 → 修复 GPT → 完成

, , ,

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注