【Linux基础】fdisk命令详解:从入门到精通的磁盘分区管理完全指南
目录
前言
1 fdisk命令概述
1.1 什么是fdisk
1.2 fdisk的应用场景
1.3 fdisk与其他分区工具的比较
2 fdisk命令的安装与基本语法
2.1 在不同Linux发行版中安装fdisk
2.2 fdisk的基本语法
3 fdisk命令参数详解
3.1 主要参数说明
3.2 交互式命令
4 fdisk操作流程详解
4.1 完整的分区操作流程
4.2 实际操作示例
5 高级应用与实践
5.1 分区类型设置
5.2 分区对齐优化
6 注意事项与常见问题
6.1 安全注意事项
6.2 常见错误及解决方案
6.3 性能优化建议
7 总结
前言
在Linux系统中,磁盘管理是系统运维的重要环节。而fdisk作为Linux中最经典、最常用的磁盘分区管理工具,几乎成为了每个Linux系统管理员必备的技能。
1 fdisk命令概述
1.1 什么是fdisk
fdisk(Fixed Disk or Format Disk)是Linux系统中用于创建和管理磁盘分区表的命令行工具。它的全称是"Partition table manipulator for Linux",专门用于操作磁盘分区信息。
核心功能:
- 创建、删除、修改磁盘分区
- 查看磁盘分区表信息
- 支持多种分区表格式(MBR、GPT、Sun、SGI、BSD)
- 优化现代磁盘的分区布局(如4K扇区对齐)
1.2 fdisk的应用场景

- 需求分析:根据实际需求确定分区方案
- 选择工具:根据分区类型选择合适的工具(fdisk主要用于MBR分区)
- 执行操作:使用fdisk命令进行具体的分区操作
- 验证结果:检查分区是否正确创建并应用
1.3 fdisk与其他分区工具的比较
工具名称 | 支持分区表 | 最大分区大小 | 交互模式 | 适用场景 |
fdisk | MBR、GPT | 2TB(MBR) | 交互式 | 传统MBR分区,小容量磁盘 |
parted | MBR、GPT | 无限制 | 命令行/交互 | 大容量磁盘,现代分区表 |
gdisk | GPT | 无限制 | 交互式 | GPT分区,UEFI系统 |
cfdisk | MBR | 2TB | 交互式 | 图形化界面,初学者 |
2 fdisk命令的安装与基本语法
2.1 在不同Linux发行版中安装fdisk
- Ubuntu/Debian系统:
sudo apt-get update
sudo apt-get install fdisk
- CentOS/RHEL系统:
sudo yum install fdisk
# 或
sudo dnf install fdisk
- Arch Linux系统:
sudo pacman -S fdisk
2.2 fdisk的基本语法
fdisk [选项] 设备文件名
常用选项:
- -l:显示设备的分区表信息
- -u:以扇区单位显示分区信息
- -s:显示分区大小(已弃用)
- -V:显示版本信息
3 fdisk命令参数详解
3.1 主要参数说明

显示类参数:
- -l:列出指定设备的分区表信息
- -u:指定显示单位(扇区或柱面)
- -o:自定义输出列格式
操作类参数:
- -n:创建新分区(非交互模式)
- -d:删除分区(非交互模式)
- -t:指定分区类型
配置类参数:
- -b:指定扇区大小(512、1024、2048、4096)
- -H:指定磁头数
- -S:指定每磁道扇区数
3.2 交互式命令
- 进入fdisk交互模式后,可以使用以下命令:
命令 | 功能 | 说明 |
m | 显示帮助 | 显示所有可用命令 |
p | 打印分区表 | 显示当前分区信息 |
n | 新建分区 | 创建新的分区 |
d | 删除分区 | 删除指定分区 |
t | 修改分区类型 | 更改分区ID |
w | 保存并退出 | 将更改写入磁盘 |
q | 不保存退出 | 放弃更改退出 |
l | 列出分区类型 | 显示所有支持的分区类型 |
a | 设置引导标志 | 标记活动分区 |
c | 设置DOS兼容标志 | 设置DOS兼容性 |
4 fdisk操作流程详解
4.1 完整的分区操作流程

