fdisk 是什么
fdisk 是经典的交互式分区工具,同时支持传统分区表与 GPT。它的操作都在内存里进行,直到执行写入命令才真正落盘,中途退出等于什么都没发生。典型流程是:选择设备、新建或删除分区、确认、写入。对已挂载并正在使用的磁盘改分区表风险很高,动手前必须确认。
基本信息
| 适用平台 | Linux,由 util-linux 提供;大容量与 4K 扇区场景更适合用 parted |
|---|---|
| 命令语法 | fdisk [选项] 设备 |
| 交互命令 | 帮助、打印、新建、删除、改类型、建 GPT、建传统分区表、写入、退出不保存 |
| 关键特性 | 写盘之前所有改动只存在于内存 |
典型使用场景
- 新盘第一次分区:建分区表并划出一个数据分区
- 为 LVM 准备分区:把分区类型标记成 LVM
- 查看分区布局:打印分区表与扇区起止
- 删除误建的分区:确认无数据后删掉重来
- 脚本化分区:用输入重定向喂交互命令
交互操作顺序
交互操作顺序
fdisk /dev/sdb
# 输入 g 建 GPT 分区表(输入 o 建传统分区表)
# 输入 n 新建分区,依次选择分区号与起始扇区
# 结束位置可以写 +500G,或直接回车用满剩余空间
# 输入 t 修改分区类型,例如标记为 LVM
# 输入 p 再确认一遍分区布局
# 输入 w 写入并退出(输入 q 则不保存退出)非交互写法
非交互写法
printf 'n\n\n\n+100G\nw\n' | fdisk /dev/sdb
partprobe /dev/sdb # 让内核重新读取分区表
lsblk -o NAME,SIZE,TYPE,FSTYPE交互命令
| 命令 | 作用 | 提示 |
|---|---|---|
| 打印 | 显示当前分区表 | 改动前后都该看一眼 |
| 新建 | 创建分区 | 需要指定起始与结束扇区 |
| 删除 | 删除分区 | 改动只在内存,写入后才落盘 |
| 改类型 | 修改分区类型标记 | 例如标记为 LVM |
| 建分区表 | 新建 GPT 或传统分区表 | 会清空现有分区定义 |
| 写入 | 保存并退出 | 不执行这步改动不会生效 |
| 退出不保存 | 放弃所有改动 | 改错了用它全身而退 |
对正在使用的磁盘改分区表可能导致数据不可读。动手前确认没有业务在写入,并已完成必要的备份。
4K 扇区盘或大容量场景下,扇区对齐与分区表类型的选择更复杂,交给 parted 处理通常更省心,也更容易做成脚本。