找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 1365|回复: 14

openwrt无法扩容分区,硬盘32g,实际只有1g可用

[复制链接]
5 币恩山币 回复本帖可获得 1 币恩山币奖励! 每人限 1 次
发表于 2025-5-16 10:47 | 显示全部楼层 |阅读模式
openwrt.ai编译完的固件,使用官方的扩容脚本无法扩容成功,32g的硬盘,实际只有1g可以用,这个怎么解决啊,显示是再挂载中了吗?

# Configure startup scriptscat << "EOF" > /etc/uci-defaults/70-rootpt-resizeif [ ! -e /etc/rootpt-resize  \&& type parted > /dev/null \&& lock -n /var/lock/root-resizethenROOT_BLK="$(readlink -f /sys/dev/block/"$(awk -e \'$9=="/dev/root"{print $3}' /proc/self/mountinfo)")"ROOT_DISK="/dev/$(basename "${ROOT_BLK%/*}")"ROOT_PART="${ROOT_BLK##*[^0-9]}"parted -f -s "${ROOT_DISK}" \resizepart "${ROOT_PART}" 100%mount_root donetouch /etc/rootpt-resize if [ -e /boot/cmdline.txt then NEW_UUID=`blkid ${ROOT_DISK}p${ROOT_PART} | sed -n 's/.*PARTUUID="\([^"]*\)".*/\1/p'`sed -i "s/PARTUUID=[^ ]*/PARTUUID=${NEW_UUID}/" /boot/cmdline.txtfi rebootfiexit 1EOFcat << "EOF" > /etc/uci-defaults/80-rootfs-resizeif [ ! -e /etc/rootfs-resize  \&& [ -e /etc/rootpt-resize  \&& type losetup > /dev/null \&& type resize2fs > /dev/null \&& lock -n /var/lock/root-resizethenROOT_BLK="$(readlink -f /sys/dev/block/"$(awk -e \'$9=="/dev/root"{print $3}' /proc/self/mountinfo)")"ROOT_DEV="/dev/${ROOT_BLK##*/}"LOOP_DEV="$(awk -e '$5=="/overlay"{print $9}' \/proc/self/mountinfo)"if [ -z "${LOOP_DEV}" thenLOOP_DEV="$(losetup -f)"losetup "${LOOP_DEV}" "${ROOT_DEV}"firesize2fs -f "${LOOP_DEV}"mount_root donetouch /etc/rootfs-resizerebootfiexit 1EOFcat << "EOF" >> /etc/sysupgrade.conf/etc/uci-defaults/70-rootpt-resize/etc/uci-defaults/80-rootfs-resizeEOF


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
发表于 2025-5-16 10:49 | 显示全部楼层

回帖奖励 +1 币恩山币

本帖最后由 iamyangyi 于 2025-5-16 10:57 编辑

要就自己编译改区块大小,再说1G对OP来说绰绰有余,基本用不完。 单独挂载空的空间放DOCKER和数据库 就行了。系统升级或 蹦了, 镜像都在。

点评

这种情况下,系统崩了,怎么恢复镜像?  详情 回复 发表于 2025-5-16 11:20
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-5-16 11:17 | 显示全部楼层

回帖奖励 +1 币恩山币

本帖最后由 linksys_wifi 于 2025-5-16 11:41 编辑

还真有人用openwrt.ai编译的固件,这纯纯是坑货。


点评

为什么是坑货,我用的挺好的  详情 回复 发表于 2025-5-16 15:11
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2025-5-16 11:20 | 显示全部楼层
iamyangyi 发表于 2025-5-16 10:49
要就自己编译改区块大小,再说1G对OP来说绰绰有余,基本用不完。 单独挂载空的空间放DOCKER和数据库 就行了 ...

这种情况下,系统崩了,怎么恢复镜像?
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-5-16 11:32 | 显示全部楼层

回帖奖励 +1 币恩山币

哪里显示的1g可用,你截图上显示的不是31.9G么

点评

别人说的overlay  详情 回复 发表于 2025-5-16 12:48
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-5-16 12:17 来自手机 | 显示全部楼层

回帖奖励 +1 币恩山币

