概述
parted 是 'partition editor' 的缩写,是一个强大的分区管理工具,旨在克服 fdisk 的局限性。fdisk 主要支持 MBR(主引导记录)分区表,而 parted 则同时支持 MBR 和 GPT(GUID 分区表)。这对于管理 2TB 以上的大容量存储设备或现代系统的分区结构至关重要。此外,parted 同时支持交互模式和非交互模式,方便在脚本中使用。
主要特点
parted 命令的主要特点如下:
- 同时支持 MBR 和 GPT 分区表。
- 能够有效管理 2TB 以上的大容量磁盘。
- 支持交互式和非交互式模式。
- 提供分区创建、删除、调整大小、文件系统创建等多种功能。
与 fdisk 的区别
fdisk 和 parted 都是分区管理工具,但在支持的分区表类型和功能上存在差异。
- fdisk: 专门用于 MBR 分区表,可能无法正确处理 2TB 以上的磁盘。
- parted: 同时支持 MBR 和 GPT 分区表,适用于管理 2TB 以上的大容量磁盘。
主要选项
parted 主要在非交互模式下与特定选项一起使用,或者在进入交互模式后使用内部命令。
1) 执行选项
生成的命令:
请尝试组合命令。
描述:
`parted` 执行命令。
通过组合这些选项,您可以与 AI 一起虚拟地执行命令。
交互模式内部命令
当对特定设备执行 parted(例如:`sudo parted /dev/sda`)时,会进入交互模式。以下是此模式中可用的主要命令。与 fdisk 不同,parted 的命令会立即生效,请务必小心。
主要内部命令
在交互模式下输入 `help` 可以查看完整的命令列表。
- print: 打印当前磁盘的分区表。
- mklabel gpt | msdos: 在磁盘上创建 GPT 或 MBR 分区标签。所有现有分区都将被删除。
- mkpart: 创建新分区。需要指定分区类型、文件系统类型、起始/结束位置。
- resizepart: 调整现有分区的大小。
- rm: 删除指定编号的分区。
- quit: 退出 parted。**parted 的命令会立即生效,因此即使使用 `quit` 也不会撤销更改。**
使用示例
通过 parted 命令的各种使用示例来熟悉其功能。**parted 的命令会立即生效,请务必谨慎使用。**
输出所有分区信息
sudo parted -l
查看系统中所有连接磁盘的分区信息。功能与 fdisk 的 `-l` 选项相同。
创建 GPT 分区标签
sudo parted /dev/sdb mklabel gpt
在新磁盘 (`/dev/sdb`) 上创建 GPT 分区标签。此命令将删除磁盘上所有现有分区。
创建新分区 (非交互模式)
sudo parted -s /dev/sdb mkpart primary ext4 1MiB 10GiB
在 `/dev/sdb` 上创建一个大小为 10GB、使用 ext4 文件系统的 'primary' 分区。适用于在非交互模式下编写脚本。
删除分区
sudo parted /dev/sdb rm 2
使用 `rm` 命令删除 `/dev/sdb` 磁盘上的第 2 号分区。
安装
parted 通常包含在大多数 Linux 发行版中。如果未安装,可以通过安装 `parted` 包来获取。
Debian/Ubuntu
sudo apt update
sudo apt install -y parted
RHEL/CentOS/Fedora
sudo dnf install -y parted
Arch Linux
sudo pacman -S --needed parted
提示与注意事项
总结了使用 parted 命令时需要注意的事项。
提示
- 与 fdisk 不同,parted 的命令输入后会立即生效,因此务必始终进行备份并谨慎操作。特别是 `mklabel` 命令会删除磁盘上的所有数据。
- 使用非交互模式(`-s`, `--script`)可以编写自动化分区操作的脚本。
- 创建分区后,需要使用 `mkfs` 命令格式化文件系统。(例如:`sudo mkfs.ext4 /dev/sdb1`)
- 在交互模式下指定单位时,建议使用 `GiB`、`MiB` 等二进制前缀。`GB`、`MB` 表示十进制,可能会引起混淆。