iBoysoftglossary

Macでext4をマウント・読み書き・フォーマットする方法

Intel、T2、M1、M2、M3、M4チップを搭載したMacでext4をマウントし、読み取りまたは読み書きできるようにする方法と、Macでext4をフォーマットする手順を紹介します。

On this page

Quick definition

Intel、T2、M1、M2、M3、M4チップを搭載したMacでext4をマウントし、読み取りまたは読み書きできるようにする方法と、Macでext4をフォーマットする手順を紹介します。

MacでExt4パーティションをマウント、読み書き、フォーマットする方法

概要: iBoysoftのこの記事では、ext4について詳しく解説します。Intelプロセッサ搭載MacやAppleシリコン搭載Macでext4パーティションをマウントする方法、Macでext4を読み書きする方法、macOSでドライブをext4にフォーマットする方法を紹介します。

macOSでext4を読み取る方法

Linux環境からmacOSへ移行すると、Macからext4形式のドライブに保存されたファイルへアクセスする際に、問題に直面することがあります。「macOSでext4を読み書きする方法はあるの?」と疑問に思う方もいるでしょう。

可能です。Macでext4ドライブを読み書きできる状態でマウントする方法はいくつかあります。詳しく見ていきましょう。

ext4とは?

ext4はFourth Extended File System(第4拡張ファイルシステム)の略称で、LinuxやRaspberry Piで広く使われているファイルシステムです。ext2やext3と比べて、パフォーマンス、信頼性、機能面で複数の利点があります。一方で、ZFSやBtrfsなどの最新のファイルシステムに備わっているスナップショットやコピーオンライトといった高度な機能には対応していません。

Macでext4を読み取れる?

Macはext4を標準でサポートしていないため、サードパーティ製ツールなしではアクセスできません。ext4ドライブをMacに接続すると、通常は「接続したディスクは、このコンピュータで読み取れません。」というメッセージが表示されます。つまり、ext4ドライブはMacで読み取れず、標準ではマウントできません。

Macで表示されるext4ディスクの読み取りエラーメッセージ

Macでext4を読み書きできる状態でマウントする方法

通常、macOSは読み取れないext4ドライブの初期化を提案しますが、初期化するとドライブ上のデータがすべて消去されます。ドライブ内のデータを保持したい場合は、次の方法を試してください。

方法1:Linux仮想マシンを構築する

ext4ドライブからMacへ一部のファイルを移動したいだけであれば、VirtualBoxなどの仮想マシンにUbuntuなどのLinuxディストリビューションをインストールする方法が適しています。これは、Macでext4ディスクを読み書きするための、最も信頼性の高い方法と考えられます。

仮想マシンを作成したら、ext4ディスクをマウントし、macOSから利用できるように共有できます。

方法2:ext4fuseをインストールする

Macでext4形式のドライブを定期的に読み取る必要がある場合は、ext4fuseをインストールしてmacOSでext4の読み取りに対応させる方法が適しています。Macでext4を読み取る方法は次のとおりです。

 注意: この方法ではMacでext4に書き込むことはできません。書き込み操作によって、データが破損するリスクが高まる可能性があるためです。

  1. MacにHomebrewをインストールします。
  2. ターミナルを開きます。
  3. 次のコマンドを実行して、HomebrewでmacFUSEをインストールします。brew install --cask macfusemacFUSEのインストール方法
  4. パスワードの入力を求められたら、管理者アカウントのログインパスワードを入力してEnterキーを押します。
    macFUSEのインストール時にパスワードを入力
  5. 次のいずれかのコマンドを使ってext4fuseをインストールします。brew install ext4fuseこのコマンドは、ext4fuse: Linux is required for this softwareというメッセージが表示されて失敗する場合があります。その場合は、別のコマンドを使用してください。
    またはgit clone https://github.com/gerard/ext4fuse.git && cd "$(basename "$_" .git)" 
    make
    またはcurl -s -o ext4fuse.rb https://gist.githubusercontent.com/n-stone/413e407c8fd73683e7e926e10e27dd4e/raw/12b463eb0be3421bdda5db8ef967bfafbaa915c5/ext4fuse.rb 
    brew install --formula --build-from-source ./ext4fuse.rb 
    rm ./ext4fuse.rb
  6. ext4のサポートソフトウェアをインストールしたら、次のコマンドを実行してディスク識別子を確認します。diskutil listMacのターミナルでext4ドライブのディスク識別子を確認
  7. 次に、マウントポイントを作成します。mkdir ~/ext4_mount
  8. disk_identifierを置き換えて、ext4の外付けハードドライブをMacにマウントします。sudo ./ext4fuse /dev/disk_identifier ~/ext4_mount -o allow_other
  9. コマンドを実行すると、「System Extension Blocked」というポップアップが表示され、システム環境設定を開いて許可するよう求められます。
  10. 「システム環境設定を開く」をクリックします。macOS Ventura以降を使用している場合は、「システム設定」をクリックしてください。
  11. 「開発元“xxx”のシステムソフトウェアの読み込みがブロックされました」と表示されている項目の「許可」をクリックします。この操作によってMacが再起動します。
  12. Macが再起動したら、ext4ディスクをもう一度マウントします。sudo ./ext4fuse /dev/disk_identifier ~/ext4_mount -o allow_other
  13. 問題なく完了すれば、ユーザーフォルダにext4ボリュームが表示され、その内容を読み取れるようになります。
  14. 作業が終わったら、次のコマンドを実行してext4パーティションのマウントを解除します。sudo umount ~/ext4_mount

