Linux / コマンド / parted - パーティション表と空き領域の確認・管理

partedは、ディスクパーティションテーブルを確認し、パーティションを作成・削除・サイズ変更するGNUツールです。ディスク構造を読む作業と実際の変更作業は厳密に区別する必要があります。

printは現在のパーティションテーブルを、print freeはパーティション間の空き領域まで表示します。partedの対話型変更コマンドは、最後の保存コマンドを待たずに即座にディスクに適用される可能性があります。resizepartはパーティション境界を変更するもので、ファイルシステムのサイズ変更は別手順です。

基本的な文法

parted [オプション] [ディスク] [コマンド]

インストールされている実装とオプションは、配布版によって異なる場合があります。man partedで現在のシステムの説明を確認してください。

使用例

すべてのディスク構造を確認

システムで認識されたディスクごとのパーティションテーブルを確認します。

sudo parted -l

特定ディスクの空き領域

/dev/sdbは、lsblkで識別した対象ディスクに置き換えます。unit MiBで表示単位を指定し、print freeでパーティションと未割り当て領域を確認します。ここでの空き領域は、dfが示すファイルシステム内の空き容量とは異なります。

sudo parted /dev/sdb unit MiB print free

他のツールと照合

デバイスのモデル・容量と現在のマウント状態を一緒に確認します。

lsblk -o NAME,SIZE,MODEL,TYPE,MOUNTPOINTS

パーティションの境界とファイルシステムを区別する

partedのprintは、パーティション表の種類や開始・終了位置を表示する照会コマンドです。例の/dev/sdbは実際のディスクに置き換えてください。異常なパーティション表について修復を提案された場合は、単なる照会のつもりで修復を選ばず、状態とバックアップを確認します。

sudo parted /dev/sdb print

例示出力の構造(数字はデバイスにより異なります):

Model: ...
Disk /dev/sdb: 20.0GB
Partition Table: gpt
Number  Start   End     Size    File system  Name

パーティションを作成したりサイズを変更する作業とファイルシステムのサイズ変更は別物です。partedで境界を変更したからといって既存のファイルシステムが自動的に安全に拡張・縮小されるわけではありません。特に縮小作業はデータバックアップ、アンマウント可能かどうか、ファイルシステム別のツールのサポートをまず確認する必要があります。

主なオプションと形式

オプション・形式 説明
-l すべてのデバイスのパーティションテーブルを一覧表示します。
-s ユーザーに確認を求めないスクリプトモードです。変更コマンドを安全な照会に変える指定ではありません。
unit 単位 表示および入力の単位を設定します。
print free パーティションと空き領域を表示します。
resizepart 番号 終点 パーティションの終了境界を変更します。ファイルシステムのサイズは別です。

使用する際の注意点

mklabelは既存のパーティションテーブルを置き換え、rmはパーティション項目を削除するため、バックアップなしで実行しないでください。-sは変更作業中の対話型保護を減らすことができます。サイズ変更はファイルシステム・暗号化・LVM(論理ボリューム管理)の各層の順序をともに計画し、実稼働ディスクでは保守手順に従ってください。

よくある質問

partedでquitする前に変更を保存する必要がありますか?

対話型partedでの変更コマンドは通常すぐにディスクに適用されます。fdiskの対話モードでwを入力して保存する方式と混同しないでください。quitで終了しても、既に行った変更を取り消せません。

公式ドキュメント

オプションの正確な動作と実装ごとの差異は、partedの公式ドキュメントで確認できます。