LinuxおよびUnixライクなシステムでハードドライブをパーティション分割するために、fdisk、cdiskなどの多くのユーティリティが存在します。この記事では、Linuxでpartedユーティリティを使用してパーティションを作成し、ディスクパーティションを管理する方法(パーティションのサイズ変更、削除)に焦点を当てます。
Partedとは何ですか?
GNU Partedは、LinuxおよびUnixシステムでパーティションテーブルを作成および操作するためのコマンドラインスイートです。 Partedを使用すると、パーティションの作成、サイズ変更、削除、ディスク使用量の再編成、データのコピー、ディスクイメージの作成を行うことができます。
Partedにはライブラリが含まれていますlibparted 、およびコマンドラインフロントエンド別れ 、スクリプトでも使用できます。 Partedは、データ損失の可能性を最小限に抑えるように設計されています。停電などの予期しない状況でのデータ損失を回避するために、多くの安全チェックを実行します。
Partedは、最新のLinuxオペレーティングシステムにデフォルトで付属している無料のオープンソースプログラムです。
LinuxでPartedをインストール
Partedには、すべてのLinuxディストリビューションがインストールされています。ディストリビューションでpartedが利用できない場合は、次のコマンドを実行してインストールできます。
PartedをAlpineLinuxにインストールするには、次のコマンドを実行します。
$ sudo apk add parted
Arch Linux、EndeavourOS、およびManjaro Linuxでは、次のコマンドを実行します。
$ sudo pacman -S parted
Debian / Ubuntuおよびその派生物については、次のコマンドを実行します。
$ sudo apt -y install parted
Fedora、RHEL、AlmaLinux、およびRocky Linux:
$ sudo dnf install parted -y
適切なデバイスの選択
partedを使用する前に最初に注意することは、パーティションを作成するディスクです。ディスク名を引数として渡さずにpartedコマンドを実行すると、最初に検出されたブロックデバイスを取得して使用します。
$ sudo parted GNU Parted 3.2 / dev /sdaWelcomeを使用してGNUParted!コマンドのリストを表示するには、「help」と入力します。(parted)
ヘッズアップ: rootユーザーとしてsudoまたはswitchを使用し、partedコマンドを実行する必要があります。
特定のデバイスを使用するには、デバイスを渡す必要があります(例:/dev/sdc
)partedコマンドの引数として。
$ sudo parted / dev / sdc GNU Parted 3.2 / dev /sdcWelcomeを使用してGNUParted!コマンドのリストを表示するには、「help」と入力します。(parted)
または、partedユーティリティ内から、"select"
を使用して異なるドライブを切り替えることができます。 コマンド。
(parted)select / dev / sdb
/ dev/sdbの使用
(別れ)/ dev/sdcを選択します
/ dev/sdcの使用
分割ヘルプセクションの印刷
分割されたコマンドのリストを取得するには、help
を実行します コマンド。
(別れ)ヘルプ align-check TYPE N TYPE(min | opt)のパーティションNをチェックします。alignmenthelp [COMMAND]一般的なヘルプを出力するか、COMMANDのヘルプmklabel、mktable LABEL-TYPE新しいディスクラベル(パーティションテーブル)を作成しますmkpart PART-TYPE [FS-TYPE ]STARTENDパーティション名を作成するNUMBERNAMEnameパーティションNUMBERasNAME print [devices | free | list、all | NUMBER]パーティションテーブル、使用可能なデバイス、空き領域、見つかったすべてのパーティション、または特定のパーティションを表示します終了プログラムレスキューSTART ENDは、STARTおよびENDの近くで失われたパーティションをレスキューします。resizepartNUMBERENDサイズ変更パーティションNUMBERRMNUMBERパーティションの削除NUMBERデバイスの選択disk_setを編集するデバイスの選択FLAGSTATE選択したデバイスのFLAGの変更disk_toggle[FLAG]トグルt選択したデバイスセットのFLAGの状態NUMBERFLAGSTATEパーティションのFLAGを変更しますNUMBERtoggle[NUMBER[FLAG]]パーティションのFLAGの状態を切り替えますNUMBERunitUNITデフォルトのユニットをUNITに設定しますバージョンGNUのバージョン番号と著作権情報を表示します別れました
これらの各コマンドには、個別のヘルプセクションがあります。たとえば、print
のサポートオプションを取得する場合 コマンド次のコマンドを実行できます。
(別れ)ヘルプ印刷
パーティションテーブルを印刷する
使用可能なすべてのブロックデバイスのパーティションテーブルを表示する場合は、ターミナルから次のコマンドを実行します。
$ sudo parted -l </ pre>partedユーティリティ内のパーティションテーブルを表示するには、
"print"
を使用します 指図。
ディスクのどのパーティションスキームを取得するには、
$ sudo parted / dev / sdc print | grep -i tablePartitionテーブル: gpt
"devices"
を渡すことで、ブロックデバイス名だけを取得できます 印刷コマンドの引数として。(分割)印刷デバイス
/ dev / sdc(21.5GB)
/ dev / sda(53.7GB)
/ dev / sdb(21.5GB)
/ dev / sr0(61.1MB)
"free"
を渡すと、ディスクに残っている空き容量を取得できます。(別れ)無料で印刷 モデル:ATA VBOX HARDDISK(scsi)Disk / dev / sdc:21.5GBセクターサイズ(論理/物理):512B / 512Bパーティションテーブル:gptDiskフラグ:番号開始終了サイズファイルシステム名フラグ17.4kB21.5GB21.5GB空き容量>parted内のすべてのデバイス情報を印刷するには、
"list,all"
を渡します。(parted)print list、allラベルのないディスク
ドライブを使用してパーティションを作成する前に、特定のパーティションスキームを使用するようにドライブにラベルを付ける必要があります。ラベルのないディスクでprintコマンドを実行すると、エラーが表示されます。
(別れ)印刷
エラー:/ dev / sdc:認識されないディスクラベル
モデル:ATA VBOX HARDDISK(scsi)
ディスク/dev/ sdc:21.5GB
セクターサイズ(論理/物理):512B / 512B
パーティションテーブル:不明
ディスクフラグ:ラベルを作成するには、
mklabel
のいずれかを使用できます またはmktable
指図。サポートされているラベルのリストがわからない場合は、「help mklabel
」を実行してください。 "または"help mktable
"。このドライブにGPTスキームを使用するようにラベルを付けます。 MBRパーティションスキームが必要な場合は、 msdosを使用してください 。
(parted)mklabel gptここで、
注意: このコマンドを実行する前に、正しいディスクを使用していることを確認してください。このコマンドは、ディスク内のパーティション全体をそのデータで消去できるためです。
Partedを使用して新しいパーティションを作成する
パーティションを作成するには、
mkpart
を使用する必要があります 指図。mkpartコマンドを実行する前に、オプションのリストに関する詳細を提供するヘルプ情報を確認してください。
ヘルプmkpartサイズがそれぞれ10GBのパーティションを2つ作成します。最初のパーティションを作成しましょう。
(別れ) mkpart パーティション名? []? プロジェクト ファイルシステムの種類は? [ext2]? ext4 始める? 1 終わり? 10GBこのステップはインタラクティブになります。
- パーティションの名前を選択してください。
- ファイルシステムの種類を選択します。デフォルトでは、
ext2
に設定されています 。 - ディスクの開始位置を選択します。 MB、GBで指定できます。ここでは1として指定したので、1MBから開始します。
- ディスクの終了位置を選択します。ここでは、 10GB 与えられます。
print
を実行します コマンドを実行すると、作成されたパーティションを確認できます。
(別れ)印刷 モデル:ATA VBOX HARDDISK(scsi)Disk / dev / sdc:21.5GBセクターサイズ(論理/物理):512B / 512Bパーティションテーブル:gptDiskフラグ:番号開始終了サイズファイルシステム名フラグ1 1049kB10.0GB9999MBプロジェクト
2番目のパーティションを作成しましょう。すべてのインタラクティブ入力を組み合わせて、引数としてmkpart
に渡すことができます。 コマンド。
(parted)mkpart project1 ext4 10001MB 19999MB
作成したパーティションはまだ保存されていません。 「partprobe
」を使用する必要があります "行ったパーティションテーブルの変更についてカーネルに通知するコマンド。
「quit
」と入力して、partedユーティリティを終了します "そしてpartprobe
を実行します コマンド。
$ sudo partprobe
パーティションの削除
rm
を使用してパーティションを削除できます 指図。 rm
コマンドは、引数としてパーティション番号を受け入れ、そのパーティションを削除します。
help rm
パーティションがアクティブで、すでにファイルシステムがマウントされている場合は、最初にデータをクリーンアップし、ファイルシステムをアンマウントしてから、パーティションを削除することをお勧めします。
使用中にパーティションを削除しようとすると、パーティションを削除するように確認するメッセージが表示され、再起動後に変更が有効になるというエラーがスローされます。 「Ignore
」を選択します "。
(別れ) rm 1 警告:パーティション/ dev/sdc1が使用されています。続行してもよろしいですか?はい/いいえ? はい エラー:/ dev / sdcのパーティション1が書き込まれましたが、カーネルに変更を通知できませんでした。おそらく、パーティションが使用されているためです。その結果、古いパーティションは引き続き使用されます。さらに変更を加える前に、今すぐ再起動する必要があります。無視/キャンセルしますか? 無視
パーティションへの名前のタグ付け
「name
」を使用できます "パーティションの名前を変更するか、名前を割り当てるコマンド。name
コマンドは、パーティション番号を最初の引数として受け入れ、その後に新しい名前が続きます。
(parted)name 2 p1
ここでは、パーティション2の名前を project1から変更しています。 p1へ 。
パーティションのサイズを変更する
resizepart
を使用して、パーティションを縮小または拡張できます 指図。コマンドresizepart
パーティションIDを引数として取ります。サイズを尋ねられます(終了?)。
作成した最初のパーティションを縮小してみましょう。パーティションIDは1 パーティションサイズは10GB 。ここでは、パーティションを 5GBに縮小しています 。
(別れ)サイズ変更パート1
終わり? [10.0GB]? 5 GB
警告:パーティションを縮小するとデータが失われる可能性があります。続行してもよろしいですか?
はい・いいえ? はい
2番目のパーティションに5GBのスペースがあり、さらに2GBを追加して7GBにしたいのです。
(別れ)サイズ変更パート2 終わり? [15.0GB]? 17GB
ここで、パーティションテーブルを印刷すると、最初のパーティションが5 GBに縮小され、2番目のパーティションが7GBに拡張されます。
番号開始終了サイズファイルシステム名前フラグ11049kB5000MB 4999MB ext4 p1 2 10.0GB 17.0GB 7000MB ext4 p2
パーティションフラグの変更
set
を使用する コマンドを使用すると、パーティションにフラグを割り当てることができます。サポートされているフラグのリストを取得するには、次のhelp
を実行します コマンド。
(別れ)ヘルプセット
パーティションをスワップパーティションとしてタグ付けする場合は、次のようにコマンドを実行する必要があるとします
set [partition name] [flag] [ON / OFF](parted)set 1 swap ON
ファイルシステムの作成
これまで、partedを使用してさまざまなディスクパーティション操作を実行する方法を学習しました。ご存知かもしれませんが、パーティションの使用を開始するには、パーティションをフォーマットしてマウントする必要があります。
lsblk
を実行して作成されたパーティションを確認できます コマンド。
$ lsblk
タイプext4
のファイルシステムを作成しましょう /dev/sdc1
の場合 次のコマンドを実行します。
$ mkfs.ext4 / dev / sdc1
次に、ファイルシステムを任意のディレクトリにマウントし、パーティションを使用します。
$ mount / dev / sdc1 / mnt /
$ df -h / dev / sdc1 使用されたファイルシステムのサイズ使用率使用率/dev/ sdc1 4.6G 19M 4.3G 1%/ mnt
結論
この記事では、partedユーティリティを使用してLinuxのPartedプログラムでディスクパーティションを作成および管理する方法について説明しました。また、新しく作成したパーティションをext4ファイルシステムでフォーマットしてシステムにマウントする方法も確認しました。
RHELバージョン8以降、RedHatはfdiskの代わりにpartedユーティリティを使用することを提案しています。したがって、RHCSA認定の準備をしている人であれば、この記事は非常に役立ちます。
Linuxデスクトップユーザー向けに、 GPartedと呼ばれるpartedのGUIバージョンがあります。 。 Gpartedについては、別の記事で詳しく説明します。しばらくお待ちください!