Post

掌握Linux磁盘管理:fdisk分区调整与文件系统扩容实战指南

2026-04-24

概述

本文详细说明如何通过fdisk工具调整Linux系统磁盘分区表,涵盖交换分区UUID复用、文件系统扩容等关键操作。适用于虚拟机磁盘扩展后的分区调整场景,需谨慎操作以避免数据丢失。

核心概念

  • fdisk:磁盘分区管理工具,用于创建、删除和调整分区表。
  • swapoff/mkswap:分别用于禁用和创建交换分区。
  • resize2fs:调整ext文件系统大小以适配新分区空间。
  • UUID复用:通过保留原有交换分区的UUID,确保系统重启后能正确挂载swap分区。

操作流程

准备工作

  1. 备份虚拟机:调整分区前务必备份整个虚拟机镜像。
  2. 检查当前状态
    • 使用df -h查看文件系统占用情况。
    • 通过fdisk -l /dev/sda确认当前分区布局,记录交换分区(swap)的大小和起始位置。

分区调整步骤

  1. 关闭swap分区

    1swapoff -a
    

    确保free -m显示Swap:0

  2. 删除旧分区

    • 运行fdisk /dev/sda,依次删除原有分区(sda1sda2)。
    • 记录分区起始位置(如2048),用于后续新建分区。
  3. 创建新分区

    • 新建两个分区:
      • 第一个分区(sda1)作为根分区,占用大部分空间。
      • 第二个分区(sda2)作为交换分区,大小与原交换分区一致。
    • 修改sda2的分区类型为82(Linux swap)。
  4. 处理交换分区UUID

    • 通过awk '/swap/ { print $1 }' /etc/fstab获取原UUID。
    • 使用dd清空新分区数据,再通过mkswap -U <UUID>绑定原UUID。
    • 最后执行swapon -a重新启用swap。
  5. 扩容文件系统

    • 运行resize2fs /dev/sda1,使文件系统适配新分区空间。

验证结果

  • 通过df -h确认根分区容量已更新。
  • 检查free -m确保swap分区正常启用。

注意事项

  1. 操作风险

    • 分区表修改可能导致系统无法启动,务必提前备份。
    • fdisk操作需谨慎,确认分区起始位置和大小。
  2. UUID复用技巧

    • 若新分区UUID与原不一致,需手动修改/etc/fstab文件。
    • dd清空分区时可能提示“磁盘空间不足”,此为正常现象。
  3. 虚拟机扩展

    • 扩展虚拟机磁盘后需重启虚拟机,使分区表生效。

总结

通过fdisk调整分区表并配合resize2fs扩容文件系统,可有效利用扩展后的磁盘空间。关键步骤包括关闭swap、分区重建、UUID复用及文件系统调整,操作时需严格遵循流程以避免数据丢失。对于复杂场景,建议结合partedgparted工具辅助操作。

相关工具使用可参考:linux-tools

相关来源