はじめに

こんにちは!今回はblkidコマンドについて解説します。

blkidはブロックデバイス(HDD、SSD、USBメモリなど)の詳細情報を表示するコマンドです。“block device identify"の略ですね。

UUID、ラベル、ファイルシステムタイプを素早く確認できるため、ディスク管理やマウント設定で活躍します。システム管理者なら知っておきたいコマンドですよ。


blkidコマンドとは

blkidは、マウントされているブロックデバイスの情報を表示する外部コマンドです。

各デバイスについて、UUID(世界的に一意のID)、ラベル、ファイルシステムタイプ、パーティションタイプを表示します。/etc/fstabの設定やマウント時にUUIDが必要な場面で便利です。

主な用途:

  • ディスク・パーティション情報の確認
  • UUID・ラベルの確認
  • ファイルシステムタイプの確認

基本構文

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

デバイスを指定しないとすべてのブロックデバイスを表示します。


主なオプション

オプション 説明
-p プローブモード(デバイス内容を詳細表示)
-o 出力形式を指定
-s 特定の属性のみ表示
-t 指定したタイプのデバイスのみ表示
-l リスト形式で表示
-c キャッシュをクリア
-g ガベージコレクション

使用例

例1: すべてのブロックデバイスを表示

1
blkid

実行結果:

1
2
3
/dev/sda1: UUID="550e8400-e29b-41d4-a716-446655440000" TYPE="ext4" PARTUUID="a1b2c3d4"
/dev/sda2: UUID="660f9511-f31c-52e5-b827-556766551111" TYPE="swap"
/dev/sdb1: LABEL="backup" UUID="770g0622-g42d-63f6-c938-667877662222" TYPE="ext4"

すべてのブロックデバイス(パーティション)の情報を表示します。UUID、ファイルシステムタイプが一覧で確認できます。


例2: 特定のデバイスのみ表示

1
blkid /dev/sda1

実行結果:

1
/dev/sda1: UUID="550e8400-e29b-41d4-a716-446655440000" TYPE="ext4" PARTUUID="a1b2c3d4"

/dev/sda1パーティションの情報のみ表示します。特定デバイスの詳細確認に便利です。


例3: プローブモードで詳細表示

1
blkid -p /dev/sda1

実行結果:

1
/dev/sda1: DEVNAME=/dev/sda1 UUID=550e8400-e29b-41d4-a716-446655440000 TYPE=ext4 PARTUUID=a1b2c3d4-01

-pオプションで詳細な情報を表示します。ブロックデバイスのプローブ(調査)情報が得られます。


例4: リスト形式で表示

1
blkid -l

実行結果:

1
2
3
DEVNAME=/dev/sda1 UUID=550e8400-e29b-41d4-a716-446655440000 TYPE=ext4
DEVNAME=/dev/sda2 UUID=660f9511-f31c-52e5-b827-556766551111 TYPE=swap
DEVNAME=/dev/sdb1 LABEL=backup UUID=770g0622-g42d-63f6-c938-667877662222 TYPE=ext4

リスト形式で見やすく表示します。スクリプト処理に適した形式です。


例5: UUIDのみ表示

1
blkid -s UUID /dev/sda1

実行結果:

1
/dev/sda1: UUID="550e8400-e29b-41d4-a716-446655440000"

-s UUIDでUUIDのみを表示します。/etc/fstab設定時に便利です。


例6: タイプのみ表示

1
blkid -s TYPE /dev/sda1

実行結果:

1
/dev/sda1: TYPE="ext4"

ファイルシステムタイプ(ext4、ntfs、vfatなど)のみ表示します。


例7: ラベル付きデバイスのみ表示

1
blkid -t LABEL

実行結果:

1
/dev/sdb1: LABEL="backup" UUID="770g0622-g42d-63f6-c938-667877662222" TYPE="ext4"

ラベルが設定されているデバイスのみ表示します。


例8: 特定のタイプのみ表示

1
blkid -t TYPE=ext4

実行結果:

1
2
/dev/sda1: UUID="550e8400-e29b-41d4-a716-446655440000" TYPE="ext4" PARTUUID="a1b2c3d4"
/dev/sdb1: LABEL="backup" UUID="770g0622-g42d-63f6-c938-667877662222" TYPE="ext4"

ext4ファイルシステムのみ表示します。特定の形式のデバイスを検索する時に便利です。


例9: JSON形式で出力

1
blkid -o full

実行結果:

1
DEVNAME=/dev/sda1 UUID=550e8400-e29b-41d4-a716-446655440000 TYPE=ext4 PARTUUID=a1b2c3d4-01 PTUUID=12345678 PTYPE=disk

完全な情報を表示します。パーティションタイプなども含まれます。


例10: キャッシュをクリアして再スキャン

1
sudo blkid -c /dev/null

実行結果:

1
(新しいスキャン結果を表示)

-c /dev/nullでキャッシュをクリアして、ディバイスを再スキャンします。新しく接続したUSBメモリなどの情報を取得する時に使います。


Tips・注意点

UUIDとLABELの違い

1
2
3
4
5
6
7
# UUID:システムで自動生成される一意のID(変更不可)
blkid -s UUID /dev/sda1
UUID="550e8400-e29b-41d4-a716-446655440000"

# LABEL:ユーザーが設定できるラベル(変更可能)
blkid -s LABEL /dev/sdb1
LABEL="backup"

UUIDはシステムが自動生成、LABELはユーザーが設定できます。/etc/fstabではUUIDの方が確実です。


キャッシュの更新タイミング

1
2
3
# blkidはキャッシュを使用しているため、新しいデバイスが即座に表示されない場合がある
# その場合はキャッシュをクリア
sudo blkid -c /dev/null

USB接続時などキャッシュが古いことがあります。必要に応じてクリアしましょう。


/etc/fstabでの使用

1
2
3
4
5
# UUID確認
blkid -s UUID /dev/sda1

# /etc/fstabでUUIDを使用
UUID=550e8400-e29b-41d4-a716-446655440000 /home ext4 defaults 0 2

マウント設定ではデバイス名の代わりにUUIDを使うと、ディスク構成変更時も対応が容易です。


実践的な使い方

新しいディスクのセットアップ

1
2
3
4
5
# 接続したディスクの確認
blkid

# UUIDを確認して /etc/fstab に追加
blkid -s UUID /dev/sdb1

新しいディスクを接続した時の標準的な確認手順です。


ファイルシステムタイプの確認

1
blkid -s TYPE | grep -v ext4

ext4以外のファイルシステムを使用しているパーティションを検索します。


マウントポイントの検証

1
2
3
4
5
# 接続されているデバイスのUUID確認
blkid -s UUID /dev/sda1

# /etc/fstabのエントリと照合
grep UUID /etc/fstab

/etc/fstabの設定が正しいかを検証できます。


スクリプトでのデバイス検索

1
2
3
4
5
#!/bin/bash
# 特定のラベルのデバイスを検索
TARGET_LABEL="backup"
DEVICE=$(blkid -t LABEL=$TARGET_LABEL -o device)
echo "Found device: $DEVICE"

スクリプト内でデバイスを動的に検索できます。


まとめ

blkidコマンドのポイント:

  • 全デバイス表示blkid(デバイス指定なし)
  • 特定デバイスblkid /dev/sda1
  • UUIDのみblkid -s UUID
  • タイプのみblkid -s TYPE
  • 特定タイプ検索blkid -t TYPE=ext4
  • キャッシュクリアsudo blkid -c /dev/null
  • リスト形式blkid -l

ディスク管理やマウント設定に必須のコマンドです。UUIDを確認することで、/etc/fstabの設定を確実にできますよ!