另一个管理磁盘分区的命令
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
命令。
稍后,我们将看到当有更多未分配的磁盘空间可用时,如何使用resizepart命令扩展分区。
使用parted创建新的磁盘分区
操作系统通常安装在第一张光盘上。 /dev/sda
..添加新磁盘时,操作系统将选择下一个数字。 /dev/sdb
..出于说明目的,我们使用了使用命名约定的Xen虚拟磁盘。 /dev/xvd
..
添加了一个新的20GB磁盘。 unrecognised disk label
..
第一步是设置所需的光盘标签。支持的磁盘标签为bsd,loop,gpt,mac,msdos,pc98和sun。
(parted) mklabel msdos
然后将/ dev / xvdb分成两个主要分区,第一个分区为10GB,第二个分区为5GB。
创建一个要使用的新分区 mkpart
开始0和结束10000命令:
要创建第二个分区,请再次运行mkpart命令,指定开始和结束大小
注意:“主要”的概念是从MBR反映出来的,GPT不在乎,但是您需要添加名称。
您还可以使用mkpart通过指定要使用的百分比(此处为0%至100%)来创建一个跨越整个驱动器的分区。
例如:
$ sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%
除了使用print命令,您还可以运行其他命令,例如 lsblk
, fdisk -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直接写入磁盘,因此在运行命令时要小心。
如果进行更改,请选择正确的驱动器。否则可能会导致数据丢失。
如果您有关于此主题的问题或想法,请使用下面的评论部分。