Macでデータを書き込もうとしたときに、「read-only file system」エラーが表示されて困ったことはありませんか?この問題は、Macの内蔵ドライブ、外付けハードドライブ、共有フォルダなどで発生することがあります。ターミナルに「mkdir: /data: read-only file system」と表示される場合もあれば、Finderに単に「読み取りのみ」というメッセージが表示される場合もあります。いずれも、作業の妨げになる問題です。
この問題は決して珍しいものではありません。この記事では、Macでファイルシステムが読み取り専用になる主な原因を確認し、ターミナルコマンドやより簡単な方法で対処する手順を紹介します。
それでは、読み取り専用のファイルシステムを再び書き込み可能にする方法を見ていきましょう。
以下に、このガイドで紹介する解決策をまとめます。
| Mac(M1/M2/M3/T2/Intel)で読み取り専用ファイルシステムに対処する方法 | 対処方法 |
| 状況1:Macで外付けハードディスクが読み取り専用になっている | 1. 書き込み禁止ロックを解除します。 2. 会社のMacを使用している場合は、社内ポリシーを確認します。 3. Time Machineのバックアップディスクにファイルを追加する前に、パーティションを追加します。 4. iBoysoft NTFS for Macを使用して、NTFS形式の外付けドライブで読み書きできるようにします。 5. Macで読み取り専用ファイルシステムのアクセス権を変更します。 6. Macで外付けドライブを再フォーマットします。 |
| 状況2:ターミナルで「読み取り専用ファイルシステム」エラーが表示される | 1. コマンドが正しいか確認します。 2. SIPを無効にします。 3. /etc/synthetic.confファイルを変更します。 |
対処する前に確認すること
Macでファイルシステムが読み取り専用になっている場合は、問題が外付けドライブで発生しているのか、内蔵システムボリュームで発生しているのかを確認してください。
ドライブがNTFS形式の場合、書き込みを有効にするためだけにフォーマットしないでください。
外付けドライブに重要なファイルが保存されている場合は、First Aidの実行、消去、フォーマットを行う前に、データを復元するかバックアップしてください。
リスクを十分に理解していない場合は、SIPを無効にしたり、ルートボリュームを変更したりしないでください。
Macでファイルシステムが読み取り専用になる原因
Macでファイルシステムが読み取り専用になる原因は、内蔵ドライブか外付けドライブかによって異なります。ここでは、読み取り専用の問題が発生しやすい一般的な状況と、その考えられる原因を紹介します。
ケース1:Macで外付けハードドライブが読み取り専用になっている
MacでFinderを使ってもターミナルを使っても、USBメモリにファイルをコピーできません。「情報を見る」でディスクのアクセス権を確認すると、「読み出しのみ可能」と表示され、読み書きアクセスを有効にできません。ドライブはWindows NTファイルシステムでフォーマットされています。MacBook Proで、この読み取り専用ファイルシステムのアクセス権を変更するにはどうすればよいですか?
exFAT形式の 外付けハードドライブがMacで突然読み取り専用になりました。昨日までは書き込みできていたのですが、M1 Macで読み取り専用ファイルシステムを解決するにはどうすればよいですか?

Macで外付けドライブが読み取り専用になっている場合、NTFS形式、アクセス権の設定ミス、会社のポリシーによる制限、Time Machineのバックアップディスクであること、ハードウェアの故障、または物理的な書き込み禁止スイッチが原因として考えられます。
ケース2:mkdir: /data: Read-only file system
sudo mkdir /data/bdというコマンドを使って新しいディレクトリを作成しようとしましたが、ターミナルに「mkdir: /data: Read-only file system」というエラーが表示されました。

