MKE2FS

Section: Maintenance Commands (8)
Updated: February 2012
Index Return to Main Contents
 

名前

mke2fs - ext2/ext3/ext4 ファイルシステムを作成する  

書式

mke2fs [ -c | -l filename ] [ -b block-size ] [ -f fragment-size ] [ -g blocks-per-group ] [ -G number-of-groups ] [ -i bytes-per-inode ] [ -I inode-size ] [ -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 fs-type ] [ -T usage-type ] [ -U UUID ] [ -V ] device [ blocks-count ]

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

説明

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

新規作成されるファイルシステムのパラメータのデフォルト値は、以下に示すオプションで上書きされない限り、/etc/mke2fs.conf 設定ファイルで制御される。詳細は mke2fs.conf(5) マニュアルページを参照すること。  

オプション

-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 オプションはまだ受け付けられる。 以下のオプションがサポートされている:
mmp_update_interval=interval
MMP 更新間隔の初期値を interval 秒にする。interval を 0 に設定すると、デフォルトの更新間隔を使う。間隔は 300 秒より短くしなければならない。mmp feature を有効にしておく必要がある。
stride=stride-size
RAID アレイのファイルシステムに対して、stride-size ファイルシステムブロックに設定する。次のディスクに移動するまで、このブロック数で読み書きされ、チャンクサイズとも呼ばれる。このサイズはビットマップのようなファイルシステムメタデータの配置に影響する。mke2fs の実行時にメタデータを 1 つのディスクに置くと、性能を害する可能性がある。また、このサイズはブロックアロケータでも使われる。
stripe_width=stripe-width
RAID アレイのファイルシステムに対して、1 ストライプあたりのファイルシステムブロックを stripe-width に設定する。一般的にこのサイズは、 N を RAID のデータ格納ディスクとしたとき、stride-size * N である (例えば、RAID 5 ではパリティディスクが 1 つなので、N はアレイのディスク数 - 1 である)。これにより、データが書き込まれる時に、ブロックアロケータが RAID ストライプにパリティの読み込み-修正-書き込みを行うのを防止する。
resize=max-online-resize
ブロック数が max-online-resize のファイルシステムをサポートするために、 ブロックグループディスクリプタテーブルを拡大できる 十分な領域を予約する。
lazy_itable_init[= <0 無効, 1 有効>]
このオプションを有効にして、かつ uninit_bg feature を有効にした場合、inode テーブルは mke2fs では完全には初期化されない。これでファイルシステムの初期化は劇的にスピードアップするが、ファイルシステムが初めてマウントされる時に、カーネルはバックグラウンドでファイルシステムの初期化を完了させる必要がある。このオプションで値を省略した場合の デフォルトは 1 であり、inode テーブルの 0 での遅延初期化が有効になる。
lazy_journal_init[= <0 無効, 1 有効>]
このオプションを有効にすると、mke2fs はジャーナル inode を完全には 0 にしない。これでファイルシステムの初期化は劇的にスピードアップするが、ジャーナルが完全に 1 度上書きされる前にシステムがクラッシュするという、小さなリスクを引きずっている。このオプションで値を省略した場合のデフォルトは 1 であり、ジャーナル inode の 0 での遅延初期化が有効になる。
test_fs
ファイルシステムスーパーブロックのフラグを設定し、ext4dev ファイルシステムのような、実験的なカーネルコードを使ってマウントするようにする。
discard
mkfs の実行時にブロックを破棄する (最初にブロックを破棄するのは、ソリッドステートデバイスとスパース (sparse) / シンプロビジョニングされたストレージでは有益である)。デバイスが 0 のデータ (破棄の後の読み込みと書き込みの前に 0 を返す) を破棄するように宣言すると、まだ 0 で初期化化されていない inode テーブルを 0 としてマークする。 これはファイルシステムの初期化を劇的にスピードアップする。これはデフォルトで設定される。
nodiscard
mkfs の実行時にブロックを破棄しないようにする。
quotatype
クォータ (quota) タイプ ('usr' または 'grp') を指定して、初期化する。このオプションは quota feature が設定されている場合にのみ有効である。この拡張オプションが設定されない場合、デフォルトでは、ユーザとグループの両方のクォータが初期化される。
-f fragment-size
フラグメントサイズをバイト単位で指定する。
-F
指定したデバイスがブロックスペシャルデバイスのパーティションでない場合や、他のパラメータが意味をなさない場合にも、mke2fs に強制的にファイルシステムを作成させる。ファイルシステムが使用中であったり、マウントされている場合でも、mke2fs にファイルシステムを作成させる。(これはとても危険なことなので、) このオプションは 2 度指定すべきである。
-g blocks-per-group
ブロックグループに含まれるブロック数を指定する。 デフォルトでファイルシステムに最適な値であるため、 ユーザがこのパラメータを設定する一般的な理由はない。 (RAID アレイ上にファイルシステムを作成しようとする管理者にとっては、 グループ毎のブロック数を操作するよりも、 -E オプションの一部として stride RAID パラメータを使う方がよい。) 一般にこのオプションは、テストケースを開発する開発者が使う。
-G number-of-groups
このリレーションは、ext4 ファイルシステムで 1 つのラージ仮想ブロックグループ (または "flex_bg group") にパックするブロックグループ数を指定する。これによりメタデータに大きな負荷がかかる場合に、メタデータを局在化し、性能を改善する。グループ数は 2 の乗数にする必要があり、flex_bg ファイルシステム feature が有効化されている場合にのみ設定できる。
-i bytes-per-inode
バイト数/inode 数の比率を指定する。 mke2fs は、ディスク上の各 bytes-per-inode バイトの領域に対してひとつの inode を生成する。 bytes-per-inode 比を大きくすると、作成される inode の数は少なくなる。 この値は、一般にはファイルシステムのブロックサイズより小さくすべきではない。 の場合には、理論的に使用できる数以上の inode が作られてしまうからである。 注意してほしいが、一度ファイルシステムを作成したら、 あとから inode の数を増やすことはできない。 したがって、このパラメータには正しい値を与えるよう、慎重になってほしい。
-I inode-size
inode のサイズをバイト単位で指定する。mke2fs はデフォルトでは 256 バイトで inodes を作成する。カーネル 2.6.10 以降と、それ以前のいくつかのベンダーのカーネルでは、128 バイトより大きい inode を使って、拡張属性を格納することで、性能を改善できる。inode-size の値は、2 の乗数で 128 以上でなければならない。inode-size を大きくすると、inode テーブルで消費される領域が大きくなる。これにより、ファイルシステムで使える領域が小さくなり、性能への悪い影響がおこる可能性がある。大きな inode に格納される拡張属性は、古いカーネルでは見ることができず、2.4 カーネルでは全くマウントできない。この値はファイルシステムを作成した後では変更できない。
-j
ext3 ジャーナルを持ったファイルシステムを作成する。 -J オプションが指定されていない場合は、 デフォルトのジャーナルパラメータが用いられ、 (ファイルシステムのサイズに対して) 適切な大きさのジャーナルを作成して ファイルシステムに格納する。 実際にジャーナルを利用するためには、 ext3 をサポートしたカーネルが必要である。
-J journal-options
コマンドラインで指定されたオプションを使って ext3 ジャーナルを作成する。 ジャーナルオプションはコンマで区切り、 引き数がある場合は「= (イコール)」記号を使って指定する。 以下のオプションがサポートされている:
size=journal-size
(ファイルシステムの内部に格納される) 内部ジャーナルをサイズ journal-size メガバイトで作成する。ジャーナルのサイズは、少なくとも 1024 ファイルシステムブロックでなければならない。(つまり、1k ブロックの場合 1MB、4k ブロックの場合 4MB である)。さらに、10,240,000 ファイルシステムブロック、もしくは全ファイルシステムサイズの半分の、いずれか小さい方よりも小さい必要がある。
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 last-mounted-directory
ファイルシステムに、「最後にマウントされたディレクトリ」を設定する。 ファイルシステムがマウントされたディレクトリを検知して、 どこにファイルシステムをマウントすべきかを決定するような ユーティリティに対して有用。
-n
実際にはファイルシステムを作らないが、 あたかもファイルシステムを作成しているかのように表示を出す。 このオプションは、ある特定のファイルシステムのバックアップスーパーブロックの 位置を知るのに利用できる。 ただしこの際 mke2fs にはそのファイルシステムを作ったときと 同じパラメータを渡す必要がある (もちろん -n は加えてよい!)。
-N number-of-inodes
このファイルシステムに作成すべき inode の個数に関するデフォルトの計算値を変更する (計算値はブロックの個数と bytes-per-inode 比をもとにしている)。 これによりユーザが必要な inode の個数を直接指定できる。
-o creator-os
ファイルシステムの "creator operating system" フィールドのデフォルト値を上書きする。creator フィールドは、デフォルトでは実行ファイル mke2fs がコンパイルされた OS 名となる。
-O feature[,...]
指定された feature (ファイルシステムオプション) で、デフォルトのファイルシステムオプションを上書きして、ファイルシステムを作成する。デフォルトで有効にされる feature は、設定ファイル /etc/mke2fs.confbase_features リレーションと [defaults] セクション、または、-T オプションで指定される [fs_types] サブセクションの usage type で設定される。さらにファイルシステムと usage type は、[fs_types] サブセクションの features リレーションで変更できる。より詳細は、mke2fs.conf(5) マニュアルページを参照すること。[fs_types] セクションに書かれたファイルシステムタイプ独自の設定は、グローバルなデフォルト [defaults] を上書きする。

