fdisk是Linux下专为MBR分区表设计的常用磁盘分区工具,支持交互式操作,需用w保存更改,配合mkfs格式化和mount挂载才能使用分区。

fdisk 是 Linux 下最常用的磁盘分区工具,专为 MBR 分区表设计,适合传统 BIOS 启动环境。它不直接写入磁盘,所有操作先在内存中暂存,确认无误后才用 w 命令保存——这个特性既是安全机制,也意味着容易误操作丢数据,务必谨慎。
查看磁盘与分区现状
执行 sudo fdisk -l 可列出系统识别的所有磁盘及现有分区结构。重点关注设备名(如 /dev/sdb)、总容量、已存在分区(如 /dev/sdb1)及其类型(Id 列,比如 83 表示 Linux 文件系统,82 表示 swap)。若目标磁盘是全新未分区的,fdisk -l 会显示“Disk /dev/sdb: ... bytes, no partitions”之类提示。
进入交互式分区流程
运行 sudo fdisk /dev/sdb(把 sdb 换成你的真实目标盘),进入命令行界面。常用操作如下:
- p:打印当前分区表,确认起始扇区、可用空间范围
-
n:新建分区 —— 先选
p(主分区)或e(扩展分区);主分区最多 4 个;若需更多分区,必须建一个扩展分区,再在其内建逻辑分区(选n后自动变为逻辑分区) -
d:删除分区(输入分区号,如
1) -
t:修改分区类型(如将普通分区设为 swap,输入代码
82) - w:保存所有变更并退出(真正写入磁盘)
- q:不保存,直接退出
创建典型分区方案示例
以一块空盘为例,想分出 50GB 主分区 + 剩余空间作扩展分区,并在其中划两个各 20GB 的逻辑分区:
- 输入
n→p→1→ 回车(默认起始扇区)→ 输入+50G - 再输
n→e→2→ 回车 → 回车(用尽剩余空间) - 再输
n→ 自动进入逻辑分区模式 →+20G;重复一次得第二个逻辑分区 - 最后输
w写入。此时内核可能未立即识别新分区,可执行sudo partprobe刷新,或重启
后续关键步骤不能跳过
fdisk 只负责划分区块,分区还不能直接使用:
-
格式化:对每个要挂载的分区(不能对扩展分区本身)运行
sudo mkfs.ext4 /dev/sdb1或sudo mkfs.xfs /dev/sdb5 -
挂载:创建挂载点(如
sudo mkdir /mnt/data),再sudo mount /dev/sdb1 /mnt/data -
持久化:编辑
/etc/fstab添加一行,例如:/dev/sdb1 /mnt/data ext4 defaults 0 2
注意:不要在系统盘(如 /dev/sda)上盲目操作;建议先在虚拟机或备用硬盘练习。GPT 分区或大容量盘(>2TB)更推荐用 gdisk 或 parted。


















