使用命令行进行磁盘分区是Linux系统管理中的基础技能,尤其适用于服务器或无图形界面的环境,以下将以Linux中最常用的fdisk
和parted
工具为例,详细介绍分区的完整流程,包括查看磁盘、创建分区、格式化、挂载及常见问题处理。

分区前的准备工作
-
查看磁盘信息
在分区前,需确认目标磁盘的设备名(如/dev/sdb
)及其容量,使用以下命令:lsblk # 查看块设备信息,包括磁盘名称、大小及分区情况 fdisk -l # 列出所有磁盘及其分区表类型(MBR/GPT)
若新插入的硬盘为20GB,在
lsblk
中显示为sdb
且无分区,则可开始操作。 -
选择分区工具
- fdisk:经典工具,支持MBR和GPT分区表,适合小于2TB的磁盘。
- parted:功能更强大,支持GPT且可处理大容量磁盘,推荐用于新系统。
使用fdisk分区(以MBR为例)
-
进入fdisk交互模式
(图片来源网络,侵删)sudo fdisk /dev/sdb
-
创建分区
- 输入
n
创建新分区,选择分区类型(主分区p
或扩展分区e
)。 - 指定分区号(默认从1开始)、起始扇区(直接回车使用默认值)、结束扇区(可输入
+5G
表示5GB)。 - 重复操作创建多个分区(如
/dev/sdb1
、/dev/sdb2
)。
- 输入
-
设置分区类型(可选)
若需指定文件系统类型(如Linux交换分区),输入t
,选择分区号后输入十六进制类型码(如82
表示Swap)。 -
保存并退出
输入w
写入分区表,或q
放弃更改。
使用parted分区(以GPT为例)
-
启动parted并选择磁盘
(图片来源网络,侵删)sudo parted /dev/sdb
-
设置分区表类型
输入mklabel gpt
(若需MBR则用mklabel msdos
)。 -
创建分区
- 输入
mkpart
,按提示输入分区名称(如primary
)、文件系统类型(如ext4
)、起始和结束大小(如1MiB 100%
或1GiB 5GiB
)。 - 示例:创建一个占满磁盘的ext4分区:
mkpart primary ext4 1MiB 100%
- 输入
-
查看与调整
输入print
查看分区信息,rm
删除分区,quit
退出。
格式化与挂载分区
-
格式化分区
根据文件系统类型格式化分区:sudo mkfs.ext4 /dev/sdb1 # ext4文件系统 sudo mkswap /dev/sdb2 # 交换分区
-
创建挂载点并挂载
sudo mkdir /data # 创建挂载目录 sudo mount /dev/sdb1 /data # 临时挂载
为实现开机自动挂载,需编辑
/etc/fstab
:echo "/dev/sdb1 /data ext4 defaults 0 0" | sudo tee -a /etc/fstab
分区操作注意事项
- 数据安全:分区操作会清空数据,操作前务必备份重要信息。
- 分区对齐:SSD或高级格式化磁盘需确保分区起始扇区对齐(通常为2048的倍数),
parted
可自动处理。 - GPT与MBR:GPT支持最多128个分区且无容量限制,MBR最多4个主分区(3个主分区+1个扩展分区)。
常见分区工具对比
工具 | 支持分区表 | 最大分区数 | 适用场景 | 交互命令 |
---|---|---|---|---|
fdisk | MBR/GPT | MBR:4 | 小容量磁盘、传统系统 | n/p/d/t/w |
parted | GPT/MBR | GPT:128 | 大容量磁盘、新系统 | mkpart/rm/print |
相关问答FAQs
问题1:如何删除已存在的分区?
解答:使用fdisk
时,输入d
选择要删除的分区号,最后w
保存;使用parted
时,输入rm [分区号]
后quit
,删除前需确保分区未被挂载且无重要数据。
问题2:分区后为何无法挂载,提示“device or resource busy”?
解答:通常因分区仍被系统占用,可执行sudo umount /dev/sdb1
强制卸载(若提示繁忙,尝试sudo umount -l /dev/sdb1
),或检查是否有进程占用(fuser -mv /dev/sdb1
),若问题持续,可能是文件系统错误,需用fsck
修复:sudo fsck /dev/sdb1
。