OpenWrt 官方脚本一键扩容(极高风险!踩坑历程及修复)
我们之前介绍过一种非常简单的扩容方法OpenWRT扩容方法——最简单有效的官方办法https://blog.csdn.net/i826056899/article/details/152663952现在有一种更简单同时又充满风险跟刺激的方法今天带大家一起来感受下刺激。我们买的软路由特别是x86路由通常都有比较大存储但是OpenWrt 默认镜像通常只占用几十到几百 MB 的空间即使你的磁盘有几十 GB也不会自动使用。官方提供了一套扩容方案expand_root但这套方案有严格适用条件并且在实际使用中非常容易踩坑。本文基于官方文档 实际踩坑经验帮你彻底讲清楚能不能用怎么用为什么会失败万一失败如何抢救一、适用范围必读官方文档一句话写得很轻但实际上非常关键This instruction expands OpenWrt root partition on x86 target翻译成工程语言可以用的场景主要有x86 软路由最典型KVM / VMware / Proxmox 虚拟机SATA / NVMe / SSD 安装 OpenWrt使用ext4 镜像勉强可用的有squashfs overlay部分情况可行但不稳定不要尝试高风险以下场景强烈不建议用这个方法ARM 设备树莓派 / CM4 / RK 系列等eMMC / SD 卡启动设备NAND / NOR flash 路由器非标准分区布局依赖 bootloader 特殊参数的设备因为这些设备的分区结构和启动链不是标准 PC 磁盘模型parted修改分区可能直接导致无法启动或者分区表损坏或者overlay 异常。二、执行步骤安装依赖OpenWrt 25.12opkg update opkg install parted losetup resize2fs blkidOpenWrt ≥ 25.12apk update apk add parted losetup resize2fs blkid执行扩容sh /etc/uci-defaults/70-rootpt-resize系统会自动扩分区重启扩文件系统再重启三、扩容失败然而现实很残酷我就遇到了。 实战踩坑ext4 扩容失败比如以下错误resize2fs: Invalid argument while trying to add group本质原因不是 parted 的问题而是ext4 在线扩容失败root 分区正在使用为什么会这样呢理论上ext4 支持在线扩容 但实际 OpenWrt 环境root 分区正在使用overlay 结构复杂loop 设备介入内核 / busybox 工具链限制。结果resize2fs 在当前系统环境下无法正确扩展 rootfs四、抢救方案当然没多少数据的话可以选择重刷。如果有很多配置不想重刷。那可以抢救下使用 Ubuntu Live 离线扩容。所以还需要有一个Ubuntu启动盘启动后进入试用ubuntu。这里别一不小心直接安装了我们的目的是进入另一个Linux系统这样原来的分区就变成一个普通的离线分区了就可以对他进行操作了。进入ubuntu 后打开终端找到 OpenWrt 分区lsblk例如/dev/sda2e2fsck -f /dev/sda2然后执行下属命令扩容 ext4即可。resize2fs /dev/sda2完成重启进入 OpenWrtdf -h看到空间变大 恭喜拯救成功。为什么离线一定成功核心区别场景状态OpenWrt 内root 正在使用 ❌Ubuntu Live目标分区未挂载 ✅本质上还是离线扩容避免了“根文件系统正在使用”的冲突
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2507042.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!