ルートディレクトリの下にフォルダを作成した際、ターミナルに「read-only file system」と表示される場合は、通常、macOSによってシステムボリュームが保護されていることが原因です。macOS Catalina以降、システムファイルは読み取り専用のボリュームに保存され、書き込み可能なユーザーデータはDataボリュームに保存されます。
多くの場合、セキュリティ機能であるSIPを無効にする必要はありません。SIPは、rootユーザーであっても一部のシステムファイルやディレクトリを変更できないようにする機能です。代わりに、ルート階層のパスが必要な場合は、/System/Volumes/Dataの下にフォルダを作成するか、/etc/synthetic.confを使用してみてください。
ケース3:rm: /var/db/ .AppleSetupDone: Read-only file system
シングルユーザーモードで、Setup Assistantをもう一度実行できるようにAppleSetupDoneファイルを削除するため、次のコマンドを実行しました:rm /Volumes/Macintosh HD/var/db/.AppleSetupDone。しかし、「rm: /var/db/ .AppleSetupDone: Read-only file system」というメッセージが表示され、失敗しました。
この「read-only file system」エラーは、コマンドの記述ミスが原因です。
コマンド内のファイルパスが引用符で囲まれていません。そのため、シェルはファイルパスを、/Volumes/Macintosh、HD/var/db/.AppleSetupDone、rmという3つの引数として解釈します。HD/var/db/ディレクトリは読み取り専用のシステムボリュームに属しているため、コマンドを実行できず、エラーが発生します。
この問題を解決するには、ファイルパス(/Volumes/Macintosh HD/var/db/.AppleSetupDone)を二重引用符で囲みます。これにより、シェルはパス全体を1つの引数として解釈し、書き込み権限のあるユーザーフォルダからファイルを削除できるようになります。
macOS復旧を起動し、ターミナルで次のコマンドを実行してください。
rm "/Volumes/Macintosh HD/var/db/.AppleSetupDone"
ケース4:OSError: [Errno 30] Read-only file system:
Macでコードを書いていたところ、次のエラーが発生しました:OSError: [Errno 30] Read-only file system: '/User'。コードの一部は次のとおりです:"import os from_dir = os.path.dirname('/Users/user/Downloads/')
working_dir = os.walk(from_dir)
to_dir = os.path.dirname('/User/user/Downloads/New Folder/')
「OSError: [Errno 30] Read-only file system」というエラーメッセージは、通常、コマンドの記述を誤った場合に発生します。このユーザーの場合は、エラーメッセージ内に誤りが示されています。"/User"ではなく、正しくは/Usersです。
Macのターミナルで「read-only file system」エラーに遭遇するユーザーは少なくありません。この問題を理解するのに役立つよう、この記事を共有してください。
Macで外付けドライブの「read-only file system」を修正する方法
Macで外付けドライブが読み取り専用になっている場合は、以下の方法で書き込みアクセスを付与できます。
- ヒント1: 多くのSDカードや一部のUSBメモリには、書き込み禁止スイッチが付いています。スイッチをオンにすると、ディスクは読み取り専用になり、書き込みできません。このスイッチが付いている場合は、オフになっていることを確認してください。
- ヒント2: 組織で使用しているコンピュータでは、データ漏えいを防ぐため、外付けデバイスへのアクセスが読み取り専用に設定されている場合があります。Macが組織の管理下にある場合は、IT担当者に相談してください。
- ヒント3: Time Machineのバックアップディスクには、バックアップ以外のファイルを追加できません。このような外付けハードドライブにMacでファイルを追加する方法は、こちらのガイドをご覧ください。
方法1:NTFSドライブへの書き込みアクセスを有効にする
読み取り専用になっているファイルシステムがNTFS形式の外付けドライブである場合、通常のmacOSのアクセス権が原因ではありません。macOSはNTFSドライブを読み取れますが、デフォルトでは書き込みできません。この場合、「情報を見る」の「共有とアクセス権」を変更しても、完全な書き込みアクセスは有効になりません。NTFSドライブへの書き込みアクセスを有効にするには、NTFS for Macドライバが必要です。
NTFSドライブを再フォーマットせずに、ファイルのコピー、編集、削除、移動を行いたい場合は、iBoysoft NTFS for Macを利用できます。インストールすると、MacでNTFSドライブを読み書き可能な状態で自動的にマウントでき、ほかのドライブと同じようにファイルを管理できます。
このNTFS for Macソフトウェアは、macOS High Sierra、macOS Mojave、macOS Catalina、macOS Big Sur、macOS Monterey、macOS Ventura、macOS Sonoma、macOS Sequoia、macOS Tahoe、macOS Golden Gateなど、主要なmacOSバージョンに対応しています。
また、Intel、T2、Appleシリコンを搭載したMacに対応しているほか、外付けハードドライブ、USBメモリ、メモリーカードなど、さまざまな外付けストレージデバイスで利用できます。
下のボタンからダウンロードすると、データを失うリスクを抑えながら、MacでNTFS外付けドライブの読み書きを行えます。