ファイルシステム feature のセットは、このオプションで指定される feature で変更できる。このオプションが指定されない場合、default_features リレーション、または設定ファイルの [defaults] セクションでファイルシステムが作成される。

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

dir_index
ハッシュ B ツリーを使い、 ファイルが多いディレクトリ内での検索を高速化する。
extent
inode のデータブロックの場所を格納するために、間接ブロックスキーマを使うのではなく、エクステントを使う。これはエンコーディングをより効率的にするので、特に大きなファイルについて、ファイルシステムアクセスをスピードアップする。
filetype
ディレクトリエントリにファイルタイプ情報を格納する。
flex_bg
ブロックごとのグループメタデータ (アロケーションビットマップと inode テーブル) をストレージメディアの任意の場所に置けるようにする。さらに mke2fs はブロックごとのグループメタデータを、各 "flex_bg group" の最初のブロックグループとともに置くこともできる。flex_bg グループのサイズは、-G オプションで指定できる。
has_journal
(-j オプションを使った場合のように) ext3 ジャーナルを作成する。
journal_dev
ext3 ジャーナルを、通常の ext2 ファイルシステム上にではなく、 指定されたデバイス上に作成する。 external-journal は、それが使われるファイルシステムと 同じブロックサイズで作成されなければならない。
large_file
ファイルシステムが 2GB より大きいファイルを格納できる。(最近のカーネルは、2GB より大きいファイルが作られるときに、この feature を自動的に設定する。)
quota
クォータ inode (inode# 3 がユーザクォータ、inode# 4 がグループクォータ) を作成し、スーパーブロックに設定する。この feature を設定すると、ファイルシステムがマウントされた際に、クォータが自動的に有効になる。
resize_inode
ブロックグループディスクリプタテーブルを 将来大きくできるように、領域を予約しておく。 resize2fs を使ってオンラインでサイズ変更をするときに役立つ。 mke2fs はデフォルトで十分な領域を予約するので、 ファイルシステムは初期サイズの 1024 倍まで大きくできる。 これは resize 拡張オプションを使って変更できる。
sparse_super
スーパーブロックのバックアップコピーを少なくした ファイルシステムを作成する (大きなファイルシステムでは使用量を少なくできる)。
uninit_bg
すべてのブロックグループを初期化せずにファイルシステムを作成する。この feature は、各ブロックグループのチェックサムと最高位 inode 利用状況の統計を有効にする。この feature は (lazy_itable_init が有効にされている場合) フィルシステム作成時間を特にスピードアップし、e2fsck の時間を劇的に短くする。これは、ext4 ファイルシステムと最近の Linux カーネルでのみサポートされている。
-q
表示を抑制する。 mke2fs をスクリプト内で実行する場合に有用。
-r revision
新しいファイルシステムに対してファイルシステムリビジョンを設定する。 1.2 系のカーネルはリビジョン 0 のファイルシステムにしか対応していない。 デフォルトではリビジョン 1 のファイルシステムを作成する。
-S
スーパーブロックとグループディスクリプタのみを書き出す。 スーパーブロックもそのバックアップも壊れてしまい、 復旧の最終手段が必要な場合に有用。 このオプションを使用すると mke2fs はスーパーブロックとグループディスクリプタを再初期化する。 inode テーブルとブロックそのものと inode ビットマップには手をつけない。 このオプションを使用した場合、ただちに e2fsck プログラムを使用しなければならない。 また、データが救済されるかどうかは保証の限りではない。 このオプションを使う際には、現在のファイルシステムの ブロックサイズを指定することが重要である。 さもなければ、復帰できる見込みはない。
-t fs-type
作成するファイルシステムタイプ (ext2, ext3, ext4 など) を指定する。このオプションが指定されない場合、 mke2fs はコマンド実行時のデフォルト(例えば mkfs.ext2, mkfs.ext3 などの名前が使われたか)、または /etc/mke2fs.conf(5) ファイルで定義されるデフォルトを使う。このオプションは、/etc/mke2fs.conf(5) の fstypes 節に基づいて、デフォルトでどのファイルシステムオプションが使われるかを制御する。

-O オプションは、新規作成されるファイルシステムで使われるファイルシステムオプションを明示的に追加または削除する。指定された fs-type によっては、サポートされない場合もある。(例えば、"mke2fs -t ext3 -O extent /dev/sdXX" は、Linux カーネルの ext3 実装ではサポートされないファイルシステムが作成される。また、"mke2fs -t ext3 -O ^has_journal /dev/hdXX" はジャーナルを持たないファイルシステムが作成される。なぜなら、ジャーナルありの ext3 ファイルシステムコードが Linux カーネルでサポートされていないからである。)

-T usage-type[,...]
ファイルシステムの利用用途を指定し、mke2fs が使うオプションのシステムパラメータを選べるようにする。サポートされている usage type は設定ファイル /etc/mke2fs.conf(5) に定義されている。ユーザはカンマ区切りリストで 1 つ以上の usage type を指定できる。

このオプションが指定されない場合、mke2fs は作成されるファイルシステムのサイズによって、1 つのデフォルトを選択する。ファイルシステムサイズが 3MB 以下である場合、mke2fs はファイルシステムタイプ floppy を使う。ファイルシステムサイズが 3MB より大きく 512MB 以下である場合、mke2fs(8) はファイルシステムタイプ small を使う。ファイルシステムサイズが 4TB より大きく 16TB 以下である場合、mke2fs(8) はファイルシステムタイプ big を使う。ファイルシステムサイズが 16TB より大きい場合、mke2fs(8) はファイルシステムタイプ huge を使う。その他の場合、mke2fs(8) はデフォルトのファイルシステムタイプ default を使う。

-U UUID
指定した UUID でファイルシステムを作成する。
-v
詳細な表示をする。
-V
mke2fs のバージョンを表示して終了する。
 

環境変数

MKE2FS_SYNC
0 でない整数を指定すると、inode テーブル初期化時に sync(2) を呼ぶ頻度として指定される。
MKE2FS_CONFIG
設定ファイル (mke2fs.conf(5) を参照) の場所を決定する。
MKE2FS_FIRST_META_BG
0 でない整数を指定すると、最初のメタブロックグループを決定するために使われる。これは主にデバッグ用である。
MKE2FS_DEVICE_SECTSIZE
0 でない整数を指定すると、device の物理セクタサイズを決定するのに使われる。
MKE2FS_SKIP_CHECK_MSG
この環境変数が設定されると、マウント回数やチェック間隔で自動チェックされるファイルシステムのメッセージを表示しない。
 

作者

このバージョンの mke2fs は Theodore Ts'o <tytso@mit.edu> によって作成された。  

バグ

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

入手方法

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

関連項目

mke2fs.conf(5), badblocks(8), dumpe2fs(8), e2fsck(8), tune2fs(8)


 

Index

名前
書式
説明
オプション
環境変数
作者
バグ
入手方法
関連項目

This document was created by man2html, using the manual pages.
Time: 18:50:56 GMT, March 26, 2020