MBR 分区重定义实现根目录在线扩容实战步骤

重要前提

  1. 操作前务必备份 / 目录下的重要数据
  2. 以下操作全程在线执行,无需卸载 / 分区,也无需重启

image

步骤 1:先记录当前 /dev/vda2 的关键信息(避免出错)

执行以下命令,把输出结果记下来(尤其是 Start 扇区):
fdisk -l /dev/vda | grep /dev/vda2
从输出看,/dev/vda2Start2099200,这个数值一定要记准!

关键注意事项

  1. 起始扇区必须和原分区一致:如果填错起始扇区,会直接丢失 / 目录的所有数据!一定要确认是 2099200。
  2. 操作过程中如果 fdisk 提示 Device or resource busy,忽略即可,partprobe 和 resize2fs 会处理。
  3. 全程不要重启系统,直到验证扩容成功。

步骤 2:删除旧的 /dev/vda2 分区(仅删除分区表,不删数据)

  1. 进入 fdisk 交互模式:
    fdisk /dev/vda
  2. 输入 d 回车(delete,删除分区)
  3. 输入 2 回车(删除第 2 个分区,即 vda2)

此时只会删除分区表记录,不会删除分区里的任何数据,放心操作

步骤 3:重新创建 /dev/vda2 分区(覆盖全部剩余空间)

  1. 输入 n 回车(new,新建分区)
  2. 输入 p 回车(primary,主分区)
  3. 分区号输入 2 回车
  4. 关键:First sector(起始扇区)必须填之前记录的 2099200,直接回车可能会自动填充,确认是 2099200 再继续
  5. Last sector 直接回车(默认使用最后一个扇区,即全部剩余空间)

交互过程中遇到关键的签名确认提示,这一步绝对不能选 Y,否则会损坏 /dev/vda2 上的 ext4 文件系统和数据!

image

  1. 输入 t 回车(修改分区类型)
  2. 输入 2 回车(选择第 2 个分区)
  3. 输入 83 回车(设置为 Linux 分区类型)
  4. 输入 a 回车(设置启动标记)
  5. 输入 1 回车(仅给 vda1 加启动标记,vda2 不需要)
  6. 输入 w 回车(write,保存分区表并退出)此时会提示 The partition table has been altered.,如果提示同步分区表失败,忽略即可,后续会刷新

image

步骤 4:刷新分区表,让系统识别新分区

执行以下命令刷新:
partprobe /dev/vda
  • 如果提示 Error: Partition(s) 2 on /dev/vda have been written, but we have been unable to inform the kernel of the change,可以忽略,resize2fs 会自动处理

步骤 5:扩展 ext4 文件系统(核心步骤)

因为根目录是 ext4 格式,执行以下命令扩展文件系统到新分区的全部空间:
resize2fs /dev/vda2
  • 执行成功会提示类似 Resizing the filesystem on /dev/vda2 to XXXXX (4k) blocks 的信息

步骤 6:验证扩容结果

执行以下命令查看根目录空间:
df -Th

image

此时会看到 /dev/vda2 的 Size 已经接近 300G(扣除 /boot 的 1G),说明扩容成功。
posted @ 2026-03-04 14:43  sxFu9528  阅读(4)  评论(0)    收藏  举报