装个diskman,剩余空间格式化挂载到/opt就行了,1g做overlay足够了,docker这些丢opt就行了
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-5-16 12:48 | 显示全部楼层
1562004423 发表于 2025-5-16 11:32
哪里显示的1g可用,你截图上显示的不是31.9G么

别人说的overlay  
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-5-16 13:41 | 显示全部楼层

回帖奖励 +1 币恩山币

squashfs格式的固件可以用firstboot命令,然后输入y 重置固件
不同版本的固件扩容脚本不能轻易套用
大概就是 修改磁盘空间 修改overlay偏移量 修改启动盘的UUID
有的固件扩容成功之后 还必须得执行一次firstboot 重置固件才能重启成功

点评

是 squashfs 有教程吗?  详情 回复 发表于 2025-5-16 15:10
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2025-5-16 15:10 | 显示全部楼层
churricane 发表于 2025-5-16 13:41
squashfs格式的固件可以用firstboot命令,然后输入y 重置固件
不同版本的固件扩容脚本不能轻易套用
大概就 ...


squashfs
有教程吗?

点评

如果你的设备无法外接显示器 还是不要这样扩容了 很可能你的设备就无法启动了 可以考虑扩容估计再刷入  详情 回复 发表于 2025-5-16 15:31
你用过的官方的扩容命令之后 现在都不知道你的硬盘是不是已经扩容 如果已经扩容 但是没起作用 那就需要修改偏移量 你的固件是带有efi引导的 所以还需要修改 引导uuid #对overlay扩容操作 LOOP="$(losetup -n -O NAM  详情 回复 发表于 2025-5-16 15:27
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2025-5-16 15:11 | 显示全部楼层
linksys_wifi 发表于 2025-5-16 11:17
还真有人用openwrt.ai编译的固件,这纯纯是坑货。

为什么是坑货,我用的挺好的
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-5-16 15:27 | 显示全部楼层
与我相关VIP 发表于 2025-5-16 15:10

squashfs
有教程吗?

你用过的官方的扩容命令之后 现在都不知道你的硬盘是不是已经扩容
如果已经扩容 但是没起作用 那就需要修改偏移量
你的固件是带有efi引导的 所以还需要修改 引导uuid
#对overlay扩容操作
LOOP="$(losetup -n -O NAME | sort | sed -n -e "1p")"
ROOT="$(losetup -n -O BACK-FILE ${LOOP} | sed -e "s|^|/dev|")"
OFFS="$(losetup -n -O OFFSET ${LOOP})"
LOOP="$(losetup -f)"
losetup -o ${OFFS} ${LOOP} ${ROOT}
fsck.f2fs -f ${LOOP}
mount ${LOOP} /mnt
umount ${LOOP}
#下面两条命令选择一条使用,不同格式的分区选择不同命令
#resize.f2fs -f ${LOOP}
resize2fs -f ${LOOP}

#查看新分区partuuid
blkid


/dev/nvme0n1p1: SEC_TYPE="msdos" LABEL_FATBOOT="kernel" LABEL="kernel" UUID="1234-ABCD" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="ff0d9aae-aea7-574e-c558-244a864c3b01"
/dev/nvme0n1p2: TYPE="squashfs" PARTUUID="ff0d9aae-aea7-574e-c558-244a864c3b02"
/dev/nvme0n1p3: UUID="264818b7-81a3-4f05-be25-d6f67cd5f92c" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="9668692d-6e99-cf4f-8551-12aa020724ce"
/dev/nvme0n1p4: UUID="4a63d00c-ccd1-42d1-9aaa-4d1afc721c7a" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="5edba33a-446d-ba40-8da7-7df29e8b267c"
/dev/nvme0n1p128: PARTUUID="ff0d9aae-aea7-574e-c558-244a864c3b80"


#修改/boot/grub/grub.cfg,防止启动无法启动
vi /boot/grub/grub.cfg


serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1 --rtscts=off
terminal_input console serial; terminal_output console serial


set default="0"
set timeout="0"
search -l kernel -s root


