このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

新Linuxコマンド演習48

新Linuxコマンド演習48 概要

 「新Linuxコマンド演習48」では、mkfsコマンド を使用して、増設したディスクに新しいファイルシステム(ext4 / XFS)を作成する方法を学びます。
ファイルシステムを作成するということは、ディスクの初期化(フォーマット)を意味します。
 すでにデータが存在するディスクに対してmkfsを実行すると、内容がすべて消去されるため注意が必要です。

 Linuxでは、ファイルシステムが存在しない限り、ディスク上にファイルやディレクトリを配置することはできません。
 本演習では、増設ディスク(例:/dev/sdb1)に対して、ext4ファイルシステムXFSファイルシステムを順に作成し、
さらに不良ブロック検査も行います。

mkfs コマンドの主なオプション

オプション説明使用例
-t <タイプ>作成するファイルシステムの種類を指定する(ext4、xfsなど)mkfs -t ext4 /dev/sdb1
-c不良ブロックのチェックを行うmkfs -c /dev/sdb1
-f既存のファイルシステムを上書きして作成するmkfs -t xfs -f /dev/sdb1

表の説明
mkfs コマンドは、ファイルシステムのタイプを指定してディスクを初期化するコマンドです。
オプション -t でファイルシステムの種類を指定し、-c で不良ブロックを検査、
既存のファイルシステムを再作成する場合は -f オプションで強制的に上書きします。
これにより、ディスクの健康状態確認と再利用の両方が可能になります。

演習問題+模範解答例

演習01:増設ディスクを確認する

問題
システムに増設されたディスクがどのデバイスとして認識されているか確認してください。

模範解答例

[suzuki@AlmaLinux ~]$ su -
パスワード:

[root@AlmaLinux ~]# fdisk -l
ディスク /dev/sda: 20 GiB, 21474836480 バイト, 41943040 セクタ
ディスク型式: VBOX HARDDISK   
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0x4464d8d3

デバイス   起動 開始位置 終了位置   セクタ サイズ Id タイプ
/dev/sda1  *        2048  2099199  2097152     1G 83 Linux
/dev/sda2        2099200 41943039 39843840    19G 8e Linux LVM


ディスク /dev/sdb: 20 GiB, 21474836480 バイト, 41943040 セクタ
ディスク型式: VBOX HARDDISK   
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0x29687508

デバイス   起動 開始位置 終了位置   セクタ サイズ Id タイプ
/dev/sdb1           2048 10487807 10485760     5G 83 Linux


ディスク /dev/mapper/almalinux_vbox-root: 17 GiB, 18249416704 バイト, 35643392 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト


ディスク /dev/mapper/almalinux_vbox-swap: 2 GiB, 2147483648 バイト, 4194304 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト

解説
fdisk -l で接続中のすべてのディスク情報を一覧表示します。
「Disk /dev/sdb」の出力から、増設ディスクが /dev/sdb として認識されていることが確認できます。
このディスクにパーティション(/dev/sdb1)を作成済みである前提で次の演習に進みます。

演習02:ext4ファイルシステムを作成する

問題
/dev/sdb1 に ext4 ファイルシステムを作成してください。

模範解答例

[root@AlmaLinux ~]# mkfs -t ext4 /dev/sdb1
mke2fs 1.46.5 (30-Dec-2021)
/dev/sdb1 contains a ext2 file system
	created on Wed Nov 26 23:06:18 2025
Proceed anyway? (y,N) y
Creating filesystem with 1310720 4k blocks and 327680 inodes
Filesystem UUID: 1debe4f8-9d37-4a13-85f5-68b497d9a956
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done 

解説

  • mkfs -t ext4 /dev/sdb1 は ext4 形式のファイルシステムを作成します。
  • ext4 は現在 Linux で最も一般的に利用されるジャーナリングファイルシステムです。
  • 出力結果には inode数・ブロック数・スーパーブロックのバックアップ情報 などが表示されます。

演習03:XFSファイルシステムを作成する

問題
/dev/sdb1 に XFS ファイルシステムを作成してください。

模範解答例

[root@AlmaLinux ~]# mkfs -t xfs -f /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=327680 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1 nrext64=0
data     =                       bsize=4096   blocks=1310720, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=16384, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

解説

  • XFSは高速で信頼性の高いファイルシステムで、大容量環境に適しています。
  • 既にext4ファイルシステムが存在している場合、上書きするには -f オプションが必要です。
  • 出力にはメタデータ構成やブロックサイズなどの詳細が表示されます。

演習04:不良ブロックのチェックを行う

問題
/dev/sdb1 に対して不良ブロックをチェックしてください。

模範解答例

[root@AlmaLinux ~]# mkfs -c /dev/sdb1
mke2fs 1.46.5 (30-Dec-2021)
/dev/sdb1 contains a xfs file system
Proceed anyway? (y,N) y
Creating filesystem with 1310720 4k blocks and 327680 inodes
Filesystem UUID: 2cf7b7f2-6668-4305-9c40-9c945edb3fbe
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736

Checking for bad blocks (read-only test): done                                                 
Allocating group tables: done                            
Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done

解説

  • -c オプションはディスク上の不良ブロック(bad sector)を検査します。
  • 読み取りテストを実施して破損セクタを検出し、使用されないようにマークします。
  • 新規ディスクの初期化時や中古ディスク再利用時に有効です。

演習05:再度、ext4ファイルシステムを作成する

問題
チェック完了後、再度 /dev/sdb1 に ext4 ファイルシステムを作成してください。

模範解答例

[root@AlmaLinux ~]# mkfs -t ext4 /dev/sdb1
mke2fs 1.46.5 (30-Dec-2021)
/dev/sdb1 contains a ext2 file system
	created on Thu Nov 27 00:13:26 2025
Proceed anyway? (y,N) y
Creating filesystem with 1310720 4k blocks and 327680 inodes
Filesystem UUID: 574f9b7f-2a0f-4718-9dc7-27f5dfe2b73f
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

解説

  • 不良ブロック確認後、再度フォーマットすることで新しいext4ファイルシステムが完成します。
  • これによりディスクの準備が整い、次のステップとして mount コマンドでマウントできる状態になります。

まとめ

新Linuxコマンド演習48」では、
mkfsコマンド を使ってディスクにファイルシステムを作成する方法を学びました。

学習ポイント

  • mkfs -t ext4 で ext4 ファイルシステムを作成。
  • mkfs -t xfs -f で XFS ファイルシステムを上書き作成。
  • mkfs -c でディスクの不良ブロックを検査。
  • ファイルシステム作成後、ディスクはマウント可能な状態になる。

これにより、Linuxシステムでディスクを初期化・再利用するための基礎スキルを習得できます。