Infra Engineer

ファイルシステムの作成~mkfsコマンド・mkswapコマンド~
2022.02.28
Lv1

ファイルシステムの作成~mkfsコマンド・mkswapコマンド~

本記事の対象者

LPIC level1習得を目指す初学者の方
コマンドの基本的な用途について、要点を絞って解説します。


今回の内容

今回は、mkfsコマンドとmkswapコマンドについて解説します。
両方ともファイルシステムの作成に関するコマンドです。
ファイルシステムそのものについて知りたいという方は、こちらの記事を参照してください。

・ハードディスクを使用するための過程
・mkfsコマンド
・mke2fsコマンド
・mkswapコマンド
・まとめ
・確認問題

ハードディスクを使用するための過程

パーティションについて」の記事で説明した通り、Linuxでハードディスクを接続して使用するには、以下の過程が必要です。

デバイスファイルを作成する。(基本的には自動で作成される。)
②ディスク内にパーティションを作成する。
③パーティション内にファイルシステムを構築する。
④ファイルシステムをマウントする。

今回の記事は、③のファイルシステムの作成に関わるコマンドの解説です。


mkfsコマンド

mkfsコマンドは、パーティション上にファイルシステムを作成するコマンドです。

mkfs
意味 ファイルシステムを作成する。
書式 mkfs [-t ファイルシステムタイプ] [オプション] デバイスファイル名

「-t」オプションで、作成するファイルタイプを指定します。(デフォルトはext2)

例)
/dev/sda1にXFSファイルシステムを作成。
[root@localhost ~]# mkfs -t xfs /dev/sda1
meta-data=/dev/loop0             isize=512    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

mke2fsコマンド

mke2fsコマンドは、ext2,3および4のファイルシステムを作成するためのコマンドです。

mke2fs
意味 ext2,ext3,ext4のファイルシステムを作成する。
書式 mke2fs [オプション] デバイスファイル名

mke2fsコマンドの主なオプションは以下です。

オプション 説明
-t ファイルシステムの種類を指定する。(デフォルトはext2)
-j ext3ファイルシステムを作成する。
-c 実行前に不良ブロックを検査する。
-n 実際にはファイルシステムを作成せず、作成した場合のように結果を出力する。
例)
/dev/sda1にext4ファイルシステムを作成。
[root@localhost ~]# mke2fs -t ext4 /dev/sda1
mke2fs 1.42.9 (28-Dec-2013)
Discarding device blocks: done
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=33685504
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729

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

「mke2fs」コマンドは、ext2,3,4のファイルシステム作成のみに使用します。
対して「mkfs」コマンドは、XFSなどext以外のファイルシステム作成にも使用可能です。


mkswapコマンド

mkswapコマンドは、スワップ領域を作成するためのコマンドです。
通常、スワップ領域として独立したパーティションを割り当てます。
システムには最低1つのスワップ領域が必要です。
参考:パーティションレイアウト時の注意事項

mkswap
意味 パーティション上に、スワップ領域を割り当てる。
書式 mkswap デバイスファイル名
例)
/dev/sda1にスワップ領域を作成。
[root@localhost ~]# mkswap /dev/sda1
スワップ空間バージョン 1 を設定します。サイズ = 1000 MiB (1048571904 バイト)
ラベルはありません, UUID=b31da3ef-1bc4-deca-1243-df332aaffae4

まとめ

今回は、ファイルシステムの作成コマンドについて解説しました。
作成したファイルシステムのマウントについては、別記事で解説する予定です。

最後に、確認問題で今回の内容を確かめてください。


確認問題

問題

オプションなしで実行した場合、mkfsによって作成されるファイルシステムのタイプはどれですか。

A) XFS
B) ext2
C) ext3
D) ext4

解答
答え:B