menuentry "OpenWrt" {
    linux /boot/vmlinuz root=PARTUUID=ff0d9aae-aea7-574e-c558-244a864c3b02 rootwait  console=tty0 console=ttyS0,115200n8 noinitrd swiotlb=65536
}
menuentry "OpenWrt (failsafe)" {
    linux /boot/vmlinuz failsafe=true root=PARTUUID=ff0d9aae-aea7-574e-c558-244a864c3b02 rootwait  console=tty0 console=ttyS0,115200n8 noinitrd
}


根据你自己的uuid修改

修改之后很可能重启失败 需要firstboot重置

上面的命令里面用到的工具必须提前安装

点评

大佬。这个流程有点麻烦啊,uefi的需要这么麻烦吗?legacy的可以简单点吗?  详情 回复 发表于 2025-5-16 17:09
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-5-16 15:31 | 显示全部楼层
与我相关VIP 发表于 2025-5-16 15:10

squashfs
有教程吗?

如果你的设备无法外接显示器 还是不要这样扩容了
很可能你的设备就无法启动了
可以考虑扩容固件再刷入
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2025-5-16 17:09 | 显示全部楼层
churricane 发表于 2025-5-16 15:27
你用过的官方的扩容命令之后 现在都不知道你的硬盘是不是已经扩容
如果已经扩容 但是没起作用 那就需要 ...

大佬。这个流程有点麻烦啊,uefi的需要这么麻烦吗?legacy的可以简单点吗?

点评

我看了一下你的脚本应该是在构建固件的时候写入脚本 openwrt第一次启动的时候 扩容overlay 但是不知道什么原因你的第二个脚本 etc/uci-defaults/80-rootfs-resize 没有执行成功 导致分区扩容了 但是偏移量没有修改  详情 回复 发表于 2025-5-16 17:33
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-5-16 17:33 | 显示全部楼层
与我相关VIP 发表于 2025-5-16 17:09
大佬。这个流程有点麻烦啊,uefi的需要这么麻烦吗?legacy的可以简单点吗? ...

我看了一下你的脚本应该是在构建固件的时候写入脚本
openwrt第一次启动的时候 扩容overlay
但是不知道什么原因你的第二个脚本 etc/uci-defaults/80-rootfs-resize
没有执行成功 导致分区扩容了 但是偏移量没有修改过来
可能你只需要执行

LOOP="$(losetup -n -O NAME | sort | sed -n -e "1p")"
ROOT="$(losetup -n -O BACK-FILE ${LOOP} | sed -e "s|^|/dev|")"
OFFS="$(losetup -n -O OFFSET ${LOOP})"
LOOP="$(losetup -f)"
losetup -o ${OFFS} ${LOOP} ${ROOT}
fsck.f2fs -f ${LOOP}
mount ${LOOP} /mnt
umount ${LOOP}
#下面两条命令选择一条使用,不同格式的分区选择不同命令
#resize.f2fs -f ${LOOP}
resize2fs -f ${LOOP}

这部分你的分区就会起作用

不过还是建议你对比一下 partuuid

在你执行完上面的脚本之后 执行blkid 命令 找到 带有squashfs 的这一行 记住后面的UUID

/dev/sda2: BLOCK_SIZE="262144" TYPE="squashfs" PARTUUID="a21fa13b-34b6-35b4-69bb-92e6f5a90e02"

然后查看 /boot/grub/grub.cfg文件中 的两个 PARTUUID 如果和上面的一样就不用修改 如果不一样就修改成上面的UUID

serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1 --rtscts=off
terminal_input console serial; terminal_output console serial

set default="0"
set timeout="5"
search -l kernel -s root

menuentry "OpenWrt" {
        linux /boot/vmlinuz root=PARTUUID=a21fa13b-34b6-35b4-69bb-92e6f5a90e02 rootwait  console=tty0 console=ttyS0,115200n8 noinitrd
}
menuentry "OpenWrt (failsafe)" {
        linux /boot/vmlinuz failsafe=true root=PARTUUID=a21fa13b-34b6-35b4-69bb-92e6f5a90e02 rootwait  console=tty0 console=ttyS0,115200n8 noinitrd
}
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2025-5-17 23:14 | 显示全部楼层
还是采用二楼的扩容为opt的方案
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /2 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2026-8-23 22:55

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 电话:13506125623

快速回复 返回顶部 返回列表