本文中涉及到的fdisk、parted、block-mount、e2fsprogs软件一般会预装在linux系统中
fdisk命令使用详解
fdisk 是 Linux 系统中用于磁盘分区管理的核心命令行工具,支持创建、删除、调整分区及查看分区信息等操作,适用小于2TB的磁盘分区。以下是其详细使用指南:
一、基本语法与常用参数
查看磁盘信息
fdisk -l [设备名] # 列出所有磁盘或指定磁盘的分区表信息
示例:fdisk -l /dev/sda
显示 /dev/sda
磁盘的分区详情,包括起始扇区、大小、类型等。
进入交互模式
fdisk /dev/sdx # 对指定磁盘(如 /dev/sda)进行分区操作
#输入 m 可查看所有可用命令的帮助信息。
二、核心操作命令
在交互模式下,通过以下命令管理分区:
- 创建新分区
- n:新建分区 → 选择主分区(p)或扩展分区(e) → 设置起始扇区和大小(如 +10G 表示分配 10GB)。
- 注意:MBR 分区表最多支持 4 个主分区,需通过扩展分区创建逻辑分区。
- 删除分区
d
→ 输入分区号删除指定分区。
- 修改分区类型
t
→ 选择分区号 → 输入类型代码(如82
为 Linux swap,83
为 Linux 文件系统)。- 输入
l
可查看所有支持的分区类型代码列表。
- 保存与退出
w
:保存修改并退出。q
:不保存修改并退出。
三、实用场景示例
- 创建主分区并格式化
sudo fdisk /dev/sdb
# 输入 n → p → 设置大小 → w 保存
sudo mkfs.ext4 /dev/sdb1 # 格式化为 ext4 文件系统
sudo mount /dev/sdb1 /mnt/data # 挂载到指定目录
- 使用 UUID 持久化挂载
- 通过
blkid /dev/sdb1
获取分区的 UUID。 - 编辑
/etc/fstab
,添加行:plaintext UUID=xxxx-xxxx-xxxx-xxxx /mnt/data ext4 defaults 0 0
字段含义:设备标识、挂载点、文件系统类型、权限选项、是否备份、是否自检。
四、注意事项
数据安全
- 分区操作可能导致数据丢失,务必提前备份。
- 操作前确认目标磁盘(如
/dev/sda
可能是系统盘,误操作会破坏系统)。
分区表更新
- 修改分区表后,需执行
partprobe
或重启系统使内核识别新分区。
大容量磁盘限制
- fdisk 仅支持 MBR 分区表,无法处理 2TB 以上磁盘;需改用
parted
工具管理 GPT 分区。
五、常见问题
分区后无法挂载?
- 检查是否已格式化(使用
mkfs
)。 - 确认
/etc/fstab
中 UUID 或设备路径正确。
交互模式中的默认单位
- 输入
u
可切换为扇区(sectors)单位,便于精确控制分区大小。
通过上述操作,可灵活管理磁盘分区。处理大容量磁盘时,优先选择 parted
。
parted 命令使用详解
parted
是 Linux 中功能强大的磁盘分区工具,支持 MBR 和 GPT 两种分区表格式,尤其擅长处理 2TB 以上大容量磁盘。以下是其核心功能和使用方法:
一、基本概念与优势
分区表类型
- MBR:传统分区表,最多支持 4 个主分区或 3 主分区 + 1 扩展分区,仅支持 ≤2TB 的磁盘。
- GPT:支持 >2TB 的磁盘,最多 128 个主分区,无容量限制,适合现代大容量存储。
优势
- 支持 GPT 分区,突破 MBR 容量限制。
- 允许 实时操作(命令立即生效),无需保存步骤。
- 支持多种文件系统(如 ext4、XFS、NTFS、FAT32)和复杂操作(调整分区大小、移动分区等)。
二、常用命令与操作
1. 进入交互模式
parted /dev/sdb # 对磁盘 /dev/sdb 进行操作
输入 help
查看所有命令列表。
2. 创建分区表
(parted) mklabel gpt # 将磁盘格式化为 GPT 分区表
- 警告:此操作会清除磁盘所有数据,需确认。
3. 创建分区
(parted) mkpart [分区名] [文件系统类型] 起始位置 结束位置
- 示例:
(parted) mkpart data1 xfs 1 500GB # 创建名为 data1 的 XFS 分区,从 1 到 500GB
(parted) mkpart data2 ext4 500GB 1500GB # 第二个分区
(parted) mkpart data3 1500GB 100% # 使用剩余全部空间。
- 注意:
- 起始和结束位置可指定单位(如
GB
、%
),100%
表示磁盘末尾。 - 文件系统类型需后续用
mkfs
单独格式化(如mkfs.xfs /dev/sdb1
)。
4. 查看分区信息
(parted) print # 显示分区表详细信息,包括起始位置、大小、文件系统等。
5. 删除分区
(parted) rm [分区号] # 删除指定分区(需先卸载分区)。
6. 调整分区大小
(parted) resizepart [分区号] 新结束位置 # 调整分区大小(需确保文件系统支持)。
7. 非交互模式(脚本)
parted -s /dev/sdb mklabel gpt # -s 跳过提示
parted -s /dev/sdb mkpart data1 xfs 1 500GB # 批量操作。
三、操作示例:创建并挂载 GPT 分区
- 分区与格式化
parted /dev/sdb
(parted) mklabel gpt
(parted) mkpart data1 xfs 1 500GB
(parted) quit
mkfs.xfs /dev/sdb1 # 格式化为 XFS
- 挂载分区
mkdir /mnt/data
mount /dev/sdb1 /mnt/data
echo "UUID=$(blkid -s UUID -o value /dev/sdb1) /mnt/data xfs defaults 0 0" >> /etc/fstab # 持久化挂载。
四、注意事项
数据安全
- 操作前 务必备份数据,误操作可能导致数据丢失。
- 避免对已挂载分区执行调整或删除操作。
分区对齐
- 使用
align-check
检查分区对齐,避免性能问题。
大容量磁盘
- 格式化数 TB 的磁盘可能耗时较长(如 6TB 需约 1.5 小时)。
五、常见问题
分区后无法挂载?
- 检查是否已格式化(
mkfs
)或/etc/fstab
配置是否正确。
如何恢复误删分区?
- 使用
rescue
命令尝试恢复(需分区未被覆盖)。
与 fdisk 的区别
fdisk
仅支持 MBR,适用于小容量磁盘;parted
支持 GPT 和大容量磁盘。
通过以上操作,可高效管理磁盘分区,尤其适合服务器部署、数据恢复和大容量存储场景。如需更直观的图形化工具,可尝试 gparted
;
其他工具
- gdisk
- 专用于 GPT 分区表,需安装
gdisk
包。bash# Debian/Ubuntu sudo apt-get install gdisk
- 专用于 GPT 分区表,需安装
- mkfs(格式化工具)
- 格式化分区为文件系统(如 ext4、XFS),通常预装于
coreutils
或e2fsprogs
- 格式化分区为文件系统(如 ext4、XFS),通常预装于