Linuxシステムを扱う中で、ストレージデバイスの識別子である「UUID(Universally Unique Identifier)」の確認が必要になる場面は多々あります。特に、/etc/fstab
でのマウント設定や、システムバックアップ・リカバリ、ストレージトラブルの調査などでUUIDの情報は欠かせません。そんなときに活躍するのが、blkid
コマンドです。本記事では、Linuxで利用できるblkid
コマンドの基本的な使い方から、具体的な活用方法、そして注意点までを3000文字以上にわたって丁寧に解説していきます。初心者から中級者まで役立つ内容になっていますので、ぜひ最後までご覧ください。
blkidとは何か?
blkid
(ブロックID)は、Linuxにおけるブロックデバイス(HDDやSSD、USBメモリなど)の情報を表示するコマンドです。特にUUID(ユニバーサリー・ユニーク・アイデンティファイア)やラベル(LABEL)といった、ファイルシステムを識別するための情報を取得するのに使われます。
UUIDは、デバイスの名前(例:/dev/sda1
)が変更されても一貫して識別できる特徴があり、安定したマウント設定などに非常に便利です。
blkidの基本的な使い方
コマンドの基本形
blkid
このコマンドを入力すると、接続されているすべてのブロックデバイスの情報が一覧表示されます。たとえば、以下のような出力が得られます:
/dev/sda1: UUID="1234-ABCD" TYPE="ext4" PARTUUID="abcd1234-01"
/dev/sdb1: UUID="5678-EFGH" TYPE="vfat" PARTUUID="efgh5678-01"
この出力から分かるのは以下の情報です:
- UUID:デバイスのユニークな識別子
- TYPE:ファイルシステムの種類(例:ext4、vfat、xfsなど)
- PARTUUID:GPTまたはMBRによって管理されるパーティションID
特定のデバイスのUUIDを確認する
すべてのデバイス情報を確認するのではなく、特定のデバイス(例:/dev/sda1
)のUUIDだけを知りたい場合は、以下のように入力します。
blkid /dev/sda1
出力例:
/dev/sda1: UUID="1234-ABCD" TYPE="ext4"
これにより、必要なデバイスのみの情報を素早く確認できます。
UUIDの利用例:fstabファイルでの活用
UUIDがもっとも活用される場面の一つが、/etc/fstab
ファイルです。fstab
は、システム起動時に自動的にデバイスをマウントするための設定ファイルです。
例:
UUID=1234-ABCD /mnt/data ext4 defaults 0 2
このようにUUIDで指定しておくことで、デバイス名が変わっても正しくマウントされるため、トラブルを防げます。
blkidのオプション紹介
blkid
にはいくつかの便利なオプションがあります。以下に主なものを紹介します。
-s オプション:特定の情報だけ表示
bashコピーする編集するblkid -s UUID
このコマンドではUUIDだけを表示します。
例:
/dev/sda1: UUID="1234-ABCD"
/dev/sdb1: UUID="5678-EFGH"
-s TYPE
とすれば、ファイルシステムの種類だけを取得できます。
-o オプション:出力フォーマットを指定
出力形式を変更したい場合には、-o
オプションが便利です。
blkid -o value -s UUID
この場合、UUIDの値だけが表示されます。
例:
1234-ABCD
5678-EFGH
スクリプトなどでUUIDを取り出したいときに重宝します。
blkidと他のコマンドとの違い
UUIDを確認するコマンドとしては、他にもlsblk
やudevadm info
などがあります。それぞれの違いを見ておきましょう。
コマンド | 特徴 |
---|---|
blkid | UUIDやTYPEなどのファイルシステム情報に特化 |
lsblk | ブロックデバイスの階層構造とサイズ、マウントポイントを表示 |
udevadm info | デバイスの詳細情報を確認できるが、初心者には少し難解 |
blkid
はとにかく「シンプルにUUIDを確認したい」という用途に最適です。
blkidを使う際の注意点
root権限が必要な場合がある
一部の環境では、通常ユーザーでblkid
を実行すると何も表示されないことがあります。この場合はsudo
をつけて実行しましょう。
sudo blkid
未フォーマットのデバイスにはUUIDが存在しない
フォーマットされていない新しいデバイスやパーティションにはUUIDが設定されていないため、blkid
を実行しても情報が表示されません。この場合、mkfs
コマンドでファイルシステムを作成することでUUIDが付与されます。
blkidを使ったトラブルシューティングの例
たとえば、USBメモリが認識されない場合、blkid
を使ってデバイスが認識されているか確認できます。
sudo blkid
ここで該当のデバイスが表示されない場合、物理的な接続やデバイスの故障が疑われます。逆に表示されていれば、マウント作業やファイルシステムの整合性のチェック(fsck
など)へと移ることができます。
blkidを使ったスクリプトの例
UUIDを取得して自動的に設定ファイルを生成するスクリプトの例を以下に紹介します。
#!/bin/bash
DEVICE="/dev/sdb1"
UUID=$(blkid -s UUID -o value $DEVICE)
echo "UUID=$UUID /mnt/usb ext4 defaults 0 0" >> /etc/fstab
このようにすれば、新しいストレージデバイスを簡単に永続マウント設定に追加できます。
まとめ
blkid
コマンドは、LinuxでストレージデバイスのUUIDやファイルシステムタイプなどの重要な情報を確認するのに不可欠なツールです。/etc/fstab
での安定したマウント設定やトラブルシューティング、スクリプトによる自動化など、様々な場面で活躍します。
初心者の方はまずblkid
コマンドを覚え、必要なデバイス情報の取得から始めてみてください。慣れてくれば、出力オプションやスクリプトとの組み合わせによって、より高度なシステム管理ができるようになります。
今後もストレージ管理の基礎スキルとして、ぜひ活用していきましょう。