連載
» 2018年03月08日 05時00分 公開

Linux基本コマンドTips(189):【 parted 】コマンド――GPT対応のパーティションを作成、削除する

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、パーティションの作成や削除などに使う「parted」コマンドです。

[西村めぐみ,@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、パーティションの作成や削除などに使う「parted」コマンドです。

partedコマンドとは?

 「parted」は、パーティションの作成や削除などに使うコマンドです ※1。

 パーティションの最大サイズが約2TBに限定された従来の管理方式MBR(Master Boot Record)と、最新のパーティション管理方式であるGPT(GUID Partition Table)の両方に対応しています。

 なお、MBRはfdiskコマンドでも操作でき、GPTはgdiskコマンドでも操作可能です。

※1 LinuxではHDDなどの記憶装置を論理的に分割して利用する。分割された領域をパーティションと呼び、パーティションの位置や長さなどの管理情報(パーティションテーブル)を、パーティションとは別の領域に記録している。パーティションを管理する方式はMBRとGPTに大別でき、いずれも内部にパーティションテーブルを含む。





partedコマンドの書式

parted [オプション] [デバイス名]

※[ ]は省略可能な引数を示しています。




partedの主なオプション

短いオプション 長いオプション 意味
-l --list 全てのブロックデバイスのパーティション情報を表示する
-m --machine 人間に読みやすい表示ではなく、機械が処理しやすい書式で出力する
-s --script 対話処理をしない(「-s デバイス コマンド1 コマンド2……」のように、partedで実行するコマンドを引数として指定する)
-a 調整方法 --align=調整方法 新規パーティションのアラインメント調整方法を以下から選んで指定する ※2。
・none:ディスクタイプで使用できる最小のアラインメントを使用
・cylまたはcylinder:シリンダに合わせて調整
・minまたはminimal:ディスク情報から得られる最小のアラインメントを使用
・optまたはoptimal:ブロックサイズの倍数に合わせて調整

※2 アラインメントの調整が不適切だとディスクアクセス性能が低下する。





パーティションの情報を表示する

 「parted -l」で、接続している全てのディスクのパーディション情報を表示します ※3。実行にはroot権限が必要です(連載第68回)。

 表示内容が長いため、画面1ではmoreコマンド(連載第2回)を使って一部を表示しています。

※3 Ubuntu 14.04 TLSがデフォルトで収録しているparted(バージョン2.3)の場合、「parted -l /dev/sda」のように表示対象のデバイスを指定できます。



コマンド実行例

parted -l

(全ディスクのパーティション情報を表示する)(画面1


画面1 画面1 全ディスクのパーティション情報を表示したところ(抜粋)


partedのコマンドを使ってパーティション情報を表示する

 「parted /dev/sdb」のように、「-l」オプションを使用せずに実行した場合、partedは対話モードで起動します。デバイス名を省略した場合、1つ目のデバイスを対象とします。

コマンド実行例

parted デバイス名

(デバイスを指定してpartedを対話モードで起動する)

parted

(partedを対話モードで起動する、1つ目のデバイスを指定した扱いになる)


 使用できる主なコマンドは以下の通りです。コマンドによっては対象やサイズなどを指定するための引数が必要です。引数の指定を省略した場合はプロンプトに応じて、適宜、引数を入力してください(この後の画面を参照)。

主なコマンド

コマンド 意味
help 使用できるコマンドを一覧表示する
help コマンド コマンドの使い方を詳しく表示する(help printのように指定)
print 対象、またはp 対象 指定した対象を表示する、対象は「devices(パーティションテーブル)」「free(空き領域)」「listまたはall(全てのパーティションの情報、デフォルト)」
select デバイス名 操作するデバイスを変更する
align-check 方法 パーティション番号 パーティションが指定した方法(minまたはopt)で調整されているかどうかをチェックする
mklabel 種類、またはmktable 種類 新しいラベル(パーティションテーブルを指す用語)を作成する。MBRにしたい場合は「msdos」、GPTにしたい場合は「gpt」を指定 ※4
mkpart 種類1 種類2 開始 終了 ・MBRの場合:指定したパーティション(種類1)、primary/プライマリ/extended/拡張のいずれか)、ファイルシステム(種類2) ※5、開始位置、終了位置でパーティションを作成する。ファイルシステムの種類は省略可能
・GPTの場合:指定した名前とファイルシステムの種類 ※5)、開始位置、終了位置のパーティションを作成する。ファイルシステムの種類は省略可能
name 番号 名前 指定した番号のパーティションに名前を付ける(MBRでは無効、GPTでは有効)
rescue 開始 終了 開始位置、終了位置で指定した範囲付近にあるパーティションをユーザーの同意を得て復活する。位置は4G、10%、-1s(1セクタ前)などと指定(負の値を指定した場合はディスクの終わりからの位置となる)
rm 番号 指定した番号のパーティションを削除する
disk_set フラグ onまたはoff 選択しているデバイスのフラグを設定する ※6※7
disk_toggle フラグ 選択したデバイスのフラグの状態をonならoff、offならonにする ※6※7
set 番号 フラグ onまたは同off 指定したパーティションのフラグを設定する ※6
toggle 番号 フラグ 指定したパーティションのフラグの状態をonならoff、offならonにする ※6
unit 単位 デフォルトの単位を「s(セクタ)」「%」「B、kB、MB、GB、TB(1000の倍数)」「kiB、MiB、GiB、TiB(1024の倍数)」などから選択する ※8
quit、またはq partedを終了する

