カテゴリ: Linux 更新日: 2026/06/22

blkidコマンドとは?LinuxでUUIDやファイルシステムを確認する方法を徹底解説!

Linuxのblkidコマンドとは?UUIDやファイルシステムを確認する方法
Linuxのblkidコマンドとは?UUIDやファイルシステムを確認する方法

先生と生徒の会話形式で理解しよう

生徒

「Linux(リナックス)で新しいハードディスクを接続したのですが、システムがどう認識しているか確認する方法はありますか?」

先生

「それならblkid(ビーエルケーアイディー)というコマンドが便利ですよ。ストレージの識別番号であるUUID(ユーユーアイディー)などを一目で確認できます。」

生徒

「UUID(ユーユーアイディー)って何ですか?難しそうな名前ですね。」

先生

「簡単に言うと、機器ごとの『背番号』や『マイナンバー』のようなものです。これを知っておくと、設定ファイルを書き換えるときに間違いがなくなるんですよ。」

生徒

「なるほど、個別の名前を確認するコマンドなんですね。使いかたを教えてください!」

Linuxを初めて学ぶ人や、 OS・プロセス・メモリ管理・仮想マシン・コンテナの仕組みを図解で理解したい人におすすめの定番書籍です。

試して理解 Linuxのしくみを見る

※ Amazonアソシエイト広告リンク

1. blkidコマンドとは?

1. blkidコマンドとは?
1. blkidコマンドとは?

blkid(読み方はビーエルケーアイディー)コマンドは、Linuxシステムにおいて「ブロックデバイス」と呼ばれるストレージ機器の情報を表示するためのツールです。ブロックデバイスとは、ハードディスク(HDD)やSSD(エスエスディー)、USBメモリなどのデータを保存する装置のことを指します。

このコマンドを使用する主な目的は、各パーティション(領域)に割り当てられたUUID(Universally Unique Identifier:ユニバーサル・ユニーク・アイデンティファイア)や、ファイルシステムの種類(TYPE)、ボリュームラベルなどを確認することです。

Windowsであれば「Cドライブ」や「Dドライブ」といった名前で区別しますが、Linuxでは/dev/sda1(スラッシュ・デブ・エスディーエーワン)といった名前で管理されます。しかし、これらの名前は接続順序によって変わってしまうことがあります。そこで、絶対に変わらない「固有のID」であるUUIDを確認するために、このblkidコマンドが欠かせない存在となっています。

2. UUID(ユーユーアイディー)の重要性

2. UUID(ユーユーアイディー)の重要性
2. UUID(ユーユーアイディー)の重要性

UUID(読み方はユーユーアイディー)は、世界中で重複することがないように生成される128ビットの識別子です。Linuxのシステム管理において、なぜこの長い文字列が必要なのでしょうか。

例えば、パソコンに複数のハードディスクを接続している場合、再起動のタイミングや接続ポートの違いによって、デバイス名が/dev/sdbから/dev/sdcに入れ替わってしまうことがあります。もし設定ファイルにデバイス名で記述していると、OS(オーエス)が正しく起動しなくなる恐れがあります。

そこで、システムの設定ファイルである/etc/fstab(読み方はエトセ・エフエスタブ)などでは、デバイス名の代わりにUUIDを使用します。UUIDは機器そのものに紐付いているため、接続場所が変わってもシステムは迷わずそのディスクを見つけ出すことができます。いわば、住所ではなく「個人名」で荷物を届けるような確実性があるのです。

3. blkidコマンドの基本的な使いかた

3. blkidコマンドの基本的な使いかた
3. blkidコマンドの基本的な使いかた

まずは、引数なしでコマンドを実行してみましょう。システムに認識されているすべてのブロックデバイスの情報がリスト形式で表示されます。このコマンドは、一般ユーザーでも実行可能ですが、最新の正確な情報を取得するためには、管理者権限(root:ルート)で実行することが推奨される場合もあります。

まずは一般ユーザーで実行した際の例を見てみましょう。出力結果には、デバイス名、UUID、ファイルシステムの種類(TYPE)が表示されます。


blkid
/dev/sda1: UUID="550e8400-e29b-41d4-a716-446655440000" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="00012345-01"
/dev/sdb1: UUID="A1B2-C3D4" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="6789abcd-01"

上記の例では、/dev/sda1ext4(イーエックスティーフォー)というLinux標準のファイルシステムであり、/dev/sdb1はUSBメモリなどでよく使われるvfat(ブイファット)形式であることがわかります。

4. 特定のデバイス情報を指定して確認する

4. 特定のデバイス情報を指定して確認する
4. 特定のデバイス情報を指定して確認する

すべてのデバイスが表示されると、情報が多すぎて目的のデータを探すのが大変なことがあります。その場合は、引数にデバイスのパスを指定することで、特定のパーティションのみの情報を抽出できます。

例えば、1番目のハードディスクの第1パーティションである/dev/sda1の情報だけを見たい場合は、次のように入力します。


blkid /dev/sda1
/dev/sda1: UUID="550e8400-e29b-41d4-a716-446655440000" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="00012345-01"

このように絞り込むことで、設定ファイルへのコピー&ペースト作業が非常にスムーズになります。コマンドラインでの操作は、こうした「必要な情報だけを取り出す」工夫が効率化の鍵となります。

5. 管理者権限(root)での実行とキャッシュの更新

5. 管理者権限(root)での実行とキャッシュの更新
5. 管理者権限(root)での実行とキャッシュの更新

Linuxでは、ハードディスクの構成を変更した直後だと、古い情報が「キャッシュ」として残っていることがあります。より正確な、現在のリアルタイムな情報を取得したい場合は、sudo(スードゥー)コマンドを使い、管理者権限(root:ルート)で実行するのが一般的です。

特に、新しいパーティションを作成した直後などは、一般ユーザーの実行結果には反映されないことがあります。ルートユーザーとして実行することで、システム全体のストレージ情報を強制的に再スキャンして表示させることができます。


blkid -g
blkid
/dev/nvme0n1p1: UUID="2026-0404-ABCD" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI System Partition"
/dev/nvme0n1p2: UUID="f47ac10b-58cc-4372-a567-0e02b2c3d479" BLOCK_SIZE="4096" TYPE="xfs"

ここで使用している-gオプションは、古いキャッシュをクリアするための命令です。読み方は「ガーベジコレクション」の意味を含んでおり、ゴミとなった古いデータを掃除してくれます。その後、改めてblkidを叩くことで、最新の状態を確認できます。

6. ファイルシステムの種類(TYPE)を確認する方法

6. ファイルシステムの種類(TYPE)を確認する方法
6. ファイルシステムの種類(TYPE)を確認する方法

blkidコマンドの結果に含まれる「TYPE」という項目は、そのパーティションがどのような形式でフォーマットされているかを示しています。ファイルシステムとは、データをどのように整理して保存するかというルールのことです。本棚の整理術のようなものだと考えてください。

Linuxでよく見かける代表的なTYPEには以下のようなものがあります。

  • ext4(イーエックスティーフォー):Linuxで最も一般的に使われる安定したシステム。
  • xfs(エックスエフエス):大規模なファイルや高速な処理が得意なシステム。
  • vfat(ブイファット):WindowsやMacでも読み書きできる、互換性の高いシステム。
  • swap(スワップ):メモリが足りなくなったときに一時的にデータをおく領域。

「このUSBメモリ、Windowsで使える形式かな?」と疑問に思ったときは、blkidを実行してTYPEがvfatntfs(エヌティーエフエス)になっているかを確認すれば解決します。

7. 特定の項目だけを抽出する(出力のカスタマイズ)

7. 特定の項目だけを抽出する(出力のカスタマイズ)
7. 特定の項目だけを抽出する(出力のカスタマイズ)

スクリプトを作成したり、UUIDの文字列だけを純粋に取得したい場合には、-s(セレクト)オプションや-o(出力形式)オプションを活用します。例えば、UUIDという項目(タグ)の値だけを表示させたい場合は、以下のような書き方をします。


blkid -s UUID -o value /dev/sda1
550e8400-e29b-41d4-a716-446655440000

この実行結果を見ると、余計な説明が一切省かれ、UUIDの文字列だけが出力されているのがわかります。これは、プログラムや設定自動化ツールに値を渡したいときに非常に重宝するテクニックです。初心者のうちはあまり使いませんが、「こんな便利な取り出し方もあるんだな」と頭の片隅に置いておくと、将来役に立ちます。

8. blkidと関連するコマンド:lsblkとの違い

8. blkidと関連するコマンド:lsblkとの違い
8. blkidと関連するコマンド:lsblkとの違い

Linuxには、ストレージ情報を確認するコマンドが他にもあります。特によく似た役割を持つのがlsblk(エルエスビーエルケー)コマンドです。lsblkは、デバイスの接続構造を「ツリー形式(木の枝分かれのような形)」で見せてくれるのが得意です。

一方で、今回のblkidは、より詳細な識別情報(UUIDやファイルシステム名)をピンポイントで確認するのに適しています。用途に合わせて使い分けるのがLinuxマスターへの近道です。例えば、「物理的にどこに繋がっているか」を知りたいときはlsblkを使い、「設定ファイルに書き込むUUIDを調べたい」ときはblkidを使う、といった具合です。

9. トラブルシューティング:コマンドが見つからない場合

9. トラブルシューティング:コマンドが見つからない場合
9. トラブルシューティング:コマンドが見つからない場合

