kazmax - Linux で自宅サーバー

Linux パーティションにmkfsでファイルシステムを作る

増設したハードディスクを使うには、パーティションを作り、作ったパーティションの上にファイルシステムを作る必要があります。ここでは、Linuxで使えるファイルシステムの種類と、ファイルシステムの作成手順を解説します。

Last Update : 2013年08月13日

Linux パーティションにmkfsでファイルシステムを作る 項目

  1. ファイルシステムの種類
  2. ファイルシステムを作成する

1. ファイルシステムの種類

ファイルシステムとは、ハードディスク等の記憶装置にあるデータをファイル名・更新日付などの属性データや、ファイルデータ自体を管理するための仕組みで、OSよって利用されるファイルシステムが異なります。

Linuxの場合は、ディストリビューションによって採用されるファイルシステムが異なりますが、ext3, ext4が採用される事が多いようです。

Linuxで使われるファイルシステム

名前 最大ファイルサイズ 備考
ext2 2TB Linuxオペレーティングシステムで広く利用されていたファイルシステムである。初期のextファイルシステムを拡張したもの。
ext3 16GB~2TB ext2にジャーナリングシステム機能が追加されたもの。Linuxで主流のファイルシステム。
認識できる日付範囲が1901年12月14日から2038年1月18日でそろそろやばそう。
ext4 16TB 最大1EBまでのボリュームサイズと、最大16TBまでのファイルサイズをサポートする。
日付範囲が、1901年12月14日から2514年4月25日となり、生きている間は使える。
タイムスタンプがナノ秒をサポート。おそらく今後の主流ファイルシステム。ext3よりレスポンス良し。
ReiserFS 16TB 小さなファイルの扱いに向いたジャーナリングファイルシステム。使っているのかな?SUSEで採用されていたとの事。

他にもまだありますが、メジャーなところでいうと上表くらいかと思います。

2. ファイルシステムを作成する

ファイルシステムを作るには、「mkfs」コマンドを使います。

書式

mkfs [オプション] デバイス名(パーティション)

有用なオプション

オプション 意味
-t ファイルシステムのタイプを指定。指定しなかった場合は、ext2が用いられる。
-c ファイルシステムを作成する前に、デバイスに対して不良ブロックの検査を行う。

実際にファイルシステムを作成してみます。

# mkfs -t ext4 /dev/sdb1 
↑ ファイルシステムはext4。/dev/sdb1パーティションをフォーマット
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
66384 inodes, 265064 blocks
13253 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=272629760
9 block groups
32768 blocks per group, 32768 fragments per group
7376 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

memo

mkfsコマンドはただのフロントエンドのプログラムです。 実際には以下のコマンド(mkfs.ext2、mkfs.ext3、mkfs.ext4)が実行されています。 直接これらのコマンドを使ってもファイルシステムを作成することができます。

# ls -l /sbin/mkfs*
-rwxr-xr-x. 1 root root  7416  4月 29 16:41 2013 /sbin/mkfs
-rwxr-xr-x. 1 root root 22476  4月 29 16:41 2013 /sbin/mkfs.cramfs
-rwxr-xr-x. 5 root root 61072  6月 25 17:49 2013 /sbin/mkfs.ext2 ← ext2用mkfs
-rwxr-xr-x. 5 root root 61072  6月 25 17:49 2013 /sbin/mkfs.ext3 ← ext3用mkfs
-rwxr-xr-x. 5 root root 61072  6月 25 17:49 2013 /sbin/mkfs.ext4 ← ext4用mkfs
-rwxr-xr-x. 5 root root 61072  6月 25 17:49 2013 /sbin/mkfs.ext4dev
lrwxrwxrwx. 1 root root     7  8月  3 16:02 2013 /sbin/mkfs.msdos -> mkdosfs
lrwxrwxrwx. 1 root root     7  8月  3 16:02 2013 /sbin/mkfs.vfat -> mkdosfs

使い方も簡単で、コマンドの後ろへパーティションを指定するだけです。

# mkfs.ext4 /dev/sdb1 ← パーティションのデバイス名を指定するだけ
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
66384 inodes, 265064 blocks
13253 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=272629760
9 block groups
32768 blocks per group, 32768 fragments per group
7376 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
Linuxファイルシステム 関連記事
Linux 基礎知識 関連記事