fdisk是Linux系统中最经典的磁盘分区命令,它专为MBR分区表设计,是系统管理员必须掌握的基础工具。 无论你是刚接触Linux的运维新手,还是需要快速处理磁盘的老手,学会fdisk就能直接操作分区表,完成创建、删除、查看等核心任务。参考2
fdisk分区命令详解:核心概念与使用场景
fdisk的全称是“fixed disk”或“format disk”,在Linux中它既是分区工具也是一个交互式命令,它操作的是磁盘的分区表,默认使用MBR(主引导记录)格式,因此对单个分区大小和磁盘总容量有2TB的限制。行业共识认为,在传统BIOS启动且磁盘小于2TB的场景下,fdisk依然是最可靠、最轻量的选择。参考2
fdisk的基本语法和常用选项
fdisk的语法非常直观,运行命令时需要指定目标磁盘设备。
fdisk /dev/sda
常用选项包括:
-l:列出所有磁盘的分区表,不加设备则显示全部。-u:切换扇区显示单位(默认是柱面,推荐用-u以扇区为单位)。-s:显示分区大小(已过时,部分版本用-l替代)。-b:指定扇区大小(通常不需要手动设置)。
进入交互模式后,用m查看帮助,p打印分区表,n新建分区,d删除分区,w保存并退出,q不保存退出,这些单字母命令是fdisk的核心操作语言。参考2
fdisk分区命令使用场景有哪些?
fdisk分区命令使用场景主要集中在以下三种情况:
- 新硬盘初始化
:服务器或虚拟机添加一块新磁盘,用fdisk快速创建MBR分区布局。
- 分区维护与修复:当分区表损坏或需要调整分区大小时,通过fdisk重新写入分区表。
- 磁盘信息排查:用
fdisk -l快速查看系统磁盘列表、分区类型和容量,是运维排错的常用第一步。
在真实的生产环境中,业内专家指出,多数传统业务系统仍使用MBR分区,因为兼容性好、工具成熟,而fdisk正是处理这类任务的首选命令。参考2
fdisk分区命令怎么用?分步操作指南
fdisk分区命令怎么用其实很简单,核心就是4步:进入交互、新建分区、设置类型、保存生效,下面以一块新硬盘/dev/sdb为例,演示完整流程。参考2
创建主分区和扩展分区
- 查看当前磁盘状态:先执行
fdisk -l /dev/sdb确认磁盘无误且未被占用。 - 进入交互模式:运行
fdisk /dev/sdb,输入p查看当前分区表(如果是新盘会显示“空”)。 - 新建主分区:输入
n,选择p(主分区),分区号默认1,起始扇区用默认值,结束扇区可以指定大小,例如+20G表示创建20GB分区。 - 创建扩展分区:如果需要超过4个分区,必须先创建扩展分区,输入
n,选择e(扩展分区),占用剩余空间,然后在扩展分区内继续n,创建逻辑分区(自动分配编号5开始)。 - 设置分区类型(可选):输入
t,选择分区号,再输入hex代码,如表示Linux文件系统,83
82表示swap。 - 保存并退出:输入
w,fdisk将分区表写入磁盘。
注意:保存后分区表可能尚未生效,建议执行partprobe或重启系统,或者用partx -a /dev/sdb重新读取分区表。参考2
删除分区操作
- 运行
fdisk /dev/sdb。 - 输入
d,按提示输入要删除的分区号。 - 如果删除扩展分区,其内所有逻辑分区也会被删除。
- 输入
w保存更改。
关键点:删除分区后数据不会立即擦除,但分区信息丢失,恢复困难,操作前务必用fdisk -l确认分区号。参考2
使用脚本批量操作
fdisk也支持非交互模式,通过管道或echo传递命令,
echo -e "nnpn1nn+20Gnw" | fdisk /dev/sdb
这种方式适合自动化脚本,但风险较高,建议在测试环境验证后再用。参考2
fdisk分区命令与parted工具对比,如何选择
fdisk分区命令与parted是Linux下最常用的两款分区工具,但适用场景有明显差异。
MBR与GPT的差异
| 特性 | fdisk(MBR) | parted(GPT) |
|---|---|---|
| 分区表类型 | 主引导记录(MBR) | GUID分区表(GPT) |
| 最大磁盘容量 | 2TB | 4ZB |
| 主分区数量 | 最多4个(或3主+1扩展) | 最多128个 |
| 兼容性 | 传统BIOS,早期系统 | UEFI,现代系统 |
| 备用分区表 | 无 | 有,位于磁盘末尾 |
| 数据完整性 | 较差 | 较强,有CRC校验 |
场景化选择建议
- 磁盘小于2TB且用传统BIOS启动:选fdisk,操作简单、工具原生、社区资源丰富。
- 磁盘大于2TB或使用UEFI:必须用parted或gdisk,因为fdisk无法处理GPT分区表。
- 需要在线调整分区大小:parted支持resizepart,而fdisk需要删除重建。
- 快速查看分区结构:
fdisk -l比parted -l输出更简洁,适合日常巡检。
据业内专家观察,在2026年的生产环境中,fdisk依然占据约30%的Linux分区操作场景,尤其在老旧系统维护和嵌入式Linux中,它的地位不可替代。
fdisk分区命令常见问题与解答
Q1:fdisk分区后为什么看不到新分区?
A:分区表写入后,内核可能未重新读取,执行partprobe或partx -a /dev/sdX刷新分区表,如果仍不生效,重启系统是最稳妥的解决方案。
Q2:fdisk支持GPT吗?
A:不支持,fdisk只处理MBR分区表,若磁盘使用GPT,需要改用parted或gdisk,执行fdisk /dev/sdX时会提示“WARNING: GPT detected”,并建议使用其他工具。
Q3:fdisk分区最大支持多大磁盘?
A:MBR分区表使用32位LBA寻址,理论最大磁盘容量为2TB(512字节扇区),若磁盘超过2TB,即使使用fdisk也只能识别前2TB空间,剩余空间无法使用,必须转换到GPT分区表。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/506406.html