もしターミナルでblkidと入力して「command not found(コマンドが見つかりません)」と表示された場合、そのコマンドがインストールされている場所(パス)が通っていない可能性があります。blkidは通常、システム管理用のディレクトリである/sbin/(スラッシュ・エスビン)や/usr/sbin/(スラッシュ・ユーザー・エスビン)に配置されています。

そのような場合は、フルパスでコマンドを指定するか、前述の通りsudoをつけて実行してみてください。Linuxのディレクトリ構造(階層構造)において、システムに影響を与える重要なコマンドは、一般ユーザーから隠れた場所に置かれていることがあるためです。


/sbin/blkid
/dev/sda1: UUID="550e8400-e29b-41d4-a716-446655440000" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="00012345-01"

このようにフルパスで入力することで、場所がわからないと困っているシステムに対して「ここにある実行ファイルを使ってね」と明示的に指示することができます。

10. 実践的な活用シーン:ディスクの増設と自動マウント

10. 実践的な活用シーン:ディスクの増設と自動マウント
10. 実践的な活用シーン:ディスクの増設と自動マウント

最後に、実際の運用シーンを想像してみましょう。新しく1TB(イチテラバイト)のHDD(ハードディスクドライブ)を購入し、サーバーに追加したとします。OSを起動するたびに手動で認識させるのは面倒ですよね。そこで「自動マウント」の設定を行います。

自動マウントの設定ファイル/etc/fstabには、「どのUUIDのディスクを、どのフォルダに接続するか」を記述します。ここでblkidを使って調べた正確なUUIDを貼り付けることで、設定ミスを防ぎ、安全にストレージを拡張できるようになります。この一連の流れができるようになれば、初心者卒業と言えるでしょう。Linuxのファイルシステム管理は、こうした小さな確認作業の積み重ねで成り立っています。

LPICレベル1の合格を目指している人や、 Linuxコマンド・シェル・ネットワーク・セキュリティの試験対策を効率よく進めたい人におすすめの定番問題集です。

Linux教科書 LPICレベル1 スピードマスター問題集を見る

※ Amazonアソシエイト広告リンク

まとめ

まとめ
まとめ

Linux(リナックス)システムにおけるストレージ管理において、blkid(ビーエルケーアイディー)コマンドは非常に重要な役割を担っています。この記事では、ハードディスクやSSD、USBメモリといったブロックデバイスの識別情報を確認する具体的な方法について詳しく解説してきました。特に、システム再起動やデバイスの接続順序によって変化することのない、世界に一つだけの識別子であるUUID(ユーユーアイディー)の確認は、サーバー運用やPC管理において欠かせない作業です。

blkidコマンドの主要なポイント

これまでに学んだ内容を振り返り、重要なポイントを整理しましょう。Linuxエンジニアやシステム管理者を目指す方にとって、以下の要素は基本スキルとなります。

  • UUIDの取得:デバイス固有のIDを確認し、設定ミスを防ぐ。
  • ファイルシステムの判別:ext4(イーエックスティーフォー)やxfs(エックスエフエス)、vfat(ブイファット)などの種類を特定する。
  • 自動マウント設定:/etc/fstab(エトセ・エフエスタブ)の編集に必要な正確な情報を得る。
  • キャッシュのクリア:blkid -g オプションで最新のデバイス情報をスキャンする。

実務で使えるblkidの応用テクニック

実際の現場では、ただ情報を表示するだけでなく、特定の値をプログラムやシェルスクリプトで利用することが多くあります。例えば、特定のパーティションのUUIDだけを抽出して変数に格納し、その後の処理を自動化するといった手法です。ここでは、現場で役立つコマンドの組み合わせや、情報の読み取り方を改めて確認します。

以下のコード例では、特定のデバイス情報を取得し、その結果をどのように解釈すべきかを示しています。


# デバイス /dev/nvme0n1p3 の詳細情報を表示
sudo blkid /dev/nvme0n1p3
/dev/nvme0n1p3: UUID="e8d5f3a1-7c9b-4b2d-9e6f-1a2b3c4d5e6f" BLOCK_SIZE="4096" TYPE="xfs" PARTUUID="b9f8e7d6-05"

# UUIDの値だけを抽出して表示(スクリプト利用向け)
blkid -s UUID -o value /dev/nvme0n1p3
e8d5f3a1-7c9b-4b2d-9e6f-1a2b3c4d5e6f

このように、オプションを使い分けることで、人間が読みやすい形式からプログラムが処理しやすい形式まで、柔軟に出力をカスタマイズできます。Linuxの操作に慣れてくると、こうした「出力の加工」が非常に楽しくなり、作業効率も劇的に向上します。

Linuxストレージ管理の全体像

Linuxのファイルシステム管理は、物理的なデバイス、パーティション、そしてマウントポイントという階層構造で成り立っています。blkidはこの中で「パーティション自体の身分証」を確認するツールです。もし、ディスクの容量やマウント状況を視覚的に把握したい場合は、lsblk(エルエスビーエルケー)やdf(ディーエフ)コマンドと併用するのがベストプラクティスです。

