Linux磁盘分区最全教程:fdisk/parted创建分区、格式化、永久挂载(新手零失误)

运维工作中,服务器新增硬盘、磁盘扩容、数据分区隔离是高频操作。很多新手在Linux分区时容易踩坑:选错磁盘导致数据丢失、2T以上大磁盘分区失败、重启后分区挂载失效、分区创建后不显示等。

本文完全适配国内服务器环境(CentOS7/8、Ubuntu18.04/20.04/22.04/26.04,用最通俗的语言、真实实操案例,讲解两种主流分区工具 fdisk(交互式常用)parted(支持大磁盘、可脚本自动化),从磁盘识别、分区创建、格式化、临时挂载到开机永久挂载,一站式搞定Linux磁盘分区全流程。

重要警告分区、格式化属于高危操作,会清空磁盘数据!操作前务必确认磁盘设备,备份重要数据!

一、基础认知:MBR与GPT分区表(必看)

磁盘分区前必须先确定分区表格式,选错会导致分区失败、磁盘空间识别异常,两者核心区别如下:

对比项MBR(DOS)GPT
最大支持磁盘≤2TB无上限,支持超大磁盘
最大分区数量最多4个主分区,需扩展分区才能多分默认支持128个分区,无主/逻辑分区区分
适用场景老旧BIOS服务器、2T以下小磁盘UEFI新服务器、2T以上大磁盘(推荐默认使用)
数据安全性无备份,分区表损坏数据极易丢失自带分区表备份,容错性更高

实操建议:新服务器、新硬盘一律选择 GPT 格式!

二、分区前准备:精准识别磁盘(杜绝删错盘)

很多人分区翻车,都是因为选错了系统盘和数据盘,先执行命令确认磁盘信息!

1. 快速查看所有磁盘及分区

lsblk
lsblk 查看磁盘分区数据

输出解读:sda 一般是系统盘,sdb、sdc 是新增数据盘,无挂载点、无分区的即为全新空磁盘。

2. 查看磁盘详细信息(分区表类型、容量)

sudo fdisk -l
 fdisk -l 查看系统磁盘分区信息

重点查看 Disklabel type 字段:dos 代表MBR格式,gpt 代表GPT格式。

本文实操案例:以全新空磁盘 /dev/sdb(20G) 为例,全程无风险。

三、fdisk 实操分区教程(新手首选,交互式简单)

适用场景:2T以下磁盘、服务器手动交互式分区,所有Linux系统默认自带,无需安装。

步骤1:进入磁盘分区编辑模式

sudo fdisk /dev/sdb

输入 m 可查看所有帮助命令,新手无需记忆,跟着步骤操作即可。

步骤2:创建GPT分区表(必做)

新磁盘先初始化分区表:输入g,创建GPT分区表(大于2T磁盘必须选这个);小于2T老旧磁盘可输入 o 创建MBR。

步骤3:新建分区

  1. 输入 n:创建新分区
  2. 起始扇区:默认回车(使用全部空闲空间)
  3. 结束扇区:默认回车(占用整块磁盘),也可输入 +10G 单独划分10G分区

步骤4:查看分区信息

输入 p,可查看刚刚创建的/dev/sdb1 分区,确认容量、路径无误。

步骤5:保存分区并退出

输入 w:保存所有修改并写入磁盘(关键步骤!不输入则不生效);若操作错误,输入 q 直接退出不保存。

四、parted 分区教程(大磁盘/自动化脚本首选)

适用场景:2T以上超大磁盘、需要批量脚本自动化分区,支持非交互式命令。

极简一键流程,全程无繁琐交互:

# 进入磁盘分区模式
sudo parted /dev/sdb

# 1. 设置GPT分区表
mklabel gpt

# 2. 创建整块磁盘分区(命名data,0%起始 100%结束)
mkpart data ext4 0% 100%

# 3. 查看分区结果
print

# 退出
quit

批量自动化脚本命令(生产运维常用):

sudo parted --script /dev/sdb mklabel gpt mkpart data ext4 0% 100%

五、分区格式化(ext4/xfs,两种主流格式)

创建分区后必须格式化文件系统才能使用,严禁格式化整块磁盘 /dev/sdb,只格式化分区 /dev/sdb1

1. ext4格式(Ubuntu/Debian默认,通用首选)

sudo mkfs.ext4 /dev/sdb1

2. xfs格式(CentOS/Rocky默认,高并发业务首选)

sudo mkfs.xfs /dev/sdb1

格式选择建议

  • 普通服务器、日常存储、需要缩减分区:选 ext4
  • 数据库、高IO、超大磁盘业务:选 xfs

六、分区挂载:临时挂载+永久开机自动挂载

1. 临时挂载(重启失效,适合临时测试)

# 创建挂载目录
sudo mkdir -p /mnt/data

# 挂载分区
sudo mount /dev/sdb1 /mnt/data

# 查看挂载结果
df -h

2. 永久挂载(fstab配置,重启不丢失)

生产环境必须配置!推荐使用UUID挂载(避免磁盘序号错乱导致挂载失败)。

第一步:获取分区UUID

blkid /dev/sdb1

复制输出中的UUID字符串(唯一标识,永久不变)。

第二步:编辑fstab配置文件

sudo vim /etc/fstab

文件末尾添加如下内容(替换为自己的UUID,ext4/xfs对应修改):

UUID=xxxx-xxxx-xxxx  /mnt/data  ext4  defaults  0  2

字段释义:设备UUID、挂载目录、文件格式、挂载参数、备份开关、自检顺序。

第三步:测试配置(关键!防止开机崩溃)

sudo mount -a

无报错即配置成功,重启服务器分区会自动挂载;若有报错立即修正,避免服务器开机失败。

七、删除分区实操(安全清理)

如需重新分区,先卸载分区再删除,避免资源占用报错:

# 卸载分区
sudo umount /dev/sdb1

# 进入分区编辑模式
sudo fdisk /dev/sdb

# 输入d 删除分区,选择分区序号
d

# 保存退出
w

八、常见报错与解决方案(运维高频)

1. 报错:Device or resource busy(设备忙)

原因:分区正在挂载/被进程占用、swap分区启用

解决:卸载分区、关闭swap swapoff /dev/sdb1 后重新操作

2. 新建分区后lsblk不显示

原因:内核未刷新分区表

解决:执行刷新命令 partprobe /dev/sdb,无需重启服务器

3. 2T以上磁盘分区空间识别不全

原因:使用了MBR分区表

解决:重新初始化GPT分区表,全程使用parted工具分区

4. fstab配置错误导致开机失败

解决:开机进入单用户模式,注释错误fstab配置,重启即可

九、fdisk与parted工具选型总结

  • fdisk:新手手动分区、2T以下磁盘、简单分区场景,系统默认自带,操作直观
  • parted:2T以上大磁盘、批量自动化脚本、服务器批量部署场景

十、总结

1. 磁盘分区优先选择 GPT格式,兼容大磁盘、安全性更高,适配新服务器;

2. 手动运维用fdisk,自动化批量部署用parted,按需选择工具;

3. 分区后必须格式化、挂载,生产环境务必配置 UUID+fstab永久挂载

4. 所有分区操作前确认磁盘设备,操作后用mount -a 校验配置,杜绝开机故障。

本文首发于 58Linux技术博客,专注Ubuntu桌面使用、Linux服务器运维与网站搭建实战。

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress