mke2fs(8) ext2/ext3 ファイルシステムを作成する

書式

mke2fs [ -c | -l filename ] [ -b block-size ] [ -f fragment-size ] [ -g blocks-per-group ] [ -i bytes-per-inode ] [ -j ] [ -J journal-options ] [ -N number-of-inodes ] [ -n ] [ -m reserved-blocks-percentage ] [ -o creator-os ] [ -O feature[,...] ] [ -q ] [ -r fs-revision-level ] [ -E extended-options ] [ -v ] [ -F ] [ -L volume-label ] [ -M last-mounted-directory ] [ -S ] [ -T filesystem-type ] [ -V ] device [ blocks-count ]

mke2fs -O journal_dev [ -b block-size ] [ -L volume-label ] [ -n ] [ -q ] [ -v ] external-journal [ blocks-count ]

説明

mke2fs は ext2/ext3 ファイルシステムを (通常はディスクのパーティションに) 作成する。 device はデバイスに対応するスペシャルファイルである (例: /dev/hdXX)。 blocks-count はデバイスのブロック数である。省略すると mke2fs が自動的にファイルシステムサイズを計算する。 mkfs.ext3 として起動されると、 -j オプションが指定された場合のようにジャーナルを作る。

オプション

-b block-size
ブロックサイズをバイト単位で指定する。指定できるブロックサイズは ブロックあたり 1024, 2048, 4096 バイトである。省略すると、 mke2fs はファイルシステムのサイズと予想されるファイルシステムの利用法 (-T オプションを見よ) とからブロックサイズを ヒューリスティック (heuristic) に基づいて決定する。 block-size が負の数である場合、 mke2fs はヒューリスティックを使って 適切なブロックサイズを決定する。 この場合、ブロックサイズを少なくとも block-size バイトにするという制限を付ける。 これは、ブロックサイズが 2k の倍数でなければいけない 特定のハードウェアなどで役に立つ。
-c
デバイスにファイルシステムを作成する前に不良ブロックを検査する。 このオプションを 2 つ指定すると、 より遅い read-write テストを用いる。 1 つの場合は高速な read-only テストを用いる。
-E extended-options
ファイルシステムの拡張オプションを設定する。 拡張オプションはコンマで区切られ、 引き数がある場合は「= (イコール)」記号を使って指定する。 -E オプションは、以前のバージョンの mke2fs では -R であった。 後方互換として -R オプションはまだ受け付けられる。 以下のオプションがサポートされている:
stride=stripe-size
RAID アレイのファイルシステムに対して、 1 ストライプあたりのファイルシステムブロックを stripe-size に設定する。
resize=max-online-resize
ブロック数が max-online-resize のファイルシステムをサポートするために、 ブロックグループディスクリプタテーブルを拡大できる 十分な領域を予約する。
-f fragment-size
フラグメントサイズをバイト単位で指定する。
-F
指定したデバイスがブロックスペシャルデバイスでない場合や、 マウントされている場合であっても、 mke2fs を実行させる。
-g blocks-per-group
ブロックグループに含まれるブロック数を指定する。 デフォルトでファイルシステムに最適な値であるため、 ユーザがこのパラメータを設定する一般的な理由はない。 (RAID アレイ上にファイルシステムを作成しようとする管理者にとっては、 グループ毎のブロック数を操作するよりも、 -R オプションの一部として stride RAID パラメータを使う方がよい。) 一般にこのオプションは、テストケースを開発する開発者が使う。
-i bytes-per-inode
バイト数/inode 数の比率を指定する。 mke2fs は、ディスク上の各 bytes-per-inode バイトの領域に対してひとつの inode を生成する。 bytes-per-inode 比を大きくすると、作成される inode の数は少なくなる。 この値は、一般にはファイルシステムのブロックサイズより小さくすべきではない。 さもないと不必要に多くの inode が作られてしまう。 注意してほしいが、一度ファイルシステムを作成したら、 あとから inode の数を増やすことはできない。 したがって、このパラメータには正しい値を与えるよう、慎重になってほしい。
-j
ext3 ジャーナルを持ったファイルシステムを作成する。 -J オプションが指定されていない場合は、 デフォルトのジャーナルパラメータが用いられ、 (ファイルシステムのサイズに対して) 適切な大きさのジャーナルを作成して ファイルシステムに格納する。 実際にジャーナルを利用するためには、 ext3 をサポートしたカーネルが必要である。
-J journal-options
コマンドラインで指定されたオプションを使って ext3 ジャーナルを作成する。 ジャーナルオプションはコンマで区切り、 引き数がある場合は「= (イコール)」記号を使って指定する。 以下のオプションがサポートされている:
size=journal-size
内部ジャーナル (ファイルシステム内部に置かれるジャーナル) をサイズ journal-size メガバイトで作成する。 ジャーナルのサイズは少なくともファイルシステムブロック 1024 個分より 大きくなくてはならない (すなわち 1k のブロックなら 1MB、4k のブロックなら 4MB、など)。 またおそらく 102400 個分より大きくすべきではない。
device=external-journal
ファイルシステムを external-journal にあるジャーナルブロックデバイスにアタッチする。 外部ジャーナルは、前もって
mke2fs -O journal_dev external-journal
コマンドで作成しておかなければならない。 また external-journal は、新しいファイルシステムと同じブロックサイズで 作成しなければならない。 さらに、1 つの外部ジャーナルに対して 複数ファイルシステムをアタッチすることはサポートされているが、現時点では、 Linux カーネルと e2fsck(8) は外部ジャーナルの共有をサポートしていない。
デバイス名を直接指定する代わりに、 LABEL=labelUUID=UUID という形式でも external-journal を指定できる。 この形式では、外部ジャーナルの場所を、 ジャーナルの先頭の ext2 スーパーブロックに格納されている UUID やボリュームラベルで指定する。 ジャーナルデバイスのボリュームラベルと UUID を表示するには、 dumpe2fs(8) を使うこと。 tune2fs(8) の -L オプションも参照のこと。
ひとつのファイルシステムに対しては、 size オプションまたは device オプションのどちらか一方しか指定できない。
-l filename
不良ブロックのリストを filename から読み込む。このリストのブロック番号は、 mke2fs の用いるブロックサイズと同じもので作る必要がある。 よって、フォーマットの前にディスクの不良ブロックをチェックするには、 mke2fs-c オプションを用いるほうが、ずっと単純かつ間違いの起こりにくい方法である。 このオプションを指定すれば、 mke2fs は自動的に正しいパラメータを badblocks に渡すからである。
-L new-volume-label
ファイルシステムのボリュームラベルを new-volume-label に設定する。 ボリュームラベルの最大長は 16 バイトである。
-m reserved-blocks-percentage
スーパーユーザのみが利用できる予約ブロックのパーセンテージを指定する。 このオプションは断片化を防ぐとともに、 非特権プロセスによるファイルシステムへの書き込みが防止された後でも、 root が所有する syslogd(8) といったデーモンが正しく機能し続けるようにする。 デフォルトのパーセンテージは 5% である。
-M
ファイルシステムに、「最後にマウントされたディレクトリ」を設定する。 ファイルシステムがマウントされたディレクトリを検知して、 どこにファイルシステムをマウントすべきかを決定するような ユーティリティに対して有用。
-n
実際にはファイルシステムを作らないが、 あたかもファイルシステムを作成しているかのように表示を出す。 このオプションは、ある特定のファイルシステムのバックアップスーパーブロックの 位置を知るのに利用できる。 ただしこの際 mke2fs にはそのファイルシステムを作ったときと 同じパラメータを渡す必要がある (もちろん -n は加えてよい!)。
-N number-of-inodes
このファイルシステムに作成すべき inode の個数に関するデフォルトの計算値を変更する (計算値はブロックの個数と bytes-per-inode 比をもとにしている)。 これによりユーザが必要な inode の個数を直接指定できる。
-o creator-os
ファイルシステムの「creator os」フィールドの値を手動で変更する。 通常「creator os」フィールドは mke2fs によってネイティブな OS に設定される。
-O feature[,...]
デフォルトのファイルシステムオプションを上書きし、 指定された属性 (ファイルシステムオプション) でファイルシステムを作成する。 デフォルトで有効にされる属性は、 base_features リレーションで指定される。 このリレーションは、設定ファイル /etc/mke2fs.conf[libdefaults] セクション、または -T オプションで指定されたファイルシステムタイプに対応する [fs_types] セクションのサブセクションにある。 [fs_types] セクションにあるファイルシステムタイプに固有の設定は、 [libdefaults] にある大域的なデフォルト値を上書きする。

ファイルシステム属性のセットは、以下の方法で更に変更できる。 このオプションで指定される属性セット指定で変更する。 このオプションが指定されない場合は、 作成されるファイルシステムタイプに対応する default_features リレーションで変更する。 設定ファイルの [libdefaults] セクションで変更する。

ファイルシステム属性セットは、 コンマで区切った属性のリストとして構成されており、 これに含まれる属性が有効にされる。 属性を無効にする場合は、単に属性名の前にキャレット ('^') 文字を置けばよい。 仮想的なファイルシステム属性 "none" は、 全てのファイルシステム属性をクリアする。

dir_index
ハッシュ B ツリーを使い、 ファイルが多いディレクトリ内での検索を高速化する。
filetype
ディレクトリエントリにファイルタイプ情報を保存する。
has_journal
(-j オプションを使った場合のように) ext3 ジャーナルを作成する。
journal_dev
ext3 ジャーナルを、通常の ext2 ファイルシステム上にではなく、 指定されたデバイス上に作成する。 external-journal は、それが使われるファイルシステムと 同じブロックサイズで作成されなければならない。
resize_inode
ブロックグループディスクリプタテーブルを 将来大きくできるように、領域を予約しておく。 resize2fs を使ってオンラインでサイズ変更をするときに役立つ。 mke2fs はデフォルトで十分な領域を予約するので、 ファイルシステムは初期サイズの 1024 倍まで大きくできる。 これは resize 拡張オプションを使って変更できる。
sparse_super
スーパーブロックのバックアップコピーを少なくした ファイルシステムを作成する (大きなファイルシステムでは使用量を少なくできる)。
-q
表示を抑制する。 mke2fs をスクリプト内で実行する場合に有用。
-r revision
新しいファイルシステムに対してファイルシステムリビジョンを設定する。 1.2 系のカーネルはリビジョン 0 のファイルシステムにしか対応していない。 デフォルトではリビジョン 1 のファイルシステムを作成する。
-S
スーパーブロックとグループディスクリプタのみを書き出す。 スーパーブロックもそのバックアップも壊れてしまい、 復旧の最終手段が必要な場合に有用。 このオプションを使用すると mke2fs はスーパーブロックとグループディスクリプタを再初期化する。 inode テーブルとブロックそのものと inode ビットマップには手をつけない。 このオプションを使用した場合、ただちに e2fsck プログラムを使用しなければならない。 また、データが救済されるかどうかは保証の限りではない。 このオプションを使う際には、現在のファイルシステムの ブロックサイズを指定することが重要である。 さもなければ、復帰できる見込みはない。
-T fs-type
ファイルシステムの利用目的を指定し、 mke2fs が最適なファイルシステムパラメータを選択できるようにする。 サポートできるファイルシステムタイプは、設定ファイル /etc/mke2fs.conf(5) に定義されている。 デフォルトの設定ファイルには、ファイルシステムタイプ small, floppy, news, largefile, largefile4 の定義が書かれている。
-v
詳細な表示をする。
-V
mke2fs のバージョンを表示して終了する。

著者

このバージョンの mke2fs は Theodore Ts'o <[email protected]> によって作成された。

バグ

mke2fs には -f オプションを付けることができるが、現時点では無視される。 現時点の ext2 ファイルシステムはフラグメントに対応していないからである。
たぶん他にもあるだろう。見つけたら作者に連絡してほしい。

入手方法

mke2fs は e2fsprogs パッケージの一部であり、 http://e2fsprogs.sourceforge.net から入手できる。