飞牛云OS 系统盘扩容步骤

70 阅读3分钟

可能存在的问题:扩容后,系统原生的 Docker 应用中的多语言会出现问题,该问题在更新系统后恢复正常,使用系统恢复功能未必能修复,数据无价,请谨慎操作。

第一步:验证当前扩容结果(仅分区表内的扩容)

执行以下命令查看根分区当前容量,确认 resize2fs 的执行效果:

df -h /

输出示例(此时容量仍为约 63.9G 左右,未用到未分配空间):

Filesystem      Size  Used Avail Use% Mounted on
/dev/sdc2       64G   20G   41G  33% /

第二步:补全分区表调整(关键:占用未分配空间)

由于 sdc2 是根分区且在线挂载,直接修改分区表有极高风险,强烈建议先备份 /etc/home 等重要数据,再按以下安全流程操作。

1. 进入单用户模式(必须:离线修改系统分区表)

不同 NAS 系统进入单用户模式的通用方法:

  1. 重启 NAS,开机时快速按 e 进入 GRUB 编辑界面;

  2. 找到以 linux 开头的行,在行尾添加:

    init=/bin/bash
    
  3. 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% /