Linux系统之fdisk详解

🌌 365bet备用开户 ⏳ 2025-07-03 18:03:37 👤 admin 👁️ 7505 💖 94
Linux系统之fdisk详解

fdisk 是一个在 Linux 和其他 Unix 类操作系统中广泛使用的命令行工具,用于查看和管理磁盘分区表。它支持多种分区表格式,包括 MBR(主引导记录)和 GPT(GUID 分区表),但默认情况下主要操作MBR类型的磁盘。

基本语法

fdisk [选项] 设备

fdisk -l [设备...] # 列出分区表

fdisk -s 分区... # 显示分区大小(块数)

fdisk -v # 显示版本

fdisk -h # 显示帮助

描述

fdisk 是一个交互式工具,用于管理磁盘分区表。支持多种分区表格式,包括:

GPT(实验性支持)MBR(传统主引导记录)Sun、SGI、BSD 等系统专用格式

关键功能:

创建、删除、调整分区大小设置分区类型(如 Linux 文件系统、交换分区)标记启动分区(MBR 格式)

设备与分区命名规则

设备路径:

现代系统:/dev/sda(SCSI/SATA/USB 等)旧系统:/dev/hda(IDE 硬盘)整个磁盘操作时需指定设备名(如 /dev/sda)。 分区路径:

主分区:/dev/sda1、/dev/sda2 等逻辑分区:/dev/sda5、/dev/sda6 等(从编号 5 开始)

分区表类型详解

1. DOS/MBR 分区表

特点:

最多支持 4 个主分区(或 3 主 + 1 扩展分区)。扩展分区中可包含多个逻辑分区(编号从 5 开始)。支持最大 2TB(512 字节扇区)。 注意事项:

BIOS 通常只能访问前 1024 磁道,大容量磁盘需引导分区位于此范围内。部分旧系统(如 DOS)依赖 C/H/S 格式,需注意兼容性。

2. BSD/SUN 分区表

特点:

支持 8 个分区(BSD)或 16 个分区(SGI)。第 3 分区(BSD)或第 11 分区(SGI)需为 全盘分区。

3. GPT 分区表

特点:

支持 最多 128 个分区。兼容大容量磁盘(>2TB)。安全性更高(CRC 校验、备份分区表)。

常用选项

显示类选项

-l:列出指定设备的分区表-s 分区:显示分区大小(以块为单位)-v:显示版本信息-h:显示帮助信息

格式化选项(已弃用)

-b 扇区大小:指定磁盘扇区大小(512/1024/2048/4096)-C 柱面数:指定柱面数-H 磁头数:指定磁头数(通常255或16)-S 每磁道扇区数:指定每磁道扇区数(通常63)

兼容性选项

-u[=单位]:显示单位(cylinders/柱面或sectors/扇区)-c[=模式]:兼容模式(dos或nondos)

交互模式常用命令

进入交互模式后(如fdisk /dev/sdb),可使用以下命令:

基础命令

m:显示帮助菜单p:打印分区表q:不保存退出w:保存并退出

分区操作

n:新建分区d:删除分区t:更改分区类型a:切换启动标志

高级功能

g:创建新的GPT分区表o:创建新的DOS分区表v:验证分区表i:显示分区信息

环境变量

变量名作用FDISK_DEBUG=0xffff启用调试模式(需内核支持)。

退出状态

状态码含义0成功。1通用错误(如无效参数、权限不足)。2输入/输出错误。

示例

示例 1:交互式操作磁盘分区表

sudo fdisk /dev/sda

# 进入交互模式后,可用以下命令:

# n - 新建分区

# d - 删除分区

# p - 列出分区表

# w - 保存并退出

示例 2:列出所有磁盘分区表

sudo fdisk -l

示例 3:查看 /dev/sda2 的大小(块数)

sudo fdisk -s /dev/sda2

示例 4:查看版本信息

fdisk -v

常见问题

Q: 执行 fdisk 时提示“无法打开设备”?

A:

确认设备路径正确(如 /dev/sda)。检查权限,需以 root 用户执行。确保磁盘已连接且未被挂载。

Q: 如何区分主分区和逻辑分区?

A:

主分区编号为 1-4,逻辑分区从 5 开始。扩展分区本身不存储数据,仅作为逻辑分区的容器。

Q: GPT 分区表如何转换为 MBR?

A:

不建议直接转换,需备份数据后重新分区。使用 gdisk 工具可辅助转换(需谨慎操作)。

Q: 为什么某些分区无法被 Windows 识别?

A:

确保分区类型正确(如 NTFS/FAT32)。对于 GPT 磁盘,需检查是否包含 EFI 系统分区(ESP)。

注意事项

数据安全:

分区操作会永久删除数据,操作前务必备份重要数据。使用 dd 清除分区前 512 字节以兼容旧版 DOS/Windows(如 dd if=/dev/zero of=/dev/sda1 bs=512 count=1)。 兼容性问题:

若与 Windows/DOS 共享磁盘,建议先用对方系统工具创建分区。避免使用已弃用的 -C、-H、-S 选项,现代系统自动检测磁盘参数。 权限要求:

需要 root 权限 执行分区操作:sudo fdisk /dev/sda

GPT 与 MBR 选择:

新磁盘推荐使用 GPT(支持大容量,安全性高)。BIOS 系统需 MBR,UEFI 系统可选择 GPT。

相关文章