fdisk 是 Linux 系统中一款经典且功能强大的磁盘分区管理工具,主要用于创建、删除、调整和查看磁盘分区表,它支持 MBR(主引导记录)和 GPT(GUID 分区表)两种主流分区格式,是系统管理员和 Linux 用户进行磁盘管理时不可或缺的命令行工具,本文将详细介绍 fdisk 命令的使用方法、核心功能及注意事项,帮助读者全面掌握这一实用工具。

fdisk 命令的基本概述
fdisk 最初为 DOS 系统设计,后被 Linux 系统移植并扩展,成为管理磁盘分区的标准工具之一,它的核心功能是通过直接操作磁盘分区表来管理分区,支持查看磁盘信息、创建新分区、删除现有分区、修改分区类型、调整分区顺序等操作,与图形化分区工具相比,fdisk 以命令行形式运行,轻量高效,适合服务器或无界面的 Linux 环境。
在 Linux 中,fdisk 通常需要 root 权限才能执行,因为它直接访问磁盘设备文件(如 /dev/sda、/dev/vdb 等),使用前需确保目标磁盘未被系统正在使用,否则可能导致数据丢失或分区失败。
fdisk 的基本语法与常用参数
fdisk 命令的基本语法结构为:fdisk [选项] 磁盘设备,常用选项包括:
-l:列出指定磁盘的分区信息,不进入交互模式。fdisk -l /dev/sda会显示磁盘 /dev/sda 的所有分区及其详细信息。-u:显示分区大小时以扇区为单位,而非默认的柱面(cylinder)。-s:显示指定分区的块大小(1024 字节为单位),主要用于脚本中获取分区大小。-c:切换 DOS 兼容标志的显示状态。
不带选项直接运行 fdisk 磁盘设备(如 fdisk /dev/sda)会进入交互模式,用户可通过命令对磁盘进行分区操作。
交互模式下的核心操作
进入 fdisk 交互模式后,命令行会显示磁盘的当前分区表,并提示 Command (m for help):,此时可输入相应命令执行操作,以下是核心命令及其功能:

查看分区信息
m:显示所有可用命令的帮助信息,适合新手快速了解功能。p:打印当前磁盘的分区表,包括分区号、起始扇区、结束扇区、大小、系统类型等。i:显示指定分区的详细信息,如 UUID、文件系统标签、分区标志等。
创建新分区
n:创建新分区,根据磁盘类型(MBR/GPT),fdisk 会引导用户选择分区类型(主分区/扩展分区/逻辑分区),MBR 磁盘最多支持 4 个主分区或 3 个主分区+1 个扩展分区(扩展分区可包含多个逻辑分区);GPT 磁盘则支持最多 128 个分区。- 创建时需指定分区编号(MBR 中主分区编号 1-4,逻辑分区从 5 开始)、起始扇区和结束扇区(可通过
+size格式指定大小,如+10G表示 10GB)。
- 创建时需指定分区编号(MBR 中主分区编号 1-4,逻辑分区从 5 开始)、起始扇区和结束扇区(可通过
t:修改分区的系统类型(ID),将分区类型设置为 Linux 文件系统(ID 83)或 swap(ID 82),GPT 分区中,t命令用于设置分区 GUID 类型。
删除分区
d:删除指定分区,需输入要删除的分区编号,删除后分区表会立即更新(但实际数据未清除,需谨慎操作)。w:保存分区表并退出,保存后,系统会重新读取分区表,若分区已格式化,可能需执行partprobe或重启系统使内核识别新分区。q:不保存更改并退出,适用于误操作时撤销修改。
调整与转换分区表
g:将磁盘分区表转换为 GPT 格式,此操作会清空所有现有分区,需提前备份数据。o:将磁盘分区表转换为 MBR 格式,同样会清空数据,需谨慎使用。l:列出所有支持的分区类型 ID 及其对应名称,方便用户选择合适的系统类型。
其他实用命令
v:检查分区表的一致性,确保无错误。a:切换可启动标志(bootable flag),用于指定系统启动分区(仅 MBR 分区有效)。x:进入专家模式,提供更多高级功能,如修改扇区大小、移动分区表等(一般用户较少使用)。
fdisk 使用示例
示例 1:查看磁盘分区信息
sudo fdisk -l /dev/sdb
输出会显示磁盘 /dev/sdb 的总容量、扇区大小,以及所有分区的详细信息(如分区号、大小、类型等)。
示例 2:创建新分区
sudo fdisk /dev/sdb
进入交互模式后:
- 输入
n创建新分区,选择主分区(p),编号默认为 1,起始扇区直接回车(使用默认值),结束扇区输入+20G创建 20GB 分区。 - 输入
t修改分区类型,输入83设置为 Linux 文件系统。 - 输入
w保存并退出。
示例 3:删除分区
sudo fdisk /dev/sdb
进入交互模式后:
- 输入
p查看分区表,找到要删除的分区编号(如 2)。 - 输入
d并输入分区编号 2,确认删除。 - 输入
w保存退出。
使用 fdisk 的注意事项
-
数据安全:fdisk 操作直接修改分区表,误删分区或转换分区表可能导致数据丢失,操作前务必备份重要数据,并确认目标磁盘未被系统关键进程占用(如根分区、交换分区等)。
-
分区表格式兼容性:MBR 分区表最大支持 2TB 磁盘,且分区数量有限;GPT 支持更大磁盘和更多分区,现代系统推荐使用 GPT,若需双系统启动,需确保引导程序兼容(如 Windows 与 Linux 双系统时,Windows 引导可能无法直接识别 GPT 分区)。

-
文件系统创建:fdisk 仅负责分区表操作,创建分区后需使用
mkfs命令格式化文件系统(如mkfs.ext4 /dev/sdb1),并使用mount命令挂载分区。 -
内核重读分区表:保存分区表后,若内核未立即识别新分区,可执行
sudo partprobe或sudo partx -u /dev/sdb刷新分区信息,避免重启系统。
fdisk 的替代工具
虽然 fdisk 功能强大,但部分场景下可能需要更现代的工具:
- parted:支持 GPT/MBR,提供高级分区操作(如调整分区大小),适合复杂分区管理。
- gdisk:GPT 分区表的专用工具,操作更直观,支持 GPT 特有功能(如恢复损坏的 GPT)。
- gparted:图形化分区工具,适合新手使用,支持多种文件系统和分区表格式。
fdisk 作为 Linux 系统的经典分区工具,凭借其简洁高效的特点,在服务器管理和日常运维中仍具有重要地位,掌握其基本操作和注意事项,能够帮助用户灵活管理磁盘分区,满足系统部署、数据存储等需求,由于 fdisk 操作风险较高,建议在非生产环境充分练习后再应用于实际系统,并结合 mkfs、mount 等命令完成分区的完整配置。

















