Linux 虚拟机 fdisk

Linux 虚拟机与磁盘管理基础
Linux 虚拟机是通过虚拟化技术在物理主机上运行的独立操作系统实例,其磁盘管理是系统运维的核心环节之一,在虚拟化环境中,虚拟机的磁盘通常以虚拟磁盘文件(如 .vmdk、.qcow2、.vdi 等)形式存在,这些文件会被映射到虚拟机内部作为块设备,Linux 系统提供了多种工具来管理磁盘分区,fdisk 是一款经典且功能强大的命令行分区工具,广泛用于创建、删除、调整和查看磁盘分区表。
虚拟机的磁盘容量可能需要根据实际需求进行扩展或收缩,而 fdisk 作为低级分区工具,能够直接操作磁盘的分区表结构,为文件系统管理(如 ext4、XFS 等)提供基础,掌握 fdisk 的使用方法,对于 Linux 虚拟机的磁盘维护至关重要。
fdisk 工具的核心功能
fdisk 是一个交互式分区工具,支持 MBR(主引导记录)和 GPT(GUID 分区表)两种分区格式,其主要功能包括:
- 查看磁盘信息:显示磁盘的容量、扇区大小、分区表类型等基本信息。
- 创建分区:在未分配空间中新建主分区或扩展分区。
- 删除分区:移除现有分区并释放空间。
- 修改分区:调整分区的起始扇区、大小或标识符。
- 切换分区表格式:在 MBR 和 GPT 之间转换(需注意数据丢失风险)。
与 parted 等工具相比,fdisk 更适合处理小容量磁盘或简单的分区操作,而 GPT 分区下的 fdisk(如 gdisk)则提供了对大容量磁盘和分区的更好支持。

fdisk 的基本使用步骤
启动 fdisk
以 root 用户身份运行 fdisk 命令,并指定目标磁盘设备路径(如 /dev/sdb):
sudo fdisk /dev/sdb
交互式命令操作
进入 fdisk 交互界面后,可通过以下命令操作:
| 命令 | 功能描述 |
|---|---|
p |
打印当前分区表 |
n |
创建新分区 |
d |
删除指定分区 |
t |
修改分区类型(如 Linux、swap 等) |
w |
保存分区表并退出 |
q |
不保存退出 |
m |
显示帮助信息 |
分区操作示例
- 创建分区:输入
n选择主分区(p)或扩展分区(e),然后指定分区编号、起始扇区和结束扇区(或直接输入大小,如+10G)。 - 修改分区类型:输入
t并输入分区编号,再输入十六进制类型码(如83表示 Linux 原生分区,82表示 swap)。 - 保存更改:输入
w将分区表写入磁盘,此时系统会提示分区表已更新,需重启或使用partprobe重新加载分区信息。
fdisk 的高级场景应用
处理 GPT 分区表
对于支持 UEFI 的虚拟机,通常需要使用 GPT 分区表。fdisk 在较新版本中已支持 GPT 操作,可通过以下步骤切换:
Command (m for help): g # 转换为 GPT 格式 Command (m for help): p # 查看新的 GPT 分区表
调整分区大小
fdisk 本身不支持调整分区大小,需结合其他工具实现:

- 使用
fdisk删除原分区并创建新分区。 - 使用
resize2fs(针对 ext4 文件系统)或xfs_growfs(针对 XFS 文件系统)调整文件系统大小。
查看分区后的文件系统创建
分区完成后,需使用 mkfs 命令创建文件系统,
sudo mkfs.ext4 /dev/sdb1 # 创建 ext4 文件系统
fdisk 的注意事项与最佳实践
- 数据备份:分区操作可能导致数据丢失,操作前务必备份重要数据。
- 分区表兼容性:MBR 分区最多支持 4 个主分区或 3 个主分区+1 个扩展分区,而 GPT 支持更多分区且无容量限制。
- 文件系统对齐:现代 SSD 和虚拟磁盘建议分区起始扇区对齐到 4K 边界(如 2048 扇区),以提高性能。
- 工具替代方案:对于复杂操作(如跨分区调整大小),可考虑使用
parted或gparted等图形化工具。
fdisk 作为 Linux 系统中经典的分区工具,在虚拟机磁盘管理中仍具有重要地位,通过掌握其基本命令和高级功能,用户可以高效完成分区创建、删除和修改等操作,随着磁盘容量的增大和分区格式的演进,建议结合 parted、lsblk、blkid 等工具综合使用,以实现更灵活和安全的磁盘管理,在实际操作中,务必谨慎对待分区表修改,确保数据安全与系统稳定。



