ヒント: 外付けドライブのファイルシステムがわからない場合は、「ディスクユーティリティ」でドライブのメインパーティションを選択し、右側に表示される情報を確認してください。
方法2:Macで読み取り専用のファイルシステムのアクセス権を変更する
外付けディスクがAPFSまたはMac OS拡張(ジャーナリング)でフォーマットされている場合は、Macで読み取り専用のファイルシステムのアクセス権を変更してみてください。手順は次のとおりです。
- Finderで、読み取り専用のファイルシステムとして認識されているドライブを右クリックします。
- 「情報を見る」を選択します。
- 黄色いロックアイコンをクリックして、設定の変更を許可します。
- 「共有とアクセス権」までスクロールします。
- ドライブのアクセス権で「読み/書き」を有効にします。

- アクションポップアップメニューを開き、「内包している項目に適用」をクリックします。
- 「このボリュームの所有権を無視」にチェックを入れます。
- ロックアイコンをクリックして変更を保存します。
問題なく完了すれば、Macで外付けドライブに書き込めるようになります。Macで外付けハードドライブのアクセス権を変更できない場合は、こちらのガイドにある別の方法を試してください:Macでアクセス権を変更し、「アクセス権が拒否されました」エラーを修正する方法
ファイルシステムがexFATの場合は、こちらも確認してください:MacでexFATドライブがマウントされない、または表示されない場合の対処法
方法3:バックアップを取ってからドライブを再フォーマットする
外付けハードドライブの読み取り専用ファイルシステムを解決するもう1つの方法は、Macで読み書きに対応したフォーマットに変更して、ドライブを再フォーマットすることです。再フォーマットするとドライブ上のデータがすべて削除されるため、実行する前に重要なファイルをバックアップしてください。
こちらも確認:exFATとNTFSの違い
Macに対応したフォーマットに変更した後も外付けハードドライブに書き込めない場合は、ドライブが故障している可能性があります。
Macの外付けハードドライブで発生する読み取り専用ファイルシステムの問題を解決する方法を、ぜひ共有してください。
Macの内蔵ボリュームで読み取り専用ファイルシステムを解決する方法
Macでシステムファイルを編集しようとすると、読み取り専用ファイルシステムのエラーが発生することがあります。この場合は、次の方法を試してください。
- Macで「読み取り専用ファイルシステム」エラーを解決するには?
- 方法1:コマンドを再確認する
- 方法2:システム整合性保護を無効にする
- 方法3:/etc/synthetic.confファイルを変更する
方法1:コマンドを再確認する
ターミナルに「rm: /var/db/ .AppleSetupDone: Read-only file system」や「OSError: [Errno 30] Read-only file system:」のような読み取り専用ファイルシステムのメッセージが表示された場合は、まずコマンドで指定したパスのスペルが正しいか確認してください。
コマンドに誤りがあった可能性があります(スペース、スラッシュ、または引用 符を省略したなど)。その結果、ターミナルによって読み取り専用のルートディレクトリが変更された可能性があります。
方法2:システム整合性保護(SIP)を無効にする
Macのルートディレクトリを実際に変更しようとしている場合は、SIPを無効にして、読み取り専用のファイルシステムを書き込み可能にする必要があります。手順は次のとおりです。
注: 「sudo」コマンドを使うと、root権限でコマンドを実行できます。「sudo」を付けたコマンドを実行するには、ログインパスワードの入力が必要です。入力を求められたらパスワードを入力し、Enterキーを押してください。セキュリティ上の理由により、入力中のパスワードは画面に表示されません。
- macOS復旧で起動します。
- 「ユーティリティ」>「ターミナル」をクリックします。
- SIPを無効にします。csrutil disable

