可能存在的问题:扩容后,系统原生的 Docker 应用中的多语言会出现问题,该问题在更新系统后恢复正常,使用系统恢复功能未必能修复,数据无价,请谨慎操作。
第一步:验证当前扩容结果(仅分区表内的扩容)
执行以下命令查看根分区当前容量,确认 resize2fs 的执行效果:
df -h /
输出示例(此时容量仍为约 63.9G 左右,未用到未分配空间):
Filesystem Size Used Avail Use% Mounted on
/dev/sdc2 64G 20G 41G 33% /
第二步:补全分区表调整(关键:占用未分配空间)
由于
sdc2是根分区且在线挂载,直接修改分区表有极高风险,强烈建议先备份/etc、/home等重要数据,再按以下安全流程操作。
1. 进入单用户模式(必须:离线修改系统分区表)
不同 NAS 系统进入单用户模式的通用方法:
-
重启 NAS,开机时快速按
e进入 GRUB 编辑界面; -
找到以
linux开头的行,在行尾添加:init=/bin/bash -
按
Ctrl+X启动,进入单用户模式(此时根分区为只读挂载,无进程占用)。
2. 重新挂载根分区为可写(仅单用户模式下)
mount -o remount,rw /
3. 使用 gdisk 调整分区 2(占用全部未分配空间)
进入分区工具:
/usr/sbin/gdisk /dev/sdc
依次执行以下命令(每一步都要核对参数,错了会丢数据!):
# 1. 删除原有分区2(仅删除分区表记录,不删数据)
Command (? for help): d
Partition number (1-2): 2
# 2. 重建分区2(核心:起始扇区必须和原分区一致!)
Command (? for help): n
Partition number (2-128, default 2): 2 # 分区号保持 2
First sector (34-468862094, default = 194560): 194560 # 必须填原起始扇区!
Last sector (194560-468862094, default = 468862094): [回车] # 用默认值占用全部剩余空间
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): [回车] # 保持分区类型
Partition name (32 characters max): SYSTEM # 分区名和原一致
# 3. 验证分区表(确认分区 2 大小变为约 223.5G)
Command (? for help): p
# 查看分区 2 的 Size 列,应显示约 223.5G(扣除 94M 的分区 1)
# 4. 保存分区表并退出(确认无误再执行!)
Command (? for help): w
Do you want to proceed? (Y/N): Y
4. 再次扩容文件系统到新分区大小
# 先检查文件系统完整性(单用户模式下无挂载,可安全执行)
e2fsck -f /dev/sdc2
# 扩容文件系统到分区表的最大容量
resize2fs /dev/sdc2
5. 退出单用户模式,重启 NAS
exec /sbin/init # 恢复正常启动流程
# 或直接执行:
# reboot
第三步:验证最终扩容结果
重启后登录 NAS,执行以下命令查看根分区容量:
df -h /
正常输出示例(容量应接近 223G):
Filesystem Size Used Avail Use% Mounted on
/dev/sdc2 223G 20G 191G 10% /