名前
mke2fs - 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
オプションはまだ受け付けられる。
以下のオプションがサポートされている:
- -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=label や UUID=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 <tytso@mit.edu>
によって作成された。
バグ
mke2fs には -f
オプションを付けることができるが、現時点では無視される。
現時点の ext2
ファイルシステムはフラグメントに対応していないからである。
たぶん他にもあるだろう。見つけたら作者に連絡してほしい。
入手方法
mke2fs は e2fsprogs
パッケージの一部であり、
http://e2fsprogs.sourceforge.net
から入手できる。