Linux 中管理磁盘分区的 8 个 Parted 命令插图

Parted是一个著名的命令行实用程序,旨在以用户友好的方式促进硬盘分区的管理。

使用Parted,您可以轻松执行添加、删除、缩小和扩展磁盘分区等任务,同时还可以管理与其关联的文件系统。

随着时间的推移,Parted经历了重大的发展和演变,对其功能进行了各种增强和更改。某些功能已被淘汰,同时引入了新功能,使其成为分区管理的多功能工具。

本教程旨在全面介绍 Parted,涵盖其基本概念并演示实际示例。如果您是 Parted 的新手,请务必注意,使用 Parted 所做的任何修改都会立即写入磁盘

因此,在尝试修改磁盘分区时务必小心谨慎,以避免出现意外后果或数据丢失。在本教程中,我们将逐步指导您,确保您掌握 Parted 的基础知识并了解您在使用磁盘分区时操作的潜在影响。

如果您打算尝试Parted,建议使用虚拟机或不包含任何关键数据的旧计算机/笔记本电脑。对磁盘分区进行修改时,重要的是该分区未被主动使用。

对于主分区,您可以考虑启动到救援模式,该模式提供了一个安全的环境来执行与分区相关的任务,而不会受到正在运行的操作系统的干扰。这种预防性方法可确保宝贵数据的完整性,并最大限度地降低分区操作期间发生意外后果的风险。

注意:您需要拥有您将要使用的计算机的根访问权限才能使用parted。

如何在 Linux 上安装 Parted

在许多 Linux 发行版上,parted是预安装的。如果您的发行版中未包含它,您可以使用以下命令安装它:

$ sudo apt install parted [在Debian、Ubuntu 和 Mint上]
$ sudo yum install parted [在RHEL/CentOS/FedoraRocky/AlmaLinux上]
$ sudo emerge -a sys-apps/parted [在Gentoo Linux上]
$ sudo apk add parted [在Alpine Linux上]
$ sudo pacman -S parted [在Arch Linux上]
$ sudo zypper install parted [在OpenSUSE上]    

确保安装了parted后,您可以进一步查看本文其余部分中parted命令的一些实际示例。

检查分离版本

要观察下图所示的类似消息,请执行以下命令。请注意,输出可能会略有不同,具体取决于您的 Parted 的特定版本。默认情况下,Parted 将在您的主驱动器上运行,通常标识为/dev/sda,除非另有说明。

$ parted
检查parted命令版本
检查parted命令版本

如果你想退出parted,只需输入:

$ quit

列出 Linux 中的磁盘分区

现在parted已经启动,让我们列出所选硬盘的分区。如前所述,parted 默认选择您的第一个驱动器。查看磁盘分区运行情况print

(parted) print
检查Linux分区
检查Linux分区

运行时print还会显示硬盘信息和型号。这是来自真实硬盘的示例(不是如上图所示的虚拟硬盘):

(parted) print

Model: ATA TOSHIBA MQ01ACF0 (scsi)
Disk /dev/sda: 320GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos

Number  Start   End    Size   Type      File system  Flags

 1      1049kB  256MB  255MB  primary   ext2         boot
 2      257MB   320GB  320GB  extended
 5      257MB   320GB  320GB  logical                lvm

在上面的示例中,您可以看到磁盘型号、容量扇区大小和分区表。

在 Linux 中更改或切换分区

如果您有多个硬盘,您可以使用“ select”命令轻松地在磁盘之间切换。在下面的示例中,我将从系统上的辅助驱动器切换/dev/sda到该驱动器。/dev/sdb

要轻松地在磁盘之间切换,您可以使用:

(parted) select /dev/sdX
切换Linux分区
切换Linux分区

更改"X"为您要切换到的磁盘的盘符。

在Linux中创建分区

Parted可用于创建主磁盘分区和逻辑磁盘分区在本例中,我将向您展示如何创建主分区,但逻辑分区的步骤是相同的​​。

要创建新分区,parted 使用“ mkpart”。您可以为其提供其他参数,例如"primary""logical"根据您要创建的分区类型。

在开始创建分区之前,确保您使用(您已选择)正确的磁盘非常重要。

首先使用打印:

(parted) mklabel msdos
显示当前 Linux 磁盘
显示当前 Linux 磁盘

如上图所示,我们使用的是34 GB的虚拟驱动器。首先,我们会给新磁盘一个标签,然后创建一个分区并在其上设置文件系统。

现在第一步是为新磁盘指定一个标签名称

现在使用创建新分区  mkpart。列出的单位为兆字节 ( MB)。我们将创建一个从110000的10 GB分区

(parted) mkpart
 
Partition type?  primary/extended? primary
File system type?  [ext2]?
Start? 1
End? 10000
(parted) print
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdb: 34.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 
Number  Start   End     Size    Type     File system  Flags
 1      1049kB  10.0GB  9999MB  primary  ext2         lba
创建主 Linux 分区或逻辑分区
创建主 Linux 分区或逻辑分区

接下来,使用"quit"命令退出parted。我们将使用 ext4 文件系统格式化新分区mkfs。要实现此目的,请运行以下命令:

# mkfs.ext4 /dev/sdb1

注意:执行上述命令时选择正确的磁盘和分区非常重要!

现在让我们通过在辅助磁盘上打印分区表来验证我们的结果。在文件系统列下,您应该看到 ext4 或您决定用于分区的文件系统类型:

验证磁盘分区文件系统
验证磁盘分区文件系统

调整Linux磁盘分区大小

Parted 包含多个有用的函数,其中之一是"resizepart". 您现在可能已经明白了这一点,它"resizepart"可以帮助您调整分区大小。

在下面的示例中,您将看到如何调整现有分区的大小。出于本示例的目的,我们将使用之前创建的分区。

首先,您需要知道要调整大小的分区的数量。这可以通过使用轻松找到"print"

(parted) print
查找 Linux 分区号
查找 Linux 分区号

在我们的示例中,分区号是"1"。现在运行 resizepart 命令:

(parted) resizepart

系统将询问您要调整大小的分区的数量。输入其号码。之后,系统将要求您为此分区设置新的结束点。请记住,默认情况下单位为MB。在我们的示例中,我们将新分区大小设置为15 GB

(parted) resizepart 
Partition number? 1
End?  [10.0GB]? 15000

现在使用以下命令验证结果"print"

(parted) print
验证 Linux 调整分区大小
验证 Linux 调整分区大小

删除Linux分区

接下来您将学习如何从硬盘驱动器中删除分区。为此,您需要在parted 中使用rm 命令。要删除磁盘分区,您需要知道其编号。

如前所述,您可以使用 轻松获得该数字"print"1在我们的示例中,我们将从辅助驱动器中删除带有编号的分区/dev/sdb1

(parted) rm 1

通过打印分区表来验证结果:

删除 Linux 分区
删除 Linux 分区

拯救Linux磁盘分区

Parted 支持“rescue"实用程序”,可帮助您恢复起点和终点之间丢失的分区。如果在该范围内找到分区,它将尝试恢复它。

这是一个例子:

(parted) rescue
Start? 1
End? 15000
(parted) print
Model: Unknown (unknown)
Disk /dev/sdb1: 15.0GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags:

Number Start End Size File system Flags
1 0.00B 15.0GB 15.0GB ext4

更改Linux分区标志

使用parted,您可以更改磁盘分区标志的状态。支持的标志有:

  1. boot
  2. root
  3. swap
  4. hidden
  5. raid
  6. lvm
  7. lba
  8. legacy_boot
  9. irst
  10. esp
  11. palo

状态可以是"on""off"。要更改标志,只需"set"在parted中运行命令即可:

(parted) set 2 lba on

上面的命令将lba第二个分区的标志设置为 on。使用以下命令验证结果print

更改分区标志
更改分区标志

结论

Parted是一个有用且功能强大的实用程序,可以帮助您管理 Linux 系统中的磁盘分区。与往常一样,在使用磁盘分区时,您需要格外小心。