fdisk是什么?
fdisk是Linux系统中磁盘分区管理的核心命令行工具,用于创建、删除、调整和查看硬盘分区表,它直接操作磁盘的MBR(主引导记录)或GPT(GUID分区表),适用于机械硬盘、SSD、U盘等存储设备。
⚠️ 重要警告(操作前必读)
- 数据备份:分区操作可能导致数据丢失,操作前务必备份重要文件。
- 谨慎选择磁盘:误操作可能损坏系统盘,通过
lsblk
或fdisk -l
确认目标磁盘。 - 勿操作已挂载磁盘:卸载磁盘后再操作(
umount /dev/sdX
)。
基础命令语法
sudo fdisk [选项] [设备名]
常用选项:
-l
:列出所有磁盘分区表(无需root权限)-u
:显示分区大小时使用扇区单位(默认512字节)
示例:
sudo fdisk -l # 查看所有磁盘信息 sudo fdisk /dev/sdb # 操作第二块硬盘(sda通常是系统盘)
交互模式常用命令详解
进入fdisk后(如sudo fdisk /dev/sdb
),输入m
查看帮助:
| 命令 | 功能 | 使用场景 |
|——|——|———-|
| p
| 打印分区表 | 查看当前分区结构 |
| n
| 创建新分区 | 添加主分区/扩展分区/逻辑分区 |
| d
| 删除分区 | 删除指定分区号 |
| t
| 修改分区类型 | 设置Linux(83)、交换分区(82)、EFI(EF)等 |
| w
| 保存并退出 | 所有修改生效(不可逆!) |
| q
| 退出不保存 | 放弃所有修改 |
| g
| 创建GPT分区表 | 替代传统MBR(支持>2TB磁盘) |
| o
| 创建MBR分区表 | 传统分区方案 |
实战示例:创建Linux分区
目标:在/dev/sdb
上创建1个10GB的EXT4分区
sudo fdisk /dev/sdb
- 输入
n
→ 选择p
(主分区)→ 分区号默认(1)→ 起始扇区默认 → 输入+10G
- 修改分区类型:输入
t
→ 选分区1 → 输入83
(Linux文件系统) - 检查分区表:输入
p
(应显示/dev/sdb1
,大小约10GB) - 保存:输入
w
(分区表写入磁盘)
后续操作:
sudo mkfs.ext4 /dev/sdb1 # 格式化分区为EXT4 sudo mount /dev/sdb1 /mnt # 挂载到/mnt目录
高级技巧与注意事项
-
GPT分区管理:
- 使用
g
命令初始化GPT分区表(推荐UEFI系统或>2TB磁盘) - 通过
t
命令设置EFI系统分区类型为EF00
- 使用
-
分区对齐优化:
- 起始扇区建议为2048的倍数(默认值已对齐)
- 避免性能下降,尤其对SSD和高级格式磁盘
-
分区类型代码:
82
:Linux交换分区(SWAP)83
:Linux文件系统(EXT4/XFS)8e
:LVM物理卷- 输入
L
查看所有类型代码
-
修复分区表:
- 误删分区时,用
q
退出不保存,尝试用testdisk
工具恢复
- 误删分区时,用
替代工具推荐
parted
:支持更复杂操作(如调整分区大小)gdisk
:专用于GPT分区表的fdisk替代品cfdisk
:基于文本界面的交互工具(新手友好)
最佳实践:生产环境操作前,使用
qemu-img
创建虚拟磁盘测试命令流程。
引用说明
- Linux
man fdisk
官方手册(2025) - Ubuntu社区文档:Disk Partitioning Guide
- IBM Developer:Advanced Format磁盘技术白皮书
重要提示基于Linux 5.15内核版本验证,操作时请以实际环境为准,修改分区表属于高风险操作,建议在专业运维人员指导下进行。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5825.html