fdisk 分区实战:1块20GB磁盘创建3主1扩2逻辑分区完整流程

📅 2026/7/6 12:10:50 👁️ 阅读次数 📝 编程学习
fdisk 分区实战:1块20GB磁盘创建3主1扩2逻辑分区完整流程

fdisk 分区实战:1块20GB磁盘创建3主1扩2逻辑分区完整流程

在Linux服务器运维中,磁盘分区是基础但至关重要的技能。不同于常见的4个主分区方案,本文将带你深入MBR分区表的限制与潜力,通过fdisk工具在一块20GB磁盘上实现3个主分区、1个扩展分区和2个逻辑分区的复杂规划。这种配置既能满足多系统引导需求,又能突破4个主分区的限制,特别适合需要灵活存储管理的生产环境。

1. 环境准备与磁盘识别

首先确认你的Linux服务器已识别到目标磁盘。执行以下命令查看当前磁盘情况:

lsblk

输出示例:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk sdb 8:16 0 100G 0 disk └─sdb1 8:17 0 100G 0 part /data

假设我们的目标磁盘是sda,使用fdisk -l /dev/sda确认磁盘详情:

fdisk -l /dev/sda

注意:所有操作将在/dev/sda上进行,请务必确认目标磁盘无误,错误操作可能导致数据丢失。

2. MBR分区表原理与规划

MBR(主引导记录)分区方案有以下核心特性:

  • 4个主分区槽位:可直接使用或转换为扩展分区
  • 扩展分区:作为一个特殊主分区,可包含多个逻辑分区
  • 分区编号规则
    • 主分区:1-4
    • 逻辑分区:从5开始编号

我们的20GB磁盘规划如下:

分区类型数量大小用途
主分区3各5GB系统、应用、备份
扩展分区15GB包含逻辑分区
逻辑分区22GB+3GB数据存储

3. 分区实战操作流程

3.1 进入fdisk交互界面

fdisk /dev/sda

出现命令提示符:Command (m for help):

3.2 创建主分区

  1. 第一个主分区(5GB):

    Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-41943039, default 2048): [Enter] Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): +5G
  2. 重复上述步骤创建第二、三个主分区(分区号分别选2和3)

3.3 创建扩展分区

Command (m for help): n Partition type: p primary (3 primary, 0 extended, 1 free) e extended Select (default e): e Selected partition 4 First sector (31459328-41943039, default 31459328): [Enter] Last sector, +sectors or +size{K,M,G,T,P} (31459328-41943039, default 41943039): [Enter]

3.4 创建逻辑分区

  1. 第一个逻辑分区(2GB):

    Command (m for help): n All primary partitions are in use Adding logical partition 5 First sector (31461376-41943039, default 31461376): [Enter] Last sector, +sectors or +size{K,M,G,T,P} (31461376-41943039, default 41943039): +2G
  2. 第二个逻辑分区(使用剩余空间):

    Command (m for help): n All primary partitions are in use Adding logical partition 6 First sector (35655680-41943039, default 35655680): [Enter] Last sector, +sectors or +size{K,M,G,T,P} (35655680-41943039, default 41943039): [Enter]

3.5 验证分区表

输入p查看完整分区表:

Device Boot Start End Sectors Size Id Type /dev/sda1 2048 10487807 10485760 5G 83 Linux /dev/sda2 10487808 20973567 10485760 5G 83 Linux /dev/sda3 20973568 31459327 10485760 5G 83 Linux /dev/sda4 31459328 41943039 10483712 5G 5 Extended /dev/sda5 31461376 35655679 4194304 2G 83 Linux /dev/sda6 35655680 41943039 6287360 3G 83 Linux

3.6 保存并退出

Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.

4. 分区格式化与挂载

4.1 刷新分区表

partprobe /dev/sda

4.2 格式化各分区

mkfs.ext4 /dev/sda1 mkfs.xfs /dev/sda2 mkfs.ext4 /dev/sda3 mkfs.ext4 /dev/sda5 mkfs.xfs /dev/sda6

4.3 创建挂载点并挂载

mkdir -p /mnt/{system,apps,backup,data1,data2} mount /dev/sda1 /mnt/system mount /dev/sda2 /mnt/apps mount /dev/sda3 /mnt/backup mount /dev/sda5 /mnt/data1 mount /dev/sda6 /mnt/data2

4.4 配置开机自动挂载

编辑/etc/fstab文件,添加以下内容:

/dev/sda1 /mnt/system ext4 defaults 0 2 /dev/sda2 /mnt/apps xfs defaults 0 2 /dev/sda3 /mnt/backup ext4 defaults 0 2 /dev/sda5 /mnt/data1 ext4 defaults 0 2 /dev/sda6 /mnt/data2 xfs defaults 0 2

验证配置是否正确:

mount -a

5. 高级技巧与故障处理

5.1 分区对齐优化

现代磁盘性能受分区对齐影响,建议始终使用fdisk的默认起始扇区(2048),该值已针对4K对齐优化。

5.2 常见错误解决

  • 设备忙错误:执行partprobe后仍报错时,需重启系统
  • 逻辑分区不可见:确保扩展分区已完全包含逻辑分区空间
  • fstab挂载失败:使用blkid获取UUID替代设备路径更可靠

5.3 分区方案调整策略

当需要修改现有分区时:

  1. 备份重要数据
  2. 使用fdisk删除旧分区(d命令)
  3. 创建新分区时保持相同起始扇区(避免数据丢失)
  4. 使用fsck检查文件系统一致性

对于生产环境,建议在非高峰时段操作,并使用screentmux防止会话中断。