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包含逻辑分区逻辑分区22GB3GB数据存储3. 分区实战操作流程3.1 进入fdisk交互界面fdisk /dev/sda出现命令提示符Command (m for help):3.2 创建主分区第一个主分区5GBCommand (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和33.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 创建逻辑分区第一个逻辑分区2GBCommand (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第二个逻辑分区使用剩余空间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 Linux3.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/sda4.2 格式化各分区mkfs.ext4 /dev/sda1 mkfs.xfs /dev/sda2 mkfs.ext4 /dev/sda3 mkfs.ext4 /dev/sda5 mkfs.xfs /dev/sda64.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/data24.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 -a5. 高级技巧与故障处理5.1 分区对齐优化现代磁盘性能受分区对齐影响建议始终使用fdisk的默认起始扇区2048该值已针对4K对齐优化。5.2 常见错误解决设备忙错误执行partprobe后仍报错时需重启系统逻辑分区不可见确保扩展分区已完全包含逻辑分区空间fstab挂载失败使用blkid获取UUID替代设备路径更可靠5.3 分区方案调整策略当需要修改现有分区时备份重要数据使用fdisk删除旧分区d命令创建新分区时保持相同起始扇区避免数据丢失使用fsck检查文件系统一致性对于生产环境建议在非高峰时段操作并使用screen或tmux防止会话中断。