在Linux系统中,新建磁盘分区是管理存储空间的常见操作,无论是新增硬盘、调整现有分区布局,还是为特定应用(如数据库、虚拟机)预留空间,都需要掌握分区创建流程,以下是详细的操作步骤,涵盖准备工作、分区工具使用、格式化、挂载及配置等关键环节。

准备工作:确认磁盘信息与工具选择
在分区前,需明确目标磁盘的设备名及当前状态,避免误操作系统分区,首先通过lsblk或fdisk -l命令查看所有磁盘信息:
lsblk # 显示磁盘分区结构,包括设备名、大小、挂载点等 fdisk -l # 显示磁盘分区表详细信息,包括分区类型、起始/结束扇区
若新增一块未分区的20GB硬盘,可能显示为/dev/sdb,大小为20GB,无分区信息。
工具选择:Linux常用分区工具包括fdisk(MBR分区表,适合小容量磁盘)、parted(支持MBR/GPT,功能更强大)、gdisk(GPT分区表专用),本文以fdisk(MBR)和parted(GPT)为例,覆盖主流场景。
使用fdisk创建MBR分区(适用于传统BIO系统)
进入分区交互界面
fdisk /dev/sdb # 替换为目标磁盘设备名
进入后,命令提示符变为fdisk: /dev/sdb,可通过m查看帮助命令。
创建主分区/扩展分区
MBR分区表最多支持4个主分区,或3个主分区+1个扩展分区(扩展分区内可创建多个逻辑分区),假设创建一个10GB主分区:
- 输入
n(新建分区)→ 选择p(主分区)→ 分区号默认1(回车)→ 起始扇区默认2048(回车,从2048扇区开始,避免与引导区冲突)→ 输入+10G(设置分区大小为10GB)。
若需创建扩展分区(用于后续创建逻辑分区),步骤类似,选择e(扩展分区),设置大小后,再通过n创建逻辑分区(选择l)。
设置分区类型(可选)
默认分区类型为“Linux”(83),若需修改(如swap分区、Windows分区等):

- 输入
t→ 选择分区号(如1)→ 输入类型代码(如swap为82,Windows NTFS为7),或L查看所有类型。
保存并退出
- 输入
w保存分区表,或q退出不保存(若操作错误可取消)。
保存后,系统会重新读取分区表,可通过lsblk查看新分区(如/dev/sdb1)。
使用parted创建GPT分区(适用于UEFI系统或大容量磁盘)
GPT分区表支持128个分区,最大容量18EB,更适合现代系统,操作步骤如下:
启动parted并设置磁盘标签
parted /dev/sdb # 进入parted交互界面 (parted) mklabel gpt # 创建GPT分区表(MBR则输入`msdos`)
创建分区
假设创建15GB主分区:
- 输入
mkpart primary ext4 1MiB 15GiB→ 语法为mkpart 分区类型 文件系统 起始地址 结束地址(1MiB避开引导扇区,GiB确保精确计算)。
若需创建多个分区,重复上述命令,调整地址范围(如第二个分区从15GiB到20GiB)。
查看与保存
- 输入
print查看分区信息 → 输入quit退出。
退出后,同样通过lsblk确认分区(如/dev/sdb1)。
格式化分区
创建分区后,需格式化为文件系统才能存储数据,常用文件系统:ext4(Linux通用)、xfs(大文件/高性能)、btrfs(高级功能如快照),以ext4为例:
mkfs.ext4 /dev/sdb1 # 格式化分区为ext4
若为swap分区,则使用mkswap /dev/sdb1;若需格式化xfs,则mkfs.xfs /dev/sdb1。

创建挂载点并挂载
创建挂载目录
mkdir /data # 自定义挂载点,如/data、/mnt/storage
临时挂载
mount /dev/sdb1 /data # 挂载分区到目录
验证:df -h查看挂载状态,或ls /data确认可访问。
设置开机自动挂载
临时挂载在重启后会失效,需配置/etc/fstab实现自动挂载:
- 获取分区UUID:
blkid -s UUID -o value /dev/sdb1 - 编辑fstab:
vim /etc/fstab,添加以下行:UUID=xxxx-xxxx /data ext4 defaults 0 0 # 替换为实际UUID,文件系统类型与格式化时一致
字段含义:
UUID(分区唯一标识)、挂载点、文件系统类型、挂载选项(defaults为读写等权限)、dump(0不备份)、fsck(0不检查)。
验证配置:mount -a(测试fstab语法),若无报错则重启后自动挂载。
MBR与GPT分区表对比
| 特性 | MBR分区表 | GPT分区表 |
|---|---|---|
| 分区数量 | 最多4个主分区(或3主+1扩展) | 最多128个分区 |
| 最大支持容量 | 2TB(需配合4K对齐) | 18EB(理论上限) |
| 引导方式 | 依赖BIOS,需活动分区标志 | 依赖UEFI,支持多系统引导 |
| 兼容性 | 兼容所有BIOS/UEFI系统 | 旧版BIOS可能不支持 |
| 冗余性 | 无冗余,分区表损坏易丢失数据 | 有备份分区表(头尾各一份),更安全 |
注意事项
- 操作前备份:分区操作会清除数据,务必提前备份重要分区(如系统盘)。
- 避免误操作系统盘:确认目标磁盘设备名(如
/dev/sdb而非/dev/sda),防止误删系统分区。 - 分区表类型匹配:UEFI系统需使用GPT,否则无法引导;传统BIOS可选MBR。
- 文件系统选择:根据需求选择文件系统(如ext4通用,xfs适合数据库,btrfs适合快照)。
- fstab配置正确性:UUID错误或挂载选项不当可能导致无法开机,建议先备份原fstab。
相关问答FAQs
Q1:如何删除Linux磁盘分区?
A:使用fdisk或parted删除分区,以fdisk为例:
- 运行
fdisk /dev/sdb进入交互界面; - 输入
d选择要删除的分区号(如1); - 输入
w保存退出,删除后需格式化或重建分区,原数据会被清除。
Q2:新建分区后无法挂载,提示“device not found”怎么办?
A:可能原因及解决方法:
- 分区表未生效:运行
partprobe或重启系统重新读取分区表; - 设备名错误:通过
lsblk确认分区设备名(如/dev/sdb1而非/dev/sdb); - 文件系统未格式化:使用
mkfs命令格式化分区; - fstab配置错误:检查UUID是否正确(
blkid验证),挂载点是否存在(mkdir创建)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/29951.html