温馨提示×

Linux分区:如何合并分区

小樊
37
2025-11-30 06:32:46
栏目: 智能运维

Linux 合并分区实操指南

一、先判断你的目标与前提

  • 合并分区通常指把同一块磁盘上相邻的未分配空间与某个分区扩容,或把多个磁盘的空间聚合为一个可用卷。不同场景工具与步骤不同。
  • 关键限制:大多数情况下只能把相邻的未分配空间合并到左侧分区;不相邻需先移动分区,存在数据风险。
  • 操作前务必:①完整备份重要数据;②确认设备名(如:/dev/sda、/dev/sdb),避免误操作系统盘;③对要扩容的分区先卸载;④尽量使用LiveCD/救援盘操作系统盘相关分区。

二、同一磁盘相邻分区合并(推荐用 GParted)

  • 场景:把分区 A 与右侧相邻的未分配空间合并(或把未分配空间合并进 A)。
  • 步骤:
    1. 安装并启动 GParted(图形界面)或在终端执行 sudo gparted
    2. 选择目标磁盘(如 /dev/sdb),确认 A 与未分配空间相邻(若不相邻,先移动分区使其相邻,操作耗时且风险更高)。
    3. 右键 A → Resize/Move,拖动右端滑块至未分配空间末端,点击 Resize/Move
    4. 点击工具栏 Apply 提交变更。
    5. 如为系统分区,建议在LiveCD中执行;完成后重启。
      说明:GParted 会在后台处理移动/扩容,界面化操作直观,适合新手与复杂布局。

三、同一磁盘用命令行合并(fdisk + 文件系统工具)

  • 场景:把某磁盘上的多个分区删除后重建为单一分区(会清空数据)。
  • 步骤:
    1. 查看磁盘与分区:sudo fdisk -l,确认目标磁盘(如 /dev/sdb)。
    2. 卸载相关分区:sudo umount /dev/sdb1(若有多个,逐一卸载)。
    3. 进入分区工具:sudo fdisk /dev/sdb
    4. 在 fdisk 中:
      • 输入 d 删除现有分区(若有多个,按需逐个删除);
      • 输入 n 新建分区,选择主分区(p),起始扇区默认,结束扇区默认(占满整盘);
      • 如需要可设置分区类型(常见 Linux 文件系统 83;若是 LVM 则 8e);
      • 输入 w 写入并退出。
    5. 通知内核重读分区表:sudo partprobe /dev/sdb(或重启)。
    6. 创建文件系统(示例):
      • ext4:sudo mkfs.ext4 /dev/sdb1
      • FAT32(U 盘常用):sudo mkfs.vfat -F 32 /dev/sdb1
    7. 挂载使用:sudo mount /dev/sdb1 /mnt
      说明:这是“删除后重建”的方式,适合把整盘恢复为一个分区;若只是扩容某个分区,优先用 GParted 的 Resize/Move。

四、跨磁盘“合并”成一块可用空间(LVM 或 mdadm)

  • 场景:把多块磁盘的空间合并,使系统将其视为一个整体卷(非传统意义的“合并分区”)。
  • 方案 A(LVM,灵活在线扩容):
    1. 准备磁盘分区(如 /dev/sdb1、/dev/sdc1),类型设为 Linux LVM(8e)
    2. 创建物理卷:sudo pvcreate /dev/sdb1 /dev/sdc1
    3. 创建卷组:sudo vgcreate vg_data /dev/sdb1 /dev/sdc1
    4. 创建逻辑卷:sudo lvcreate -l 100%VG -n lv_data vg_data
    5. 格式化:sudo mkfs.ext4 /dev/vg_data/lv_data
    6. 挂载:sudo mount /dev/vg_data/lv_data /data
    7. 后续扩容:新增磁盘做成 PV → vgextend vg_data /dev/sdd1lvextend -l +100%FREE /dev/vg_data/lv_dataresize2fs /dev/vg_data/lv_data(ext4)
  • 方案 B(mdadm RAID0/RAID1,条带或镜像聚合):
    • RAID0(合并带宽与容量):sudo mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1
    • 格式化并挂载:sudo mkfs.ext4 /dev/md0 && sudo mount /dev/md0 /data
      说明:LVM 更适合“按需扩展/缩减”和在线管理;RAID0 提升性能但不提供冗余,RAID1 提供冗余但容量折半。

五、常见坑与排错要点

  • 只能扩容到相邻的未分配空间;不相邻需先移动分区,时间长、风险高。
  • 系统盘扩容务必用LiveCD/救援盘;操作前备份
  • 扩容前先卸载分区;变更分区表后可用 partprobe 让内核重读。
  • 删除分区会清空数据;若只是想“合并可用空间”,优先用 GParted 的 Resize/Move
  • 云服务器/托管环境可能有厂商工具与快照流程,先在测试环境验证,遵循平台指引。

0