OpenC
OpenC
发布于 2024-09-07 / 2 阅读
0
0

parted的使用方法

parted 是 Linux 系统中的一个强大的磁盘分区管理工具,支持 GPT(GUID 分区表)和 MBR(主引导记录)分区表格式,特别适用于大于 2TB 的硬盘分区操作。

parted 的基本语法

sudo parted [选项] <磁盘设备>

例如,操作 /dev/sda 磁盘:

sudo parted /dev/sda

常用选项

  • -l: 列出所有磁盘的分区信息。

    sudo parted -l
    
  • -s: 以非交互方式执行命令,常用于脚本。

    sudo parted -s /dev/sda mkpart primary ext4 1MiB 10GiB
    
  • -a optimal: 按照磁盘最佳对齐方式创建分区,能提升性能。

    sudo parted -a optimal /dev/sda
    

进入 parted 交互式模式

输入 sudo parted /dev/sda 后进入交互模式,在提示符下可以输入各种命令管理分区。

1. help: 显示帮助菜单

(parted) help

显示所有支持的命令。

2. print: 查看分区表

查看磁盘上的分区信息:

(parted) print

输出示例:

Model: ATA ST1000DM003 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  538MB   537MB   fat32              boot
 2      538MB   1000GB  999GB   ext4

3. mklabel: 创建分区表

用于创建新的分区表,可以选择 gptmsdos 类型。

(parted) mklabel gpt

此操作会删除磁盘上的所有现有分区!

4. mkpart: 创建新分区

创建新分区时可以指定分区类型、文件系统类型、起始位置和结束位置。

  • 格式:

    (parted) mkpart <分区类型> <文件系统类型> <起始位置> <结束位置>
    
  • 例如,创建一个从 1MiB 开始,大小为 10GiB 的 ext4 分区:

    (parted) mkpart primary ext4 1MiB 10GiB
    
  • 如果不指定文件系统类型,也可以:

    (parted) mkpart primary 1MiB 10GiB
    

5. rm: 删除分区

用于删除指定的分区,输入分区号即可删除相应分区。

(parted) rm 1

此命令将删除分区 1。

6. resizepart: 调整分区大小

用于调整已有分区的大小。输入分区号和新的结束位置即可。

(parted) resizepart 2 50GiB

将分区 2 的大小调整到 50GiB。

7. name: 为分区命名

用于为分区指定名称,主要用于 GPT 分区表。

(parted) name 1 boot_partition

8. set: 设置分区标志

设置分区标志(如 bootlvm 等)。例如,设置分区 1 为可启动分区:

(parted) set 1 boot on

常用标志包括:

  • boot: 可启动分区
  • lvm: LVM 分区
  • swap: 交换分区

9. align-check: 检查分区的对齐情况

可以检查某个分区是否按最佳对齐方式创建。对齐分区可以提升磁盘性能。

(parted) align-check optimal 1

检查分区 1 是否最佳对齐。

10. quit: 退出 parted

输入 quit 退出 parted 交互模式:

(parted) quit

分区单位

parted 支持使用多种单位来指定分区大小和位置,包括:

  • B: 字节
  • KB: 千字节
  • MB: 兆字节
  • GB: 千兆字节
  • TB: 太字节
  • KiB: 千二进制字节
  • MiB: 兆二进制字节
  • GiB: 千兆二进制字节

默认单位是 MB,你也可以通过 unit 命令更改单位。例如:

(parted) unit GiB

实用示例

1. 查看所有磁盘及其分区信息:

sudo parted -l

2. 创建新的 GPT 分区表并创建两个分区:

sudo parted /dev/sda
(parted) mklabel gpt
(parted) mkpart primary ext4 1MiB 20GiB
(parted) mkpart primary linux-swap 20GiB 40GiB
(parted) quit

3. 删除 /dev/sda 上的第一个分区:

sudo parted /dev/sda
(parted) rm 1
(parted) quit

4. 调整 /dev/sda 上第 2 个分区的大小到 50GiB:

sudo parted /dev/sda
(parted) resizepart 2 50GiB
(parted) quit

5. 检查分区对齐情况:

sudo parted /dev/sda align-check optimal 1

注意事项

  • 操作 mklabel(创建分区表)和 rm(删除分区)命令时,会删除原有的分区和数据,执行这些操作前请务必备份数据。
  • 如果是用于大于 2TB 的硬盘,建议选择 GPT 分区表(mklabel gpt)。

parted 是一个灵活的分区管理工具,适用于各种复杂的磁盘分区操作,尤其是在 GPT 格式磁盘上,它比 fdisk 更加强大和适用。


评论