また、最新のLinuxディストリビューション(Ubuntu、CentOS、Debianなど)では、NVMe(エヌブイエムイー)接続の高速なSSDが普及しており、デバイス名が/dev/nvme0n1p1のような形式になることが増えています。名称が複雑になればなるほど、UUIDによる管理の重要性は増していきます。

先生と生徒の振り返り会話

生徒

「先生、ありがとうございました!blkid(ビーエルケーアイディー)コマンドを使うことで、バラバラに見えたハードディスクの情報が、UUID(ユーユーアイディー)という共通のルールで管理されていることがよくわかりました。」

先生

「それは良かったです。UUIDが分かれば、設定ファイルの記述でミスをして、OS(オーエス)が起動しなくなるという最悪の事態も防げますからね。特に/etc/fstab(エトセ・エフエスタブ)を編集するときは、必ずこのコマンドで確認する癖をつけましょう。」

生徒

「はい!さっき、自分のパソコンでも試してみたんです。-s UUID -o valueというオプションを使ったら、本当にIDの文字列だけが出てきて感動しました。これなら、メモ帳にコピーして貼り付けるのも簡単ですね。」

先生

「素晴らしいですね。応用もバッチリです。ちなみに、新しいUSBメモリを指したときに認識されないことがあれば、管理者権限(root:ルート)でblkid -gを試して、キャッシュをクリアすることも忘れないでくださいね。」

生徒

「ガーベジコレクションの-gですね。覚えました!あと、lsblk(エルエスビーエルケー)との使い分けも意識してみます。木構造で見たいときはlsblk、詳しい中身やIDを知りたいときはblkid、という感じですよね?」

先生

「その通り!使い分けができるようになれば、もうLinux初心者卒業ですよ。ストレージ管理は基本でありながら奥が深い分野です。これからも色々なコマンドを組み合わせて、安全で効率的なシステム運用を楽しんでくださいね。」

生徒

「ありがとうございます!次は、実際に自分の環境で新しいパーティションを作って、UUIDを使って自動マウントの設定に挑戦してみようと思います!」

最後に:さらなるステップアップに向けて

この記事を通して、Linuxのブロックデバイス管理の第一歩を踏み出しました。blkidは地味なコマンドに見えるかもしれませんが、システムの安定稼働を支える縁の下の力持ちです。UUIDを正しく扱う知識は、クラウド環境や仮想化技術(DockerやKVMなど)を扱う際にも必ず役立ちます。

今後、シェルスクリプトを自作する機会があれば、ぜひ今回紹介したオプションを活用して、自動化の便利さを体感してみてください。コマンド一つひとつの意味を理解し、自分の手でシステムを制御する喜びを感じることが、エンジニアとしての成長に繋がります。

関連記事:
カテゴリの一覧へ
新着記事
New1
情報セキュリティマネジメント試験
AESとは?初心者でもわかる現代暗号方式の基本と仕組みをやさしく解説
更新記事
New2
基本情報技術者試験
WWWとは?初心者でもわかるワールドワイドウェブの基本と仕組みをやさしく解説!
更新記事
New3
Linux
lsmodコマンドの使い方を完全ガイド!Linuxのカーネルモジュール一覧を確認する方法
新規投稿
New4
情報セキュリティマネジメント試験
ダークウェブとは?初心者でもわかる意味・仕組み・危険性をやさしく解説
更新記事
人気記事
No.1
Java&Spring記事人気No1
基本情報技術者試験
イーサネット(Ethernet)とは?初心者にもわかるLANの基本技術をやさしく解説
No.2
Java&Spring記事人気No2
基本情報技術者試験
NIC
341
NICとは何か?初心者にもわかるネットワークインターフェースカードの基本
No.3
Java&Spring記事人気No3
基本情報技術者試験
DHCP
233
DHCPとは?初心者でもわかるIPアドレス自動割り当ての仕組み
No.4
Java&Spring記事人気No4
基本情報技術者試験
16進数とは?初心者にもわかる意味・読み方・変換方法をやさしく解説!
No.5
Java&Spring記事人気No5
基本情報技術者試験
CPU
154
CPUとは何かを完全解説!初心者でもわかるコンピュータの頭脳の仕組み
No.6
Java&Spring記事人気No6
情報セキュリティマネジメント試験
ソフトウェアとは何かを完全解説!初心者でもわかる基本と役割
No.7
Java&Spring記事人気No7
基本情報技術者試験
CGI
146
CGIとは?初心者でもわかるWebとプログラムのつながりを解説!
No.8
Java&Spring記事人気No8
基本情報技術者試験
ビット(bit)とは?デジタルデータの最小単位をわかりやすく解説