※4 この他に指定できる種類は「help mklabel」または「help mkpart」で確認可能。
※5 ext4やxfsなどを指定できる。指定できるファイルシステムの種類は「help mkpart」で確認可能。
※6 フラグの種類はboot、root、swap、hiddenなど。指定できるフラグを「help disk_set」や「help disk_toggle」「help set」で確認可能。
※7 Ubuntu 14.04 LTSの初期状態では、disk_setとdisk_toggleは利用できない。
※8 この他に使用できる単位は「help unit」で確認可能。



 画面2では、「parted /dev/sda」で対話モードを開始しています。その後「p」コマンド(printコマンド)でパーティションテーブルの情報を表示し、「q」コマンド(quitコマンド)で終了しました。

 なお、実行するコマンドがあらかじめ決まっている場合は「-s /dev/sda print」のように対話モードを使用せずに実行することも可能です。この場合、デバイスの指定は必須です。

画面2 画面2 特定のデバイスを指定してパーティション情報を表示したところ partedのコマンド入力部分を赤線で示した(以下同じ)


パーティションを作成、削除する

 新しいパーティションは「mkpart」で作成します。fdiskやgdiskのように「保存せずに終了する」というコマンドがない点に注意してください。

 画面3では「parted /dev/sdb」で対話モードを起動し、まずは「p」(print)でパーティションの情報を表示しています。

 パーティションデーブルが「msdos」となっていることから、管理方式がMBRだと分かりました。そこで、「mklabel gpt」でGPTに変更しました。この操作は、既存のパーティションテーブルの情報を削除します。不用意に実行すると危険なため、確認メッセージが表示されました。「y」で実行しています。

 実行後、あらためて「p」コマンドでパーティションの情報を確認しています。

画面3 画面3 パーティション管理情報をMBRからGPTに変えたところ

 続いて、「mkpart」でパーティションを作成します(画面4)。引数を指定していないため、各項目を入力するためのプロンプトが表示されています。パーティションの名前は「Linux filesystem」、ファイルシステムは「xfs」、パーティションの先頭位置は「0%」、終了位置は「25%」と入力しました。

 その後、mkpartに引数を付けて「mkpart "Linux filesystem" 25% 100%」と入力し、残りのパーティションを作成しました。ファイルシステムの種類はフォーマット時に決めればよいので入力を省略しています。

 このように、partedではパーティション作成時にパーティションの大きさを全体に対する割合(%)として入力できます。サイズやセクタ位置などを指定することも可能ですが、割合(%)で指定すると、その値に応じて最適なアラインメント位置でパーティションを作成できます。

 最後に、「p」でパーティション情報を確認し、「quit」で終了しています。

 この後、mkfsコマンドなどでフォーマットすれば、/dev/sdbをマウントして使用できるようになります(第183回)。

画面4 画面4 新しいパーティションを作成したところ


筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。