mke2fs - システム管理コマンドの説明 - Linux コマンド集 一覧表
名前
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
オプションはまだ受け付けられる。
以下のオプションがサポートされている:
- 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 は、新しいファイルシステムと同じブロックサイズで 作成しなければならない。
デバイス名を直接指定する代わりに、 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
- ファイルシステムのボリュームラベルを設定する。
- -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 [,...]"
-
デフォルトのファイルシステムオプションを上書きし、
指定された属性 (ファイルシステムオプション) でファイルシステムを作成する。
現在のところ、
mke2fs
が Linux 2.2 以降で起動された場合は、
sparse_super
と
filetype
属性がデフォルトでオンになる
(ただし
creator-os
が Hurd に設定された場合を除く)。
mke2fs
がこれらの属性をサポートするシステムで実行された場合でも、
2.2 以前の Linux や、その他のカーネルでマウントする必要のある
ファイルシステムは、
"-O none"
(Linux 1.2 向けなら
-r 0
)で作成して、これらの機能を無効にすべきである。
以下のファイルシステムオプションがサポートされている:
- dir_index
- ハッシュ B ツリーを使い、 ファイルが多いディレクトリ内での検索を高速化する。
- filetype
- ディレクトリエントリにファイルタイプ情報を保存する。
- has_journal
- ( -j オプションを使った場合のように) ext3 ジャーナルを作成する。
- journal_dev
- ext3 ジャーナルを、通常の ext2 ファイルシステム上にではなく、 指定されたデバイス上に作成する。 external-journal は、それが使われるファイルシステムと 同じブロックサイズで作成されなければならない。
- sparse_super
-
スーパーブロックのバックアップコピーを少なくした
ファイルシステムを作成する
(大きなファイルシステムでは使用量を少なくできる)。
- -q
- 表示を抑制する。 mke2fs をスクリプト内で実行する場合に有用。
- -r revision
- 新しいファイルシステムに対してファイルシステムリビジョンを設定する。 1.2 系のカーネルはリビジョン 0 のファイルシステムにしか対応していない。 デフォルトではリビジョン 1 のファイルシステムを作成する。
- -S
- スーパーブロックとグループディスクリプタのみを書き出す。 スーパーブロックもそのバックアップも壊れてしまい、 復旧の最終手段が必要な場合に有用。 このオプションを使用すると mke2fs はスーパーブロックとグループディスクリプタを再初期化する。 inode テーブルとブロックそのものと inode ビットマップには手をつけない。 このオプションを使用した場合、ただちに e2fsck プログラムを使用しなければならない。 また、データが救済されるかどうかは保証の限りではない。 このオプションを使う際には、現在のファイルシステムの ブロックサイズを指定することが重要である。 さもなければ、復帰できる見込みはない。
- -T fs-type
-
ファイルシステムの利用目的を指定し、
mke2fs が最適なファイルシステムパラメータを選択できるようにする。
指定できる利用目的タイプを以下に示す:
- news
- 4 KB あたり 1 inode。
- largefile
- 1 MB あたり 1 inode。
- largefile4
-
4 MB あたり 1 inode。
- -v
- 詳細な表示をする。
- -V
- mke2fs のバージョンを表示して終了する。
著者
このバージョンの mke2fs は Theodore Ts'o <tytso@mit.edu> によって作成された。
バグ
mke2fs
には
-f
オプションを付けることができるが、現時点では無視される。
現時点の ext2 ファイルシステムはフラグメントに対応していないからである。
たぶん他にもあるだろう。見つけたら作者に連絡してほしい。
入手方法
mke2fs は e2fsprogs パッケージの一部であり、 http://e2fsprogs.sourceforge.net から入手できる。