【Linux】パーティション操作系コマンドまとめ|fdisk・parted・gdisk・lsblk・blkidの使い分け

Linux

どーも!marusukeです!

この記事では、Linuxでディスクのパーティションを操作・確認するための主要コマンドをまとめて解説します。

この記事で分かることは次のとおりです。

  • パーティションを作成・削除・変更するコマンド(fdisk・parted・gdisk)
  • パーティション/ブロックデバイスの情報を確認するコマンド(lsblk・blkid)
  • MBRとGPT、それぞれに対応したツールの違い
  • どのコマンドを使うべきかの判断基準

注意

パーティション操作を誤ると、ディスク内のデータを失う可能性があります。重要なデータをバックアップし、操作対象のデバイス名を十分に確認してから実行してください。

パーティション操作系コマンドの全体像

パーティション操作は、大きく「確認」と「作成・変更・削除」の2つに分かれます。

フェーズコマンド役割
確認lsblkブロックデバイス(ディスク・パーティション・LVM)をツリー表示
確認blkidUUID・ファイルシステムタイプなどの属性を表示
作成・変更・削除fdiskMBR・GPT両対応の対話型パーティション操作(現在の標準)
作成・変更・削除gdiskGPT専用の対話型パーティション操作(fdiskのGPT拡張版)
作成・変更・削除partedGPT・MBR両対応、対話/非対話(スクリプト)両モード対応

パーティションを作成したあとは、mkfs系コマンドでファイルシステムを作成し、mountでマウントする必要があります(この部分は別記事「ファイルシステム系コマンド完全まとめ」を参照してください)。

情報確認:lsblk

lsblk [オプション]

lsblkは、ディスク・パーティション・LVMなどのブロックデバイス情報をツリー形式で表示するコマンドです。パーティション操作の前に、まず対象ディスクを確認するために使います。

lsblk

出力例:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   100G  0 disk
├─sda1   8:1    0    50G  0 part /
├─sda2   8:2    0    49G  0 part /home
└─sda3   8:3    0     1G  0 part [SWAP]

lsblkの主なオプション

オプション説明
-a, --allすべてのデバイスを表示
-f, --fsファイルシステム情報を表示
-p, --pathsデバイスパスをフルパス表示
-o, --output表示する列を指定
-J, --jsonJSON形式で出力

詳しくはlsblkコマンドの記事を参照してください。

情報確認:blkid

blkid [オプション] [デバイス]

blkidは、ブロックデバイスのUUID・ファイルシステムタイプ・ラベルなどの属性情報を表示するコマンドです。fstabの設定や、パーティションがどのファイルシステムで初期化されているかを確認する際に使います。

sudo blkid

出力例:

/dev/sda1: UUID="e2e1e15c-01d6-4c9a-9d1c-93d5f5e6e3fa" TYPE="ext4" PARTUUID="b1b2b3b4-01"

blkidの主なオプション

オプション説明
-s <タグ>表示する特定のタグを指定(UUID、TYPEなど)
-o出力フォーマットを指定(full、value、list、exportなど)
-c <ファイル>キャッシュファイルを指定

詳しくはblkidコマンドの記事を参照してください。

MBR/GPT対応:fdisk

fdisk [オプション] デバイス

fdiskは、パーティションテーブルを確認・作成・変更・削除するための対話型コマンドです。以前はMBR専用ツールとして使われることが多くありましたが、現在はGPTにも対応しており、特別な理由がなければfdiskを第一選択として使うのがおすすめです。

sudo fdisk /dev/sdb

対話モードでの主なコマンド:

コマンド説明
n新しいパーティションを作成
dパーティションを削除
p現在のパーティションテーブルを表示
g新しいGPTパーティションテーブルを作成
o新しいMBRパーティションテーブルを作成
w変更を保存して終了
q変更を保存せずに終了

パーティション情報の一覧表示には-lオプションを使います。

sudo fdisk -l /dev/sdb

詳しくはfdiskコマンドの記事を参照してください。

GPT専用:gdisk

gdisk [オプション] デバイス

gdiskは、GPTディスク専用のパーティション操作コマンドです。MBR用のfdiskをGPTに対応させる目的で作られたツールで、対話モードの操作感はfdiskとよく似ています。

sudo gdisk /dev/sda

対話モードでの主なコマンド:

コマンド説明
n新しいパーティションを作成
dパーティションを削除
p現在のパーティションテーブルを表示
tパーティションのタイプコードを変更
w変更を保存して終了
q変更を保存せずに終了

一覧表示は-lオプションです。

sudo gdisk -l /dev/sda

現在はfdiskがGPTにも対応しているため、新規環境でgdiskをあえて選ぶ場面は減っていますが、GPT操作に特化した詳細表示・検証機能(vコマンドなど)が必要な場合に使われます。

詳しくはgdiskコマンドの記事を参照してください。

GPT/MBR対応・スクリプト向き:parted

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

partedは、GPT・MBRどちらにも対応し、対話モード・非対話モード(スクリプトモード)の両方で操作できるコマンドです。自動化したい場合に向いています。

対話モードの例:

sudo parted /dev/sda
(parted) mklabel gpt
(parted) mkpart primary ext4 0% 50%
(parted) print
(parted) quit

非対話モード(スクリプト)の例:

sudo parted -s /dev/sda mklabel gpt
sudo parted -s /dev/sda mkpart primary ext4 0% 50%

注意mkpartで指定するext4などの文字列は、実際にファイルシステムを作成するものではありません。パーティションタイプの目印として使われるだけで、実際にファイルシステムを作るには別途mkfsコマンドが必要です。

partedの主なオプション

オプション説明
-l, --listすべてのブロックデバイスのパーティション情報を表示
-s, --scriptスクリプトモードで実行(対話なし)
-a, --alignパーティション配置(アライメント)方法を指定

詳しくはpartedコマンドの記事を参照してください。

コマンド比較表

コマンド対応フォーマットモード主な用途現在の位置づけ
lsblk表示のみブロックデバイスの一覧確認操作前の確認に必須
blkid表示のみUUID・FSタイプの確認fstab設定などで利用
fdiskMBR/GPT対話パーティション作成・変更・削除標準的な第一選択
gdiskGPT専用対話GPT特化の詳細な操作・検証用途を絞った場面で利用
partedMBR/GPT対話/非対話パーティション操作・自動化スクリプト化したい場合に有効

どのコマンドを使うべきか(判断フロー)

  1. まずlsblkで対象ディスクとパーティション構成を確認する
  2. UUIDやファイルシステムタイプが必要ならblkidで確認する
  3. 通常のパーティション作成・削除はfdiskを使う(GPT・MBRどちらでも対応可能)
  4. GPT特有の検証・詳細操作が必要な場合はgdiskを検討する
  5. スクリプトで自動化したい場合はparted -sを使う
  6. パーティション作成後はmkfsでファイルシステムを作成し、mountでマウントする

まとめ

パーティション操作系コマンドは、確認用のlsblkblkidと、作成・変更・削除用のfdiskgdiskpartedに分けて理解すると整理しやすくなります。基本はfdiskで十分対応できますが、GPTの詳細操作や自動化が必要な場面ではgdiskpartedを使い分けましょう。

いずれの操作も、誤るとデータ損失につながるため、必ずバックアップを取り、対象デバイス名を確認してから実行してください。

以上です!

ここまで読んでいただきありがとうございました!

コメント

タイトルとURLをコピーしました