- 查看磁盘信息:使用fdisk -l命令查看当前磁盘分区情况
- 进入交互模式:使用fdisk /dev/sdX进入指定磁盘的交互模式
- 查看分区表:使用p命令查看当前分区表信息
- 分区管理:根据需要删除或创建分区
- 设置参数:为新建分区设置类型、大小等参数
- 保存更改:使用w命令将更改写入磁盘
- 验证结果:使用fdisk -l和lsblk验证分区是否正确创建
4.2 实际操作示例
- 示例1:查看磁盘分区信息
# 查看所有磁盘的分区信息
sudo fdisk -l# 查看指定磁盘的分区信息
sudo fdisk -l /dev/sda
- Device:设备名称
- Boot:是否为引导分区
- Start:起始扇区
- End:结束扇区
- Sectors:扇区总数
- Size:分区大小
- Id:分区类型ID
- Type:分区类型描述
- 示例2:创建主分区
sudo fdisk /dev/sdb# 在交互模式中执行以下命令:
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-1048575999, default 2048): # 回车使用默认值
Last sector, +sectors or +size{K,M,G,T} (2048-1048575999, default 1048575999): +10G # 设置分区大小Command (m for help): w # 保存并退出
- 示例3:创建扩展分区和逻辑分区
sudo fdisk /dev/sdb# 创建扩展分区
Command (m for help): n
Partition type:p primary (1 primary, 0 extended, 3 free)e extended
Select (default e): e # 选择扩展分区
Partition number (2-4, default 2): 2 # 扩展分区号
First sector (2097152-1048575999, default 2097152): # 回车使用默认值
Last sector, +sectors or +size{K,M,G,T} (2097152-1048575999, default 1048575999): +20G # 设置扩展分区大小# 创建逻辑分区
Command (m for help): n
Partition type:p primary (1 primary, 1 extended, 2 free)l logical (5 free)
Select (default l): l # 选择逻辑分区
Adding logical partition 5
First sector (4196352-44040191, default 4196352): # 回车使用默认值
Last sector, +sectors or +size{K,M,G,T} (4196352-44040191, default 44040191): +5G # 设置逻辑分区大小Command (m for help): w # 保存并退出
- 示例4:删除分区
sudo fdisk /dev/sdbCommand (m for help): p # 查看当前分区表
Command (m for help): d # 删除分区
Partition number (1-5, default 5): 3 # 要删除的分区号
Command (m for help): w # 保存并退出
5 高级应用与实践
5.1 分区类型设置

常用分区类型:
- 83:Linux原生分区
- 82:Linux交换分区
- 8e:Linux LVM分区
- 07:NTFS/HPFS分区(Windows)
- 0b:FAT32分区
- 12:EFI系统分区
- 05:扩展分区
5.2 分区对齐优化
- 现代硬盘(特别是SSD)需要考虑分区对齐以获得最佳性能:
# 对于4K扇区的硬盘,起始扇区应该是2048的倍数
sudo fdisk /dev/sdb
Command (m for help): n
First sector (2048-1048575999, default 2048): 2048 # 确保4K对齐
6 注意事项与常见问题
6.1 安全注意事项
- 数据备份:在进行分区操作前,务必备份重要数据
- 设备确认:确保操作正确的设备,避免误操作其他磁盘
- 谨慎使用:删除分区操作不可逆,请三思而后行
- 权限要求:需要root权限才能执行分区操作
6.2 常见错误及解决方案
错误信息 | 可能原因 | 解决方案 |
Device not found | 设备不存在 | 检查设备名称是否正确 |
Device is busy | 设备被占用 | 卸载相关分区或重启系统 |
Invalid partition table | 分区表损坏 | 使用fdisk /dev/sdX修复 |
Cannot write disk label | 权限不足 | 使用sudo提升权限 |
Partition overlaps | 分区重叠 | 重新规划分区布局 |
6.3 性能优化建议
- 分区对齐:确保分区起始位置符合硬盘的物理扇区大小
- 分区大小:避免创建过小的分区,减少分区表碎片
- 文件系统选择:根据使用场景选择合适的文件系统
- 定期检查:定期检查磁盘健康状态和分区完整性
7 总结
fdisk作为Linux系统中最基础、最经典的磁盘分区工具,虽然在功能上可能不如parted等现代工具强大,但其简单易用的交互模式和广泛的兼容性使其仍然是系统管理员的必备工具。
主要优势:
- 简单直观的交互式操作
- 广泛的Linux发行版支持
- 完善的MBR分区支持
- 丰富的在线文档和社区支持
适用场景:
- 传统MBR分区的管理
- 小容量磁盘的分区操作
- 学习Linux磁盘管理的基础
- 系统安装和基本的分区规划