他のユーザーがMacでext4を読み取れるよう、この方法を共有してください。

 

Appleシリコン搭載のM1/M2/M3/M4 Macでext4をマウントする方法

M1 MacやM2・M3・M4 Macでext4をマウントする場合、手順が少し複雑になることがあります。以前は、Intel搭載MacでFUSEを使ってext4をマウントできたという報告がありましたが、macOS Big Surへのアップグレード後はVirtualBoxに切り替える必要がありました。しかし、M1 MacではVirtualBoxを利用できません。

以前の方法がうまくいかない場合や、ext4fuseのインストール後に「Error: ext4fuse has been disabled because it requires FUSE」というエラーが表示される場合は、代わりに次の手順を試してください。

M1/M2/M3/M4 Macでext4をマウントする方法:

  1. ターミナルを開きます。
  2. 空のスクリプトファイルを作成し、コードエディタのnanoで開きます。nano ext4fuse.rb
  3. こちらの投稿にあるmarcuspridhamのコードをスクリプトにコピー&ペーストして、保存します。
  4. ext4fuse.rbがあるディレクトリで、まずmacfuseをインストールし、続けてext4fuseをインストールします。 
    brew install macFusebrew install --formula --build-from-source ext4fuse.rb
  5. ドライブがM1/M2/M3/M4 Macに接続されていることを確認します。
  6. ext4ドライブのディスク識別子を確認します。たとえば、disk2のように表示されます。diskutil list
  7. disk_identifierを実際の識別子に置き換えて、ext4ドライブをマウントします。sudo ext4fuse /dev/disk_identifier /Volumes/external_device -o allow_other
  8. パスワードを入力し、Enterキーを押します。

Macでext4にフォーマットする方法

Macで外付けドライブをext4にフォーマットする場合は、Linux仮想マシンを起動し、Ubuntuなど任意のLinuxディストリビューションを使ってディスクをext4にフォーマットできます。

この方法がうまくいかない場合や、手順が面倒に感じる場合は、次の方法を試してください。

  1. MacにHomebrewをインストールします。
  2. ターミナルを開きます。
  3. 次のコマンドを実行して、Homebrew経由でe2fsprogsをインストールします。brew install e2fsprogs
  4. 外付けドライブのディスク識別子を確認します。たとえば、disk2のように表示されます。diskutil list
  5. 外付けドライブのマウントを解除します。diskutil unmountDisk disk_identifier
  6. ドライブをext4にフォーマットします。フォーマットするとドライブ上のデータが消去されるため、必要なデータはあらかじめバックアップしてください。sudo $(brew --prefix e2fsprogs)/sbin/mkfs.ext4 /dev/disk_identifier
  7. パスワードを入力し、Enterキーを押します。

どの方法がうまくいったか、ほかのユーザーの参考になるよう共有してください。