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

【Linux】ファイルシステムを作成する:mkfsコマンド

ファイルシステムを作成する:mkfsコマンド

 コンピュータシステムにおいて、ファイルシステムはデータを整理し、保存するための基盤となる重要な要素です。ストレージデバイスにデータを保存するためには、まずディスクをパーティションに分割し、その上にファイルシステムを作成する必要があります。これにより、データをファイルやディレクトリとして管理することが可能になります。

 mkfsコマンドは、様々な種類のファイルシステムをパーティションに作成するためのツールであり、Linux環境において広く使用されています。このコマンドは、特定のファイルシステムを作成するための個別のプログラム(例: ext4用のmkfs.ext4、XFS用のmkfs.xfsなど)を呼び出すための統一されたインターフェースを提供します。ユーザーはmkfsコマンドを使用して、どのファイルシステムを作成するかを指定することで、簡単にファイルシステムを設定することができます。

ファイルシステムの作成

 ファイルシステムをパーティションに作成するには、mkfsコマンドを使用します。mkfsは、特定のファイルシステムを作成するための各種プログラムを呼び出すためのフロントエンドです。例えば、ext4ファイルシステムを作成する場合にはmkfs.ext4を呼び出します。

【構文】
mkfs [-t ファイルシステムタイプ]
[オプション] デバイスファイル名

  • -t ファイルシステム: 作成するファイルシステムのタイプを指定します。
  • デバイスファイル名: ファイルシステムを作成する対象のデバイスファイル名(例: /dev/sdb1)

主なオプションと説明

オプション説明
-t ファイルシステムタイプ作成するファイルシステムのタイプを指定します(例: ext4, xfs, btrfsなど)。
※デフォルトはext2
-cファイルシステムを作成する前に、不良ブロックをチェックします。
主なオプションと説明

mkfsコマンドから呼び出されるプログラム

ファイルシステムプログラムmkfsコマンド実行時の書式
ext2mkfs.ext2mkfs -t ext2 /dev/sdXn
または
mkfs -t ext2 /dev/sdXn
ext3mkfs.ext3mkfs -t ext3 /dev/sdXn
ext4mkfs.ext4mkfs -t ext4 /dev/sdXn
XFSmkfs.xfsmkfs -t xfs /dev/sdXn
Btrfsmkfs.btrfsmkfs -t btrfs /dev/sdXn
VFATmkfs.vfatmkfs -t vfat /dev/sdXn
exFATmkfs.exfatmkfs -t exfat /dev/sdXn
mkfsコマンドから呼び出されるプログラム

※「/dev/sdXn」の「X」の部分は「a,b,c,d」などの文字、「n」の部分は「1,2,3」などの数字。
※例)「/dev/sdb1」であれば、2台目のディスクの1つ目のパーティションを表す。

コマンドの使用例と解説

例: XFSファイルシステムを/dev/sdb1に作成する。

 2台目のディスクの1つ目のパーティションをmkfsコマンドを使ってXFSファイルシステムを作成します。

1.「su -」コマンドを実行する。

・「su -」コマンドを実行します。

 パーティションの操作はシステム管理のコマンドになるため、rootユーザーに切り替えておく必要があります。パスワードの入力が求められたら、パスワードを入力します。

user01@ubuntu-vm:~$ su -
パスワード:
root@ubuntu-vm:~#

2.XFSファイルシステムをインストールする。※必要に応じて

 Ubuntuのデフォルトインストールには、XFSファイルシステムをサポートするパッケージが含まれていない場合があります。xfsprogsパッケージがインストールされていないと、mkfsコマンドが利用できず、エラーが発生します。

XFSファイルシステムがインストールされていない場合は、以下のコマンドを実行します。

  • apt update」コマンド
  • apt install xfsprogs」コマンド
# パッケージリストの更新
root@ubuntu-vm:~# apt update
取得:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB] 
ヒット:2 http://jp.archive.ubuntu.com/ubuntu jammy InRelease               
取得:3 http://jp.archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
(省略)

# XFSパッケージのインストール
root@ubuntu-vm:~# apt install xfsprogs
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了        
状態情報を読み取っています... 完了        
提案パッケージ:
  xfsdump attr quota
(省略)

3.mkfsコマンドを実行して、XFSファイルシステムを作成する。

・「mkfs -t xfs /dev/sdb1」コマンドを実行します。

 このコマンドは、/dev/sdb1パーティションにXFSファイルシステムを作成します。-t xfsオプションで、ファイルシステムのタイプをXFSに指定しています。mkfsコマンドは内部でmkfs.xfsプログラムを呼び出し、指定したデバイスにXFSファイルシステムを作成します。

root@ubuntu-vm:~# mkfs -t xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=0 inobtcount=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

まとめ

 mkfsコマンドは、さまざまなファイルシステムをパーティションに作成するための統一されたインターフェースを提供します。ユーザーはmkfsコマンドを使用して、必要なファイルシステムのタイプを指定し、簡単にファイルシステムを作成することができます。各ファイルシステムには専用のプログラムが存在し、それぞれの書式でmkfsコマンドを使用します。ファイルシステムを作成する際には、適切なオプションを選択して、不良ブロックのチェックや特定のファイルシステムタイプの指定を行うことが重要です。