另一个管理磁盘分区的命令

Parted是一个免费的GNU实用程序,用于从命令行管理硬盘分区。在Linux中,您可以创建,删除,调整大小和打印磁盘分区等。

通常,您将使用parted工具对磁盘进行分区以运行多个操作系统,分配特定的系统空间,分离有价值的文件并增加卷。

传统上,许多用户使用fdisk工具进行分区。这是对大于2TB的磁盘使用parted的主要原因。最初分开是唯一受支持的GPT,并且自从util-linux 2.23 fdisk也开始支持GPT以来。

本教程说明如何在Linux上使用parted命令进行磁盘管理

在Linux上安装Parted

默认情况下,Parted已安装在大多数现代Linux发行版中。如果未包含在您的发行版中,请手动安装parted。

在Ubuntu和Debian Flavor发行版上分别安装:

$ sudo apt-get install parted

在CentOS和RHEL上分开安装:

$ sudo yum install parted

不带任何选项运行parted命令将打印parted软件包的版本,默认情况下选择第一个驱动器,并等待其他命令出现。 Parted命令必须以root用户或具有Sudo访问权限的用户身份运行。

$ sudo parted
GNU Parted 3.2
Using /dev/xvda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

类型 quit 退出分开的提示。

重要: 输入命令后,所有更改都会反映在磁盘上。

列出磁盘分区

让我们看看如何打印所有磁盘信息及其分区。默认情况下,parted选择第一个驱动器。打印所有磁盘分区 print all..

注意:输出中的警告是因为该磁盘具有尚未分配的未分配磁盘空间。

ubuntu@linoxide:~$ sudo parted
GNU Parted 3.2
Using /dev/xvda
Welcome to GNU Parted! Type 'help' to view a list of commands.
                                                                       (parted) print all
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 8590MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  8590MB  8589MB  primary  ext4         boot

Warning: Not all of the space available to /dev/xvdb appears to be
used, you can fix the GPT to use all of the space (an extra 25165824
blocks) or continue with the current setting?
                                                                                                                                              Fix/Ignore? Ignore
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name     Flags
 1      17.4kB  1024MB  1024MB  ext4         primary
 2      1024MB  2048MB  1023MB  ext4         primary
(parted)

另外,您可以使用一个命令。

$ sudo parted /dev/xvda print all

如果有多个磁盘,则可以使用select命令选择磁盘。

分离选择盘

分区选择磁盘

查找磁盘上未分配的空间

要查找未分配的空间,请选择磁盘并运行 print free 命令。

使用parted查找未分配的磁盘空间

稍后,我们将看到当有更多未分配的磁盘空间可用时,如何使用resizepart命令扩展分区。

使用parted创建新的磁盘分区

操作系统通常安装在第一张光盘上。 /dev/sda..添加新磁盘时,操作系统将选择下一个数字。 /dev/sdb..出于说明目的,我们使用了使用命名约定的Xen虚拟磁盘。 /dev/xvd..

添加了一个新的20GB磁盘。 unrecognised disk label..

使用parted查看新磁盘

第一步是设置所需的光盘标签。支持的磁盘标签为bsd,loop,gpt,mac,msdos,pc98和sun。

(parted) mklabel msdos

然后将/ dev / xvdb分成两个主要分区,第一个分区为10GB,第二个分区为5GB。

创建一个要使用的新分区 mkpart 开始0和结束10000命令:

使用parted创建一个新分区

要创建第二个分区,请再次运行mkpart命令,指定开始和结束大小

创建第二个分区

注意:“主要”的概念是从MBR反映出来的,GPT不在乎,但是您需要添加名称。

您还可以使用mkpart通过指定要使用的百分比(此处为0%至100%)来创建一个跨越整个驱动器的分区。

例如:

$ sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%

除了使用print命令,您还可以运行其他命令,例如 lsblkfdisk -l to see partitions created.

$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0     7:0    0   18M  1 loop /snap/amazon-ssm-agent/1566
loop1     7:1    0 93.8M  1 loop /snap/core/8935
loop2     7:2    0 93.9M  1 loop /snap/core/9066
xvda    202:0    0    8G  0 disk
└─xvda1 202:1    0    8G  0 part /
xvdb    202:16   0   20G  0 disk
├─xvdb1 202:17   0  9.3G  0 part
└─xvdb2 202:18   0  4.7G  0 part
$

现在,您可以使用ex4文件系统格式化分区(/ dev / xvdb1)。使用mkfs.ext4,如下所示:

$ sudo mkfs.ext4 /dev/xvdb1

使用resizepart调整磁盘分区的大小

要扩展分区,您需要首先调整其大小。简单的调整大小意味着移动分区的末端。

现在,调整/ dev / xvdb中第二个分区的大小,并将结束位置移动到20000。

(parted) resizepart

分开

注意:growpart是另一个有用的工具,可用于扩展Linux上的分区。

要将每个文件系统的大小更改为新容量,您需要执行文件系统特定的命令。在Linux上扩展文件系统 resize2fs 以下命令:

$ sudo resize2fs /dev/xvdb2
resize2fs 1.44.1 (24-Mar-2018)
Resizing the filesystem on /dev/xvdb2 to 2441340 (4k) blocks.
The filesystem on /dev/xvdb2 is now 2441340 (4k) blocks long.

从所选磁盘删除分区

要删除分区,您需要知道磁盘上的分区号。采用 print 显示所有分区及其相应编号的parted命令。

要删除它,可以使用rm命令,后跟分区号。现在删除第二个分区,如下所示:

(parted) rm 2

删除分区

标记分区

Parted允许您在分区上设置标志。某些标志取决于磁盘标签,不要感到惊讶。该标志可以打开或关闭。最常见的标志是引导,实验室,交换,raid,LVM等。

以下命令在分区2上设置LVM标志。

(Parted)2 LVM设置为on

需要设置启动分区的另一个实际示例:

(parted) set 2 boot on

救援Linux磁盘分区

如果您不小心删除了分区,Rescue可以提供帮助。通过将丢失的分区放在开始和结束之间,可以恢复丢失的分区。

让我们删除/ dev / xvdb中的分区1并使用救援命令将其恢复:

(parted) rescue

救援命令

设置默认单位

分开的“单位”命令可帮助设置显示容量和位置的默认单位。支持的单位是:

KiB- kibibyte 
MiB - mebibyte
GiB - gibibyte
TiB - tebibyte
kB - kilobyte
MB - megabyte
GB - gigabyte
TB - terabyte
% - percentage of the device
cyl - cylinders
chs - cylinders, heads, sectors addressing
compact - Use human-readable representation for output

以下命令将单元设置为紧凑型。

(parted) unit compact
(parted) print
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 8590MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  8590MB  8589MB  primary  ext4         boot
(parted)

您也可以按以下方式打印。

(parted) unit GB print
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 8.59GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      0.00GB  8.59GB  8.59GB  primary  ext4         boot

(parted)

结论

在更新本教程时,我们使用的是3.1版。使用当前支持的命令, -h 选项。 Parted直接写入磁盘,因此在运行命令时要小心。

如果进行更改,请选择正确的驱动器。否则可能会导致数据丢失。

如果您有关于此主题的问题或想法,请使用下面的评论部分。

Sidebar