合并分区的核心原理
Linux合并分区本质是 “删除一个分区,将其空间并入相邻分区”,需满足两个条件:
- 分区物理相邻(如
/dev/sda2
和/dev/sda3
在磁盘上连续)。 - 分区表类型支持调整(如 GPT 或 MBR)。
⚠️ 警告:操作涉及分区删除和数据迁移,务必提前备份!
准备工作
-
备份数据:
rsync -avh /path/to/source /path/to/backup # 推荐rsync
或使用外部工具(如
Clonezilla
)。 -
检查分区布局:
sudo fdisk -l # 查看分区表 sudo lsblk # 显示分区相邻关系 sudo df -Th # 确认文件系统类型
关键点:确认目标分区(如
/dev/sda2
)和待删除分区(如/dev/sda3
)相邻且顺序正确。 -
卸载分区:
sudo umount /dev/sda3 # 卸载待删除分区
方法一:命令行合并(推荐)
场景示例:将 /dev/sda3
的空间合并到 /dev/sda2
(EXT4文件系统)。
步骤 1:删除待合并分区
sudo fdisk /dev/sda # 进入fdisk交互界面
- 输入
d
→ 选择分区号(如3
)。 - 输入
w
保存更改(/dev/sda3
被删除,空间变为“空闲”)。
步骤 2:扩展目标分区
sudo fdisk /dev/sda
- 输入
d
→ 删除目标分区(如/dev/sda2
,数据不会丢失)。 - 输入
n
→ 新建分区:- 起始扇区:必须与原起始扇区相同(记录删除前显示的数值)。
- 结束扇区:按默认值(占用所有空闲空间)。
- 输入
w
保存。
步骤 3:扩展文件系统
sudo e2fsck -f /dev/sda2 # 强制检查文件系统 sudo resize2fs /dev/sda2 # 扩展EXT4文件系统
- 若使用 XFS 文件系统:
sudo xfs_growfs /mount-point # 需先挂载分区
步骤 4:验证结果
sudo mount /dev/sda2 /mnt # 临时挂载 df -h /mnt # 检查容量是否增加
方法二:图形化工具(GParted)
适合新手,需从Live USB启动(如 Ubuntu 安装盘):
- 启动后安装 GParted:
sudo apt update && sudo apt install gparted
- 打开 GParted → 选择磁盘。
- 右键待删除分区 → Delete。
- 右键目标分区 → Resize/Move → 拖动滑块占满空闲空间。
- 点击 Apply(✅)执行操作。
常见问题解决
-
分区不相邻:
- 方案1:用
gparted
移动分区(耗时且风险高)。 - 方案2:备份数据→重建分区表。
- 方案1:用
-
操作后分区未扩展:
- 检查是否漏掉
resize2fs
或xfs_growfs
。 - 重启系统后重试。
- 检查是否漏掉
-
分区表错误:
sudo parted /dev/sda rescue # 尝试修复
关键注意事项
- 备份优先:任何分区操作都有数据丢失风险。
- 系统分区勿直接操作:合并
/boot
或 分区可能导致系统无法启动。 - LVM 更灵活:频繁调整分区建议改用 LVM 逻辑卷管理。
- 操作中断处理:若过程意外终止,用
fsck
检查文件系统:sudo fsck /dev/sda2
引用说明
- 工具参考:
fdisk
(util-linux 2.37.2),resize2fs
(e2fsprogs 1.46.5), GParted 1.3。 - 文件系统支持:EXT2/3/4, XFS, Btrfs(命令需调整)。
- 风险提示:操作需root权限,不当使用可能导致数据丢失。
提示:对生产环境服务器,建议在维护窗口期操作,并提前测试流程,合并完成后,更新
/etc/fstab
中旧分区的UUID引用(如有)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8731.html