GNU/Linux >> Linux の 問題 >  >> Linux

ディスクパーティションを管理するためのpartedコマンド

Partedは、コマンドラインからハードディスクパーティションを管理するために使用される無料のGNUユーティリティです。 Linuxでディスクパーティションの作成、削除、サイズ変更、印刷などを行うことができます。

多くの場合、複数のOSを実行したり、特定のシステムスペースを割り当てたり、貴重なファイルを分離したり、ボリュームを拡張したりするために、ディスクのパーティション分割にpartedツールを使用します。

従来、多くのユーザーはパーティション分割にfdiskツールを使用していました。これは、ディスクサイズが2TBを超える場合にpartedを使用する主な理由です。最初はサポートされているGPTのみを分割し、util-linux2.23fdiskからGPTのサポートも開始しました。

このチュートリアルでは、Linuxでのディスク管理にpartedコマンドを使用する方法を示します

LinuxにPartedをインストール

Partedは、ほとんどの最新のLinuxディストリビューションにデフォルトでインストールされています。ディストリビューションに含まれていない場合は、partedを手動でインストールしてください。

UbuntuおよびDebianフレーバーのディストリビューションにpartedをインストールする:

$ sudo apt-get install parted

CentOSとRHELにpartedをインストールする:

$ 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と入力します 別れたプロンプトを終了します。

重要: コマンドを入力するとすぐに、すべての変更がディスクに加えられます。

ディスクパーティションの一覧表示

すべてのディスク情報とそのパーティションを印刷する方法を確認しましょう。デフォルトでは、最初のドライブを選択します。すべてのディスクパーティションを印刷するには、 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にインストールされます 。新しいディスクを追加すると、OSは次の番号を / dev / sdbとして選択します 。説明のために、 / dev / xvdという命名規則を使用するXen仮想ディスクを使用しています。 。

新しい20GBディスクを追加しましたが、認識されないディスクラベルとして表示されます。 。

最初のステップは、必要なディスクラベルを設定することです。サポートされているディスクラベルは、bsd、loop、gpt、mac、msdos、pc98、およびsunです。

(parted) mklabel msdos

次に、/ dev / xvdbを2つのプライマリパーティションに分割します。最初のパーティションは10GBで、2番目のパーティションは5GBです。

新しいパーティションを作成するには、 mkpartを使用します 開始0および終了10000のコマ​​ンド:

2番目のパーティションを作成するには、開始サイズと終了サイズを指定してmkpartコマンドを再度実行します

注:「プライマリ」の概念はMBRを反映しており、GPTは気にしませんが、名前を追加する必要があります。

mkpartを使用して、使用するパーセンテージ(ここでは0%から100%)を指定することにより、ドライブ全体にまたがるパーティションを作成することもできます。

例:

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

印刷コマンドを使用する代わりに、 lsblkなどの代替コマンドを実行できます。 、 fdisk -l <​​/ code> を使用して、作成されたパーティションを確認します。

$ 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
$

これで、パーティション(/ dev / xvdb1)をex4ファイルシステムでフォーマットできます。次のようにmkfs.ext4を使用します。

$ sudo mkfs.ext4 /dev/xvdb1

resizepartを使用してディスクパーティションのサイズを変更します

パーティションを拡大するには、最初にサイズを変更する必要があります。簡単なサイズ変更とは、パーティションの終了位置を移動することを意味します。

ここでは、/ dev / xvdbの2番目のパーティションのサイズを変更し、終了位置を20000に移動します。

(parted) resizepart


注:growpartは、パーティションを拡張するためにLinuxで使用できるもう1つの便利なツールです。

各ファイルシステムのサイズを新しい容量に変更するには、ファイルシステム固有のコマンドを実行する必要があります。 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を使用する コマンドを分割して、すべてのパーティションとそれに対応する番号を表示します。

削除するには、rmコマンドに続けてパーティション番号を使用できます。次に示すように、2番目のパーティションを削除します。

(parted) rm 2

パーティションにフラグを設定する

Partedを使用すると、パーティションにフラグを設定できます。一部のフラグがディスクラベルに依存していることに驚かないでください。フラグはオンまたはオフのいずれかになります。最も一般的なフラグは、boot、lab、swap、raid、LVMなどです。

次のコマンドは、パーティション2にLVMフラグを設定します:

(別れ)2つのLVMをオンに設定

ブートパーティションを設定する必要がある場合のもう1つの実用的な例:

(parted) set 2 boot on

Linuxディスクパーティションをレスキュー

誤ってパーティションを削除した場合、Rescueが役立ちます。失われたパーティションは、開始と終了の間に配置することで回復できます。

/ dev / xvdbのパーティション1を削除し、rescueコマンドを使用して回復しましょう:

(parted) rescue

デフォルトの単位を設定

partedの単位コマンドは、容量と場所を表示するためのデフォルトの単位を設定するのに役立ちます。
サポートされているユニットは次のとおりです。

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)

結論

このチュートリアルを更新する時点では、parted 3.1バージョンを使用しており、 -hを使用して現在サポートされているコマンドを確認することをお勧めします。 オプション。 Partedはディスクに直接書き込むため、コマンドを実行するときは注意が必要です。

変更を加えるときは、正しいドライブを選択するようにしてください。そうしないと、データが失われる可能性があります。

このトピックについて質問や考えがある場合は、以下のコメントセクションを使用してください。


Linux
  1. LinuxでGNUPartedを使用してドライブをパーティション分割する

  2. DiskPartでディスクを管理する

  3. Partedコマンドを使用してディスクパーティションを削除する方法

  1. Linuxでディスクをパーティション分割する方法

  2. ディスクパーティションを作成、サイズ変更、レスキューするための8つのLinux「Parted」コマンド

  3. LinuxでのFdiskコマンド(パーティションの管理)

  1. 空きディスク容量を確認するための5つのLinuxコマンド

  2. Linuxでスワップパーティションを管理する方法

  3. Parted GPT を使用して Linux で 2TB サイズのパーティションを作成する方法