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はディスクに直接書き込むため、コマンドを実行するときは注意が必要です。
変更を加えるときは、正しいドライブを選択するようにしてください。そうしないと、データが失われる可能性があります。
このトピックについて質問や考えがある場合は、以下のコメントセクションを使用してください。