- 変更を反映するため、Macを再起動します。
- 読み取り専用のファイルシステムを読み書き可能な状態でマウントします。sudo mount -uw /
- 作業対象のフォルダに読み書き権限を付与します。sudo chmod - R 775 folder_path
- これで、Macの読み取り専用ファイルシステムに書き込めるようになります。
- Macを再起動します。
- 復旧モードで起動し、SIPを再度有効にします。csrutil enable
方法3:「/etc/synthetic.conf」を編集してルート階層にディレクトリを作成する
SIPを無効にせずに読み取り専用のルートボリュームへ新しいファイルやディレクトリを追加する別の回避策として、「/etc/synthetic.conf」ファイルを使い、データボリュームからルート階層へのシンボリックリンクを作成する方法があります。
このファイルでは、システム起動時にルート階層に表示するディレクトリやシンボリックリンクを指定できます。これらのディレクトリやリンクは実際にはデータボリューム(/System/Volumes/Data)上にありますが、それらにアクセスするソフトウェアからはルート階層にあるように見えます。
ターミナルで、読み取り専用のルートディレクトリにデータを含む新しいディレクトリを作成する手順は次のとおりです。
- 管理者アカウントでログインしていることを確認します。
- 「ターミナル」を開きます。
- 次のコマンドを入力してEnterキーを押し、データボリュームまたはそのサブディレクトリにフォルダを作成します。sudo mkdir new_folder_pathたとえば、Macintosh HD Dataボリュームにdataという名前のフォルダを作成する場合は、次のコマンドを実行します。 sudo mkdir /System/Volumes/Data/data

- ドラッグ&ドロップまたは次のコマンドを使って、必要なデータを新しいディレクトリにコピーまたは移動します。(macOSのターミナルでcpコマンドを使ってファイルやディレクトリをコピーする方法)sudo cp -R source_directory_path/ new_folder_pathたとえば、cp -R /Users/jenny/Desktop/data/ /System/Volumes/Data/data

- /etc/synthetic.confファイルを編集し、新しいディレクトリを指すシンボリックリンクをルート階層に作成します。echo 'data\tfolder_path' | sudo tee -a /etc/synthetic.confたとえば、/System/Volumes/Data/dataを指すdataという名前のシンボリックリンクをルート階層に作成する場合は、次のコマンドを使用します。 echo 'data\tSystem/Volumes/Data/data' | sudo tee -a /etc/synthetic.conf

- Macを再起動します。
- 読み取り専用のルートディレクトリにフォルダがあることを確認します。
macOS Golden Gate、Tahoe、Sequoia、Sonoma、Ventura、Monterey、Big Sur、Catalinaで読み取り専用ファイルシステムの問題を解決する必要がある方に、このガイドを共有してください。
Macの読み取り専用ファイルシステムに関するよくある質問
- QMacで読み取り専用のファイルを解除するにはどうすればよいですか?
-
A
Macで読み取り専用のファイルを解除するには、ファイルを右クリックして「情報を見る」を選択し、自分のアカウントに「読み/書き」アクセス権を付与します。読み取り専用のファイルがNTFSでフォーマットされた外付けドライブに保存されている場合は、iBoysoft NTFS for Macをインストールすることで、ファイルを変更できるようになる可能性があります。
- QMacでファイルが読み取り専用になるのはなぜですか?
-
A
Macでファイルが読み取り専用になる原因として、NTFS形式でのフォーマット、アクセス権の問題、ファイルのロック状態などが考えられます。
- QMacで読み取り専用のファイルを削除するにはどうすればよいですか?
-
A
Macで読み取り専用のファイルを削除するには、ファイルに書き込み権限を付与する必要があります。NTFS形式の外付けドライブに保存されている場合は、信頼できるMac用NTFSドライバーで書き込みに対応させてから、通常どおり削除してください。

