ByAOMEI / 最後の更新日時 2020年06月01日

★★ext4ファイルシステムについて

ext4とは

ext4(fourth extended file system)は、Linuxのファイルシステムで、ジャーナリングファイルシステムの一つです。ext3の後継のファイルシステムで、拡張機能を使っていない場合に限りext3としてマウントできます。1EiBまでのストレージをサポートし、ファイルの断片化を防ぐextent file writingと呼ばれるシステムが導入されます。ファイルのタイムスタンプは、ナノ秒単位で西暦1901年から2514年までの範囲をサポートします(ext3では秒単位で2038年まで)。Linuxカーネル 2.6.19より開発版が利用が可能になり、2.6.28より安定版のファイルシステムとなりました。

ext4の特徴

▼大きなボリュームサイズとファイルサイズ

ext4ファイルシステムは、最大1EiBまでのボリュームサイズと、最大16TiBまでのファイルサイズをサポートします。

▼エクステント

エクステントは、ext2およびext3で使われてきた伝統的なブロックマッピング方式を置き換える概念です。

▼後方互換性

ext4ファイルシステムはext3およびext2に対する後方互換性を持ちます。

▼永続的な事前確保

ext4ファイルシステムはファイルのためのディスク空き領域の事前確保を可能にします。

▼遅延確保

ext4ファイルシステムのパフォーマンス向上のテクニックとして、allocate-on-flushと呼ばれるものがあります。

▼サブディレクトリの32000個制限の撤廃

ext3ファイルシステムにおいては、1つのディレクトリに入れられるサブディレクトリ数が32,000個に制限されています。

▼ジャーナルのチェックサム

ext4は信頼性を向上するため、ジャーナルにチェックサムを使用します。

▼オンラインのデフラグメンテーション

e4defrag により、マウント中(オンライン)でのデフラグが可能になりました。

▼より高速なファイルシステムチェック

ext4において、確保されていないブロック群とi-nodeテーブル部は印をつけられます。

▼マルチブロックの確保

ext3では、ファイルが追加される際にブロックアロケータをそれぞれのブロック個別に1回ずつ呼び出します。

▼タイムスタンプの改良

コンピューターが全体的により高速になると共に、Linuxはよりミッションクリティカルな用途で使用されるようになり、秒ベースの粒度のタイムスタンプでは不十分となってきています。

    欠点注意:

    遅延アロケーションとデータ損失

    遅延アロケーションは、すべてのデータをディスクに書き出す前にファイルシステムがクラッシュした際、データを損失する危険性を孕むことです。

なぜWindowsでSDカードをExt4でフォーマットします?

Ext4がLinuxシステムのデフォルトのファイルシステムであることはよく知られています。WindowsからLinuxに切り替えることを計画している場合は、Linuxで正常に認識されるようにするために、Windowsオペレーティングシステムで内蔵または外付けHDDをExt4としてフォーマットする必要があります。または、WindowsとLinuxをデュアルブートする場合は、おそらくいつかWindowsからLinuxシステム上のファイルにアクセスする必要があります。そのため、WindowsでもディスクをExt4でフォーマットする必要があります。この記事ではSDカードの問題を例とします。

どのようにWindowsでSDカードをExt4でフォーマットします?

方法一:コマンドでSDカードをExt4でフォーマット

    $ sudo mkfs.ext4 /dev/sdX

    Creating journal (262144 blocks):(Enter押下後、しばらく待つ)

    $ sudo parted /dev/sdX

    (parted) mklabel gpt

    Yes/No? Yes(Yesを選択した時点でHDD/SSDの中身が全部消え去るので注意)

    (parted) mkpart

    Partition name? []? PARTITION_NO_NAMAE

    File system type? [ext2]? ext4

    Start? 0%

    End? 100%

    (parted) print(確認コマンド、省略可)

    (parted) quit

    $ sudo mkfs.ext4 /dev/sdX1

    Creating journal (262144 blocks):(Enter押下後、しばらく待つ)

    $ sudo e2label /dev/sdX1 PARTITION_NO_NAMAE

    $ sudo parted -l (確認コマンド、省略可)


上の各コマンドの意味は理解した上で実行しましょう。実行してから、SDカードをExt4にフォーマットできないなら(次の例のようなことが起こるなら)、二番目の方法を使用します。

※例事:32GBのSamsung Micro SDカードをExt4ファイルシステムにフォーマットする必要があります。そして、コンピュータに接続し、ファイル検索を開きました。しかし、私はExt4ファイルシステムオプションがないことに気づいました。Diskpartユーティリティを利用してExt4にフォーマットしようとしましたが、仮想ディスクサービスエラー「ファイルシステムに互換性がありませんというメッセージが表示されました。」どうしたらいいでしょうか。

方法二:ディスク管理ソフトでWindowsでSDカードをExt4にフォーマット

    ★ディスクパーティション管理ソフトのオススメ★

    AOMEI Partition Assistant Professionalは、様々な機能を備えています。他のソフトと比べてAOMEI Partition Assistant Pro版は強力であるし、安全です。例えば、Windows10でCドライブを拡張するには、データを失うことなくパーティションを作成、リサイズ、移動、結合や分割することができます。ただ数回クリックだけで完了できるので、ずいぶん時間を節約できます。ちなみに、AOMEI PA ProはHDD/SSDへOSを移行、Windows 10/8/7でブータブルUSBを作成、MBRを修正するような新機能も提供します。

    ● ダイナミックディスクの変換、GPT/MBRの変換、OSやデータをSSDに移行などの機能を使用できる。

    ● SSDの完全消去などのような高度な機能を利用できる。

    ● Windows10、Windows8.1、Windows8、Windows 7、Vista、XP(32ビット版と64ビット版)に対応する。

    注意:Windowsサーバシステムを使用している場合はServer版のほうがより適当だと思います。


AOMEI Partition Assistantを最大限に使用するには、以下の手順に従ってください。

▼SDカードをフォーマットする前の準備:

コンピュータにSDカードを接続し、コンピュータで検出できることを確認します。

AOMEI Partition Assistantをダウンロードして、インストールする指示に従います。

フォーマットすると、SDカードパーティションのすべてのデータが削除されるため、大事なデータを失わないようにするには、操作を開始する前にバックアップを作成することをお勧めします。

▼3つのステップでSDを簡単にフォーマットしましょう!

ステップ 1. AOMEI Partition Assistantを実行します。メインインターフェイスで、すべてのディスクが表示されます。SDカードの1つのパーティションを右クリックし、「パーティションをフォーマット」を選択します。

Ext4でフォーマット

ステップ 2. この小さなウィンドウで、リストされているファイルシステムの中からExt4を選択し、「はい」ボタンをクリックします。

Ext4を選択してSDカードをフォーマット

ステップ 3. メインインターフェイスに戻り、保留中の操作を確認し、「適用」>「続行」をクリックして操作を実行します。

Ext4でのフォーマットを適用

    ▼Notes:

    ● SDカードが新しい場合は、未割り当てのスペースの形で表示されます。割り当てられていないスペースを右クリックし、パーティションの作成を選択してExt4ファイルシステムでフォーマットします。

    ● WindowsはExt4ファイルシステムを認識できないため、WindowsファイルエクスプローラにExt4形式のパーティションは表示されません。

結論

ここまでWindowsでSDカードのパーティションをExt4にフォーマットする二つ方法を紹介しました。ご希望の一つを選んでよろしいと思います。一番目の方法は無効となった場合は二番目の方法を使用することができます。一般的には、二番目の方法を使用すると、ファイルシステムExt4などに変更するとか、他の理由なのでフォーマットできないとか全部解決できます。