Linux parted工具分区管理指南
parted
是 Linux 下功能强大的磁盘分区工具,支持 MBR 和 GPT 分区表,适用于大容量磁盘(>2TB)。以下是详细用法指南:
基本语法
sudo parted [选项] [设备] [命令 [参数]]
- 设备:如
/dev/sda
、/dev/nvme0n1
(不指定则默认操作第一个磁盘) - 交互模式:直接运行
sudo parted
进入交互命令行
常用命令详解
1. 查看磁盘与分区
sudo parted -l # 列出所有磁盘的分区信息
sudo parted /dev/sda print # 查看指定磁盘的分区表
2. 创建分区表(初始化磁盘)
sudo parted /dev/sda mklabel gpt # 创建 GPT 分区表
sudo parted /dev/sda mklabel msdos # 创建 MBR 分区表
警告:此操作会清除磁盘所有数据!
3. 创建分区
# 创建主分区(文件系统为 ext4,从 1MB 到 2000MB)
sudo parted /dev/sda mkpart primary ext4 1MiB 2000MiB# 创建逻辑分区(仅限 MBR)
sudo parted /dev/sda mkpart logical ext4 2001MiB 4000MiB
- 单位:推荐使用
MiB
、GiB
(二进制单位),避免使用MB
、GB
(易混淆) - 对齐:起始位置建议从
1MiB
开始(保证 4K 对齐)
4. 调整分区大小
# 将分区 1 的结束位置扩展到 3000MiB
sudo parted /dev/sda resizepart 1 3000MiB
注意:调整前需卸载分区,且不能缩小分区(需用
resize2fs
等工具调整文件系统)。
5. 删除分区
sudo parted /dev/sda rm 1 # 删除分区 1
6. 设置分区标志
sudo parted /dev/sda set 1 boot on # 将分区 1 设为可启动(boot)
sudo parted /dev/sda set 1 esp on # 设为 EFI 系统分区(GPT 专用)
7. 单位切换
在交互模式下修改单位:
(parted) unit GB # 切换为 GB 显示
(parted) unit s # 切换为扇区(sector)显示
实战示例
场景:为 /dev/sdb
创建 GPT 分区表并分区
# 1. 进入 parted 交互模式
sudo parted /dev/sdb# 2. 创建 GPT 分区表
(parted) mklabel gpt# 3. 创建 EFI 系统分区(500MB)
(parted) mkpart efi fat32 1MiB 501MiB
(parted) set 1 esp on# 4. 创建根分区(20GB)
(parted) mkpart root ext4 501MiB 20.5GiB# 5. 创建交换分区(4GB)
(parted) mkpart swap linux-swap 20.5GiB 24.5GiB# 6. 查看结果
(parted) print# 7. 退出
(parted) quit
非交互模式一次性操作
sudo parted /dev/sdb mklabel gpt \mkpart efi fat32 1MiB 501MiB \set 1 esp on \mkpart root ext4 501MiB 20.5GiB \mkpart swap linux-swap 20.5GiB 24.5GiB
注意事项
- 数据无价:操作前备份重要数据,误操作可能导致数据丢失!
- 分区使用:
parted
只管理分区,格式化需用其他工具:sudo mkfs.fat -F32 /dev/sdb1 # 格式化 EFI 分区 sudo mkfs.ext4 /dev/sdb2 # 格式化根分区 sudo mkswap /dev/sdb3 # 初始化交换分区
- 分区生效:操作后建议重启系统或使用
partprobe
通知内核重读分区表:sudo partprobe /dev/sdb
常用命令速查表
命令 | 作用 |
---|---|
print | 打印分区表 |
mklabel [类型] | 创建分区表(gpt/msdos) |
mkpart [类型] [文件系统] [起点] [终点] | 创建分区 |
rm [分区号] | 删除分区 |
resizepart [分区号] [新终点] | 调整分区大小 |
set [分区号] [标志] on/off | 设置分区标志 |
unit [单位] | 设置显示单位(MiB/GiB等) |
掌握这些操作后,您可高效管理磁盘分区!遇到问题可用 parted --help
查看帮助。