Linuxサーバーにおいてデータを永続的に保持し活用するためには、物理ストレージの認識からパーティション分割、ファイルシステムの作成(フォーマット)、そしてディレクトリツリーへのマウントに至る一連のストレージ管理手順を体系的に理解する必要があります。本稿はLinuC 101試験編の総仕上げとして、主題1.05「デバイス、Linuxファイルシステム、ファイルシステム階層標準」で出題されるハードウェア情報の収集(/proc、lspci、udev)、MBRとGPTのパーティション方式、ファイルシステム(ext4 / XFS)の特性と保守、そして/etc/fstabによる永続マウント設定を、実機検証ログとともに論理的に解説します。
- Linuxにおけるハードウェア情報の確認手法(
/proc/cpuinfo、/proc/meminfo、lspci、lsusb)およびudevによるデバイスファイル(/dev)の動的生成の仕組みを説明できる状態を目指します - MBR方式とGPT方式の技術仕様の違い(2TB上限、パーティション数、冗長性)を把握し、
fdiskやpartedを用いた領域分割手順を理解します - 代表的なLinuxファイルシステム(ext4、XFS)の特徴と、作成・保守コマンド(
mkfs、tune2fs、xfs_info、xfs_repair)の使い分けを習得します mountおよびumountコマンドのオプション(ro、rw、noexec、nosuid、remount)と、/etc/fstabの全6フィールドの書式を完璧に記述できるようにします- 101試験の全出題範囲を総括し、102試験編への学習接続を確立します
| 項目 | 仕様・設定値 |
|---|---|
| 検証機ホスト名 | linuc-node01 |
| ディストリビューション | AlmaLinux 9.8 (Olive Jaguar) |
| パーティション方式 | GPT(GUID Partition Table / UEFI環境) |
| ルートファイルシステム | XFS(LVM論理ボリューム構成) |
| ストレージデバイス | /dev/sda(SATA仮想ディスク 100GB) |
| 対象試験 | LinuC レベル1 101試験(主題1.05.1〜1.05.3 重要度合計8) |
目次
1. ハードウェア情報の収集とデバイス認識の仕組み
Linuxカーネルは、物理マザーボードに接続されたCPU、メモリ、PCIデバイス、USB機器などを起動時に自動検知し、それらの状態や仕様を仮想ファイルシステム経由でユーザー空間へ公開します。

1.1 /proc ファイルシステムによるハードウェア情報参照
/procディレクトリはディスク上に実体を持たず、カーネルの内部データ構造をファイル形式で閲覧できる仮想ファイルシステム(procfs)です。試験で問われる代表的なファイルは以下の通りです。
| 仮想ファイルパス | 格納されているハードウェア・カーネル情報 | 主な確認コマンド例 |
|---|---|---|
/proc/cpuinfo |
CPUの型番、コア数、動作周波数、キャッシュサイズ、対応命令セット | grep 'model name' /proc/cpuinfo |
/proc/meminfo |
物理メモリ総量(MemTotal)、空き容量(MemFree)、利用可能量(MemAvailable) | head -n 5 /proc/meminfo |
/proc/interrupts |
各CPUコアに対するハードウェア割り込み(IRQ: Interrupt Request)の発生回数 | cat /proc/interrupts |
/proc/ioports |
デバイスがCPUと直接通信するために割り当てられたI/Oポートアドレス空間 | cat /proc/ioports |
/proc/dma |
CPUを介さずにメモリと直接データ転送を行うDMA(Direct Memory Access)チャネル | cat /proc/dma |
/proc/version |
Linuxカーネルバージョン、ビルド日時、コンパイラ(gcc)のバージョン | cat /proc/version |
1.2 ハードウェア検出コマンド(lspci, lsusb, lsdev)
システムに接続されているバスや拡張カードを調査する専用ユーティリティです。
lspci: PCIバスおよびPCI Expressスロットに接続されたデバイス(グラフィックカード、ネットワークカード、ストレージコントローラ等)を一覧表示します。-v(詳細表示)、-k(利用中のカーネルドライバを表示)、-nn(ベンダーIDとデバイスIDを数値表示)などのオプションがあります。lsusb: USBバスに接続された機器(キーボード、マウス、外付けドライブ等)を一覧表示します。-vオプションで詳細なUSBディスクリプタ情報を確認できます。lsdev:/proc/interrupts、/proc/ioports、/proc/dmaの情報を統合して見やすく一覧表示します。
1.3 udevとsysfs(/sys)によるデバイスファイル(/dev)の動的生成
Linuxではすべてのデバイスを/dev配下の「デバイスファイル」として表現します。デバイスファイルには、ハードディスクやSSDのように固定長ブロック単位でランダムアクセス可能なブロックデバイス(b)と、キーボードやシリアルポートのように文字単位でシーケンシャルにアクセスするキャラクタデバイス(c)があります。
現代のLinuxでは、ハードウェアの接続・切断をカーネルが検知すると、sysfs(/sys)を通じてデーモンであるsystemd-udevd(udev)にイベントが通知されます。udevは/etc/udev/rules.d/などのルール設定に基づき、/dev配下に適切なデバイスノード(/dev/sdaや/dev/nvme0n1)を動的に作成します。
2. ディスクのパーティション分割方式:MBR vs GPT
ストレージにファイルシステムを作成する前段階として、物理ディスクを論理的な区画(パーティション)に分割します。ここには歴史的なMBR方式と、現行標準のGPT方式の2種類があります。
2.1 MBR(マスターブートレコード)の構造と制約
MBR方式は1980年代からPC/AT互換機で使われてきた伝統的なパーティショニング方式です。ディスク先頭の第0セクタ(512バイト)にブートコードとパーティションテーブルが記録されます。
- 基本パーティション(Primary Partition)の制限: テーブル領域が小さいため、基本パーティションは最大4個までしか作成できません。
- 拡張パーティション(Extended Partition)と論理パーティション(Logical Partition): 5個以上の領域を必要とする場合、基本パーティションのうち1つを「拡張パーティション」として定義し、その内部に複数の「論理パーティション」を作成します。論理パーティションのデバイス番号は必ず
/dev/sda5以降が割り当てられます。 - 容量制限: セクタ管理が32ビットであるため、2TB(約2.2TB)を超えるディスク領域を認識・管理できません。
2.2 GPT(GUIDパーティションテーブル)の優位性
GPT方式はUEFI仕様の一部として策定された次世代パーティショニング方式であり、現代のサーバーにおける標準です。
- 広大な容量対応: 64ビットのLBA(Logical Block Addressing)を採用し、最大8ZB(ゼタバイト)までの巨大ストレージに対応します。
- 多数のパーティション: 標準で128個以上のパーティションを「基本パーティション」として作成可能であり、拡張パーティションという複雑な概念が不要です。
- 高い信頼性と冗長性: ディスク先頭だけでなく末尾にもバックアップパーティションテーブルを保持し、CRC32チェックサムによる破損検知を行います。
2.3 fdiskコマンドによる対話型パーティション作成
MBRおよびGPTのパーティションを作成・変更・削除する標準的な対話型ツールがfdiskです。引数に対象ブロックデバイスを指定して起動します。
[user01@linuc-node01 ~]$ sudo fdisk /dev/sdb
起動後に入力する主要サブコマンド(一文字コマンド):
| サブコマンド | 英語の語源 | 機能と動作 |
|---|---|---|
m |
menu | ヘルプ(利用可能なコマンド一覧)を表示する |
p |
現在のパーティションテーブル一覧を表示する | |
n |
new | 新しいパーティションを追加作成する |
d |
delete | 既存のパーティションを削除する |
t |
type | パーティションのシステムタイプ(Linux LVM、Linux swap等)を変更する |
l |
list | 指定可能なパーティションタイプIDの一覧を表示する |
w |
write | 変更内容をパーティションテーブルに書き込み保存して終了する |
q |
quit | 変更をディスクに保存せずに直ちに終了する |
稼働中のディスクのパーティションテーブルを変更した際、OSカーネルに再読み込みを即座に指示するコマンドがpartprobeです。
2.4 gdiskとpartedコマンドの活用
gdisk: GPT専用のパーティション管理ツールであり、fdiskと同一のサブコマンド体系(p,n,d,w,q)でGPTディスクを直感的に操作できます。parted: MBRとGPTの双方をサポートし、対話モードだけでなくシェルスクリプトから非対話(コマンドライン引数指定)でパーティション操作を実行できる高機能ツールです。
3. Linuxファイルシステムの作成(フォーマット)
パーティションを作成した直後の領域は単なるバイナリの空き区画であり、OSがファイルを保存するためにはファイルシステムを構築(フォーマット)する必要があります。
3.1 ext4ファイルシステムの特徴と作成(mkfs.ext4, mke2fs)
ext4(Fourth Extended Filesystem)は、Linuxにおいて長年標準として広く利用されてきたジャーナリングファイルシステムです。
- ジャーナリング(Journaling): データの書き込み前に更新履歴(ジャーナル)を記録することで、予期せぬ電源遮断やクラッシュ時にも高速な整合性チェックと復旧を実現します。
- 作成コマンド:
mkfs -t ext4 /dev/sdb1または専用コマンドmkfs.ext4 /dev/sdb1を実行します。内部的には汎用ツールのmke2fs -t ext4が呼び出されます。 - inode(アイノード): ファイル名以外の全メタデータ(ファイルサイズ、所有者、パーミッション、データブロックのアドレス)を記録するデータ構造であり、フォーマット時に作成可能な最大数が決定されます。
3.2 XFSファイルシステムの特徴と作成(mkfs.xfs)
XFSは、元来SGI社のIRIX向けに開発された高性能な64ビットジャーナリングファイルシステムであり、RHEL 7 / AlmaLinux 8以降の標準ファイルシステムとして採用されています。
- 優れた並行性とスケーラビリティ: アロケーショングループ(Allocation Group)と呼ばれる内部分割構造を持ち、マルチスレッド環境での並行I/O性能が極めて高いのが特徴です。また、inodeが動的に割り当てられるため、inode枯渇のリスクが少ない利点があります。
- 作成コマンド:
mkfs.xfs /dev/sdb1 - 注意点: XFSはオンラインでのファイルシステム拡張(
xfs_growfs)に対応していますが、ファイルシステムの縮小(サイズダウン)は仕様上サポートされていません。
3.3 ファイルシステムの保守・情報照会(dumpe2fs, tune2fs, xfs_info, xfs_repair)
LinuC試験では、ファイルシステムの種類に応じた保守コマンドの区別が問われます。
| 用途・操作 | ext2 / ext3 / ext4 用コマンド | XFS 用コマンド |
|---|---|---|
| ファイルシステム詳細情報表示 | dumpe2fs /dev/sda2 |
xfs_info /mountpoint |
| パラメータ調整・チューニング | tune2fs -c 30 -i 180d /dev/sda2 |
(マウントオプション等で指定) |
| 整合性検査・修復 | fsck.ext4 /dev/sda2(または e2fsck) |
xfs_repair /dev/sda2 |
tune2fsの頻出オプション:-l(スーパーブロック情報の表示)、-c <count>(自動fsckを実行する最大マウント回数の指定)、-i <interval>(自動fsckの間隔日数を指定)、-j(ext2にジャーナルを追加してext3にアップグレード)。
4. ファイルシステムのマウント制御と永続化(/etc/fstab)
フォーマットが完了したファイルシステムは、Linuxの単一ディレクトリツリー(ルート / を頂点とする木構造)の特定ディレクトリに「接合」することで初めてアクセス可能になります。この接合作業をマウント(Mount)と呼びます。

4.1 mount / umount コマンドの書式と主要オプション
手動でマウントを行う際の書式は以下の通りです。
# 書式: mount [-t ファイルシステム種別] [-o オプション] デバイス マウントポイント
[user01@linuc-node01 ~]$ sudo mount -t xfs /dev/sdb1 /mnt/data
主要なマウントオプション(-oにカンマ区切りで指定):
ro: 読み取り専用(Read-Only)でマウントrw: 読み書き可能(Read-Write)でマウント(通常デフォルト)noexec: マウント領域内のバイナリファイルの実行を禁止(セキュリティ向上)nosuid: SUID / SGIDビットの有効化を無効化(権限昇格攻撃の防止)remount: マウントを解除することなく、稼働中のオプションを動的に変更(例:mount -o remount,ro /mnt/data)defaults: 標準設定(rw, suid, dev, exec, auto, nouser, async)の組み合わせ
アンマウントを行うにはumount <マウントポイントまたはデバイス>を実行します。プロセスがそのディレクトリ内で作業している場合は「target is busy」エラーとなるため、プロセスを終了させるかlsofやfuser -m <mountpoint>で原因を特定します。
4.2 ブロックデバイス識別(デバイス名 vs UUID vs LABEL)
/dev/sda1などの伝統的なデバイス名は、ディスクの接続ポート変更や追加カードの挿入順序によって/dev/sdb1等に変化してしまう危険性があります。そのため、ファイルシステム自体に割り当てられた一意の識別子であるUUID(Universally Unique Identifier)を用いてマウント対象を特定するのが現代の実務・試験の標準です。
[user01@linuc-node01 ~]$ blkid /dev/sda2
/dev/sda2: UUID="e5806b16-e6cb-451c-97fa-c9be40171250" TYPE="xfs"
4.3 /etc/fstab 設定ファイルの全6フィールド完全構造
システム起動時にファイルシステムを自動的にマウントするための静的設定ファイルが/etc/fstabです。空白またはタブ区切りで6つのフィールドを1行に記述します。
UUID=e5806b16-e6cb-451c-97fa-c9be40171250 /boot xfs defaults 0 0
└───┬───────────────────────────────────┘ └─┬─┘ └┬┘ └──┬───┘ │ │
│ │ │ │ │ └─ 第6: fsckパス順序 (0/1/2)
│ │ │ │ └─── 第5: dumpバックアップ (0/1)
│ │ │ └────────── 第4: マウントオプション
│ │ └───────────────── 第3: ファイルシステム種別
│ └─────────────────────── 第2: マウントポイント
└────────────────────────────────────────────────────────────── 第1: デバイス識別子
| フィールド番号 | 項目名 | 設定値と役割 |
|---|---|---|
| 第1フィールド | デバイス識別子 | UUID=xxxx、LABEL=xxxx、または/dev/sda1などのデバイスファイル名。 |
| 第2フィールド | マウントポイント | マウント先ディレクトリの絶対パス(/, /boot, /home等)。スワップ領域の場合はnoneまたはswapと記述。 |
| 第3フィールド | ファイルシステム種別 | xfs, ext4, vfat, swap, iso9660, nfs 等。 |
| 第4フィールド | マウントオプション | defaults, ro, noexec, usrquota 等をカンマ区切りで列挙。 |
| 第5フィールド | dumpフラグ | dumpコマンドによるバックアップ対象とするか(1: 対象, 0: 対象外)。現代では通常0。 |
| 第6フィールド | fsckチェック順序 | システム起動時のファイルシステム整合性検査(fsck)の優先順位。 ・ 1: ルートファイルシステム(最優先)・ 2: その他のローカルファイルシステム・ 0: 検査しない(スワップ領域、仮想FS、およびXFS等の独自修復機構を持つFS) |
/etc/fstabを編集した後は、システムを再起動することなくsudo mount -aを実行することで、fstab内の未マウント記述が一括反映されます。記述ミスがあるとOSが起動しなくなるため、事前のmount -a検証は必須の運用作法です。
4.4 ストレージ使用状況の確認(df -hT, du -sh)
マウントされたファイルシステムの容量監視には以下のコマンドを用います。
df -hT: マウントされている全ファイルシステムの合計容量、使用量、空き容量、使用率、ファイルシステム種別(-T)を人間が読みやすい形式(-h: MB/GB単位)で一覧表示します。du -sh <directory>: 指定したディレクトリまたはファイルがディスク上で消費している合計容量を算出・表示します。
5. 実機ハンズオン演習:AlmaLinux 9でストレージ構成とfstabを検証
実機linuc-node01のストレージ情報と設定ファイルを実際に調査します。
5.1 実機検証環境の確認
ブロックデバイスのツリー構造とファイルシステム情報を確認します。
[user01@linuc-node01 ~]$ lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINTS
sda
├─sda1 vfat 4222-ED1B /boot/efi
├─sda2 xfs e5806b16-e6cb-451c-97fa-c9be40171250 /boot
└─sda3 LVM2_member N93iJ1-Y8mJ-1iJR-BZUr-xU4E-9wGe-ueAord
├─almalinux-root xfs 461f88a1-9b23-42d3-a1b0-2d3c45b00d3d /
├─almalinux-swap swap db70a4a4-2847-4071-94a4-726faad04f36 [SWAP]
└─almalinux-home xfs 0c5acb88-481c-47ea-98b2-6a4e6a3c0ee2 /home
5.2 演習1:ハードウェア情報(/proc/cpuinfo, /proc/meminfo)の抽出
仮想ファイルシステムから物理スペックを抽出します。
# CPUのモデル名を取得
[user01@linuc-node01 ~]$ grep -m 1 'model name' /proc/cpuinfo
model name : AMD Ryzen 7 7840HS w/ Radeon 780M Graphics
# メモリ容量のサマリーを確認
[user01@linuc-node01 ~]$ head -n 3 /proc/meminfo
MemTotal: 3742620 kB
MemFree: 2876256 kB
MemAvailable: 3179596 kB
5.3 演習2:既存の/etc/fstab定義と実マウント状態の整合性確認
実機の/etc/fstabを閲覧し、各行がどのブロックデバイスに対応しているかを照合します。
[user01@linuc-node01 ~]$ cat /etc/fstab
/dev/mapper/almalinux-root / xfs defaults 0 0
UUID=e5806b16-e6cb-451c-97fa-c9be40171250 /boot xfs defaults 0 0
UUID=4222-ED1B /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/almalinux-home /home xfs defaults 0 0
/dev/mapper/almalinux-swap none swap defaults 0 0
/bootのUUIDがlsblk -fで確認した値と完全に合致していることが確認できます。
5.4 演習3:マウントオプションの一時変更(再マウント: remount)
稼働中のファイルシステムをアンマウントせずにマウントオプションを切り替える操作を体験します。
# 現在のマウント状態を確認(rwであることを確認)
[user01@linuc-node01 ~]$ mount | grep '/boot '
/dev/sda2 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota)
# /boot を読み取り専用(ro)で再マウント
[user01@linuc-node01 ~]$ sudo mount -o remount,ro /boot
# 状態確認
[user01@linuc-node01 ~]$ mount | grep '/boot '
/dev/sda2 on /boot type xfs (ro,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota)
# 元の読み書き可能(rw)へ戻す
[user01@linuc-node01 ~]$ sudo mount -o remount,rw /boot
6. LinuC 101試験対策まとめとコマ問頻出チェック
主題1.05における最重要知識を記述式問題(コマ問)の形式で総点検します。
6.1 コマ問(記述式)頻出キーワード一覧表
以下の設問に対するコマンド、オプション、または設定値を想起してください。
- 問題1: CPUのモデル名やキャッシュサイズなどのハードウェア情報が記録されているprocfs上のファイルパスは何か?
- 問題2: fdiskの対話プロンプトにおいて、現在のパーティションテーブル一覧を表示するサブコマンドは何か?
- 問題3: XFSファイルシステムの詳細情報(ブロックサイズやアロケーショングループ等)を表示するコマンドは何か?
- 問題4: 稼働中のファイルシステムをアンマウントせずにマウントオプションを変更するmountコマンドのオプションは何か?
- 問題5:
/etc/fstabの第6フィールド(fsckのチェック順序)において、ルートファイルシステムに設定すべき数値は何か? - 問題6:
/etc/fstabの全エントリのうち、未マウントのファイルシステムを一括マウントするコマンドは何か? - 問題7: ext2/ext3/ext4ファイルシステムのスーパーブロック情報を表示・調整するチューニングコマンドは何か?
解答と解説を見る
| 設問 | 正解(記述内容) | 補足・別解 |
|---|---|---|
| 問題1 | /proc/cpuinfo |
メモリ情報は/proc/meminfo |
| 問題2 | p |
printの略記号 |
| 問題3 | xfs_info |
ext4ではdumpe2fs |
| 問題4 | -o remount(または remount) |
mount -o remount,ro /dir |
| 問題5 | 1 |
その他のFSは2、チェックなしは0 |
| 問題6 | mount -a |
-a(all)オプション |
| 問題7 | tune2fs |
スーパーブロック表示はtune2fs -l |
6.2 Ping-t演習へのブリッジ(対象分野と推奨学習順)
LinuC 101試験の主題1.05(重要度合計8)のPing-t演習では、以下の順序で学習を進めることを推奨します。
- 主題1.05:デバイス、Linuxファイルシステム、ファイルシステム階層標準
- 「ハードウェア設定の決定と構成」分野(重要度2):
/proc配下のファイル名、lspci/lsusbのオプションを暗記します。 - 「ディスクのパーティション分割」分野(重要度2):MBRとGPTの制約の違い、
fdiskのサブコマンド(p,n,d,t,w,q)を記述問題で即答できるようにします。 - 「ファイルシステムの作成、マウント、保守」分野(重要度4):
/etc/fstabの6つのフィールド順序、mount -oオプション、tune2fs、xfs_info/xfs_repairを完璧にマスターします。
- 「ハードウェア設定の決定と構成」分野(重要度2):
第9回 二段階復習チェックリスト
【最優先】101試験合格必須チェック項目(10選)
- MBRのパーティション制限(基本4個、2TB上限)とGPT(128個、8ZiB上限)の相違
- パーティション操作ツールの使い分け(MBR用:
fdisk、GPT用:gdisk、共通:parted) - ファイルシステム作成コマンド(
mkfs.ext4,mkfs.xfs) - マウントコマンドの基本構文(
mount -t ext4 /dev/sdb1 /mnt/data) - アンマウントコマンド(
umount /mnt/dataまたはumount /dev/sdb1) - マウント中デバイスの取り外しエラー(Device is busy)の対処(
lsof,fuser -m) /etc/fstabの全6フィールドの順序と意味(デバイス, マウント位置, FS形式, オプション, dump, fsck順序)- ディスクUUIDの調査コマンド(
blkid/lsblk -f) - ディスク使用量の調査コマンド(
df -h: FS全体、du -sh: ディレクトリ個別) - ハードウェア情報の収集コマンド(
lspci,lsusb,lsmod,modinfo)
【実務へ前進】余力があれば押さえる発展項目
- カーネルモジュールの動的ロードと依存解決(
modprobevsinsmod/rmmod) - ext4固有の調整ツール(
tune2fs -l)とxfs固有の管理ツール(xfs_info,xfs_admin) mount -aによるfstab記述の事前構文検証手順(OS起動不能事故の防止)
7. 101試験編修了の総括と102試験編へのロードマップ
本稿をもって、LinuC Level 1の「101試験」に該当する全カリキュラム(第1回〜第9回)が完了しました。ここで、学んだ9つの主題の相互関係を振り返ります。
- 基盤操作: Bashショートカット、viエディタ、FHSファイル階層、パーミッション管理(第1回〜第4回)
- システム基盤: Linuxインストール、SSH接続、X11、仮想化(KVM/Docker)、ブートプロセスとsystemd(第5回〜第7回)
- ソフトウェアと記憶域: RPM/DNF vs Debian/APTのパッケージ管理、ストレージパーティショニングとfstabマウント永続化(第8回・第9回)
次回からは後半戦となる「102試験編」へと進出します。第10回では主題1.06「シェルおよびシェルスクリプト」より、シェル環境のカスタマイズ(環境変数・エイリアス・設定ファイルの読み込み順序)の深層を解説します。
LinuC Level 1 学習シリーズナビゲーション
