Linux 講座 / ディスク・パーティション・ファイルシステムを区別して確認する
ディスクはデータを保存するブロックデバイスであり、パーティションはその装置を分けた領域であり、ファイルシステムはファイルとディレクトリを保存・管理する形式です。ファイルシステムをディレクトリツリーに接続する操作がマウントであり、ディスク・パーティション・ファイルシステム・マウントポイントを同じものとして扱ってはいけません。
この記事はブロックデバイス・パーティション・ファイルシステムを区別します。作成したファイルシステムをディレクトリに接続し、実際のソースを確認する手順は マウントとストレージ管理 で扱います。
システム設定実習の基準は Ubuntu 26.04 LTS と Rocky Linux 9 系の一般インストール VM です。コンテナ・WSL・別のリリースでは、サービスやパッケージの構成が異なる場合があります。仮想マシン実習環境の作成で、コンソールの復旧とバージョン確認を最初に準備してください。
保存構造を四つの階層に分けて見る
| 階層 | 確認対象 | 代表ツール |
|---|---|---|
| ブロックデバイス | サイズ・装置種類・親子関係 | lsblk |
| パーティション・論理ボリューム | デバイス内の領域または論理的な保存空間 | lsblk、パーティション・LVMツール |
| ファイルシステム | ext4・XFSのような保存形式とUUID | lsblk -f, blkid |
| マウント | どのパスでどのオプションでアクセスするか | findmnt, df |
一般的な構造は「ディスク → パーティション → ファイルシステム → マウントポイント」ですが、必ずしもこの順序とは限りません。LVM(Logical Volume Manager)は物理的な保存空間を論理ボリュームに分割したりまとめたりし、暗号化・ソフトウェアRAIDも中間層を追加することがあります。デバイス全体に直接ファイルシステムがある場合もあるので、パーティションがないという理由だけで空のディスクと判断しないでください。
デバイス名と実際の使用経路を一緒に確認する
lsblk -o NAME,TYPE,SIZE,FSTYPE,UUID,MOUNTPOINTS
findmnt -T /
df -hT /
sda・vda・nvme0n1 のような名前は、デバイス方式と発見順序によって異なります。例えば、NVMe パーティション名は通常、nvme0n1p1 のように表示されます。しかし、名前だけを見てオペレーティングシステムのディスクや新しいディスクを判断してはいけません。デバイスのサイズ、マウント位置、クラウドボリュームの識別情報まで比較する必要があります。古い lsblk で MOUNTPOINTS をサポートしていない場合は、MOUNTPOINT を使用します。
lsblk はデバイスの関係を、findmnt -T / はルートパスを含むマウントを、df はマウントされたファイルシステムの使用量を表示します。これらのツールの数字が異なって見えるのは、予約領域、メタデータ、単位、複数の階層の違いが原因である可能性があります。df に表示されないからといって、未使用デバイスだと結論付けることはありません。
GPT とファイルシステム形式を区別する
GPT(GUID Partition Table)とMBR(Master Boot Record)はパーティション情報を記録する方式であり、ext4・XFSはファイルシステム形式です。GPTディスクのパーティションにext4を作成できるため、両者を代替選択肢のように比較しないでください。すでに使用中のディスクのパーティションテーブルを新しく作成すると、既存の領域情報を失う可能性があります。この講座では実際のディスクのパーティションテーブルを作成したり変更したりしません。
ext4とXFSの管理・拡張・復旧ツールはそれぞれ異なり、縮小可能かどうかやオフライン作業条件も異なります。デフォルトが何かよりも、使用中の配布版、バックアップ・復元方法、サポートされている管理作業をまず確認してください。ツール名が似ているからといって、他のファイルシステムに無理に実行してはいけません。
実際のディスクの代わりにイメージファイルで実習する
次のコマンドは、一般アカウントのホームの下に一時作業ディレクトリと128 MiBサイズのファイルを作成します。mkfs.ext4はUbuntu・Rocky Linuxで通常e2fsprogsパッケージが提供します。このコマンドは対象を新しいファイルシステムとして初期化するため、実際の/dev/...デバイスにパスを変更しないでください。パスが通常のファイルかどうかをまず確認します。
lab=$(mktemp -d "$HOME/linux-storage-lab.XXXXXX")
truncate -s 128M "$lab/disk.img"
test -f "$lab/disk.img" && test ! -b "$lab/disk.img" && mkfs.ext4 -F "$lab/disk.img"
file "$lab/disk.img"
dumpe2fs -h "$lab/disk.img" 2>/dev/null | head -n 15
printf "lab=%s\n" "$lab"
fileでext4に関する情報が表示され、dumpe2fsでファイルシステムのUUIDやブロック情報を確認できる場合、イメージ内にファイルシステム構造が作成されていることになります。まだマウントしていないため、ファイルシステム内に通常のパスでファイルを保存することはできません。イメージファイル自体のサイズと内部で使用できる空間も同じではありません。
確認結果と整理方法
実習の目的はフォーマットコマンドを暗記することではなく、ストレージ層を区別することです。イメージファイルはパーティションテーブルなしで直接ext4を含んでいる点をlsblkベースのデバイス構造と比較してみてください。マウント実習を続ける場合は、上で出力したパスを保管します。もう使用しない場合は、ファイルマネージャーでその一時ディレクトリの内容とパスを確認した後、削除してください。
運用デバイスを変更する必要がある場合は、復元可能なバックアップ、正確なデバイス識別、マウント・スワップ・LVM・RAIDの使用状況の確認をまず終えてください。デバイスやファイルシステムの状態が不明確な場合は、フォーマット・パーティション再作成よりも読み取り専用での確認と復旧計画を優先します。




