Macで読み取り専用ファイルシステムを修正する方法

日本語 English Français Deutsch Español

簡単な回答:

外付けドライブが読み取り専用になっている場合や、ターミナルで「read-only file system」エラーが表示される場合は、次のいずれかの方法で対処できます。

表示される症状考えられる主な原因次に行うこと
外付けドライブをFinderで開くと「読み取りのみ可能」と表示されるNTFS、アクセス権、Time Machine用ディスク、書き込み保護、またはディスクエラーまず「ディスクユーティリティ」でドライブのフォーマットを確認する
NTFSドライブにファイルをコピー、削除、作成できないmacOSは標準ではNTFSを読み取れますが、書き込みには対応していないフォーマットせずに、NTFS for Macを利用する
mkdir: /data: Read-only file systemと表示される読み取り専用のシステムボリュームに書き込もうとしている/System/Volumes/Dataの下にフォルダを作成するか、synthetic.confを使用する
復旧環境でrm ... Read-only file systemと表示されるパスが正しくない、引用符がない、またはシステムボリュームが保護されているSIPの設定を変更する前に、コマンドのパスを確認する
外付けドライブが突然読み取り専用になったファイルシステムのエラーまたはドライブの故障修復やフォーマットを行う前に、データを復元またはバックアップする

 NTFS形式の外付けドライブが読み取り専用になっている場合は、iBoysoft NTFS for Macをダウンロードすると、書き込みアクセスを簡単に有効にできます。

Macの読み取り専用ファイルシステム

Macでデータを書き込もうとしたときに、「read-only file system」エラーが表示されて困ったことはありませんか?この問題は、Macの内蔵ドライブ、外付けハードドライブ、さらには共有フォルダでも発生することがあります。ターミナルに「mkdir: /data: read-only file system」と表示される場合もあれば、Finderで単に「読み取りのみ可能」と表示される場合もあり、作業の妨げになりかねません。

この問題は珍しいものではありません。この記事では、Macでファイルシステムが読み取り専用になる主な原因を確認し、ターミナルコマンドまたはより簡単な方法で対処する手順を紹介します。

それでは、読み取り専用のファイルシステムを再び書き込み可能にする方法を見ていきましょう。

以下に、このガイドで紹介する解決策をまとめます。 

M1/M2/M3/T2搭載MacおよびIntel Macで読み取り専用ファイルシステムを解消する方法対処法
状況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で外付けハードドライブが読み取り専用になっている

Finderでもターミナルでも、MacからUSBメモリにファイルをコピーできません。「情報を見る」でディスクのアクセス権を確認すると、「読み取りのみ可能」と表示され、読み書きのアクセス権を有効にできない状態です。ドライブはWindows NTファイルシステムでフォーマットされています。この読み取り専用ファイルシステムのアクセス権をMacBook Proで変更するには、どうすればよいですか?

exFAT形式の 外付けハードドライブがMacで突然読み取り専用になりました。昨日までは書き込みできていたのですが、M1 Macでこの読み取り専用ファイルシステムを解決するにはどうすればよいですか?

Macで外付けハードドライブのファイルシステムが読み取り専用になっている

Macで外付けドライブが読み取り専用になっている場合、NTFS形式であること、アクセス権の設定ミス、会社のポリシーによる制限、Time Machineのバックアップディスクであること、ハードウェアの故障、または物理的なロックスイッチによる書き込み保護などが原因として考えられます。

ケース2:mkdir: /data: Read-only file system

sudo mkdir /data/bdというコマンドを使って新しいディレクトリを作成しようとしました。ターミナルに「mkdir: /data: Read-only file system」というエラーが表示されます。

mkdirを実行すると「読み取り専用のファイルシステム」と表示される

ルートディレクトリの下にフォルダを作成した際、ターミナルに「読み取り専用のファイルシステム」と表示される場合は、通常、macOSによってシステムボリュームが保護されています。macOS Catalina以降、システムファイルは読み取り専用のボリュームに保存され、書き込み可能なユーザーデータはDataボリュームに保存されます。

多くの場合、SIPを無効にする必要はありません。SIPは、rootユーザーであっても一部のシステムファイルやディレクトリを変更できないようにするセキュリティ機能です。代わりに、/System/Volumes/Dataの下にフォルダを作成するか、ルート階層にパスが必要な場合は/etc/synthetic.confを使用してください。

ケース3:rm: /var/db/ .AppleSetupDone: Read-only file system

シングルユーザーモードで、AppleSetupDoneファイルを削除して設定アシスタントを再実行するため、次のコマンドを実行しました。しかし、「rm: /var/db/ .AppleSetupDone: Read-only file system」というメッセージが表示され、失敗しました。

この「読み取り専用のファイルシステム」エラーは、コマンドのスペルミスが原因です。

コマンド内のファイルパスが引用符で囲まれていません。そのため、シェルはファイルパスを、/Volumes/MacintoshHD/var/db/.AppleSetupDonermという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のターミナルで「読み取り専用のファイルシステム」エラーに悩んでいる人は少なくありません。この記事を共有して、問題の理解に役立ててください。

Macで外付けドライブの「読み取り専用のファイルシステム」を解決する方法

Macで外付けドライブが読み取り専用になっている場合は、以下の方法で書き込みアクセスを付与できます。

  • ヒント1: 多くのSDカードや一部のUSBメモリには、書き込み禁止スイッチが付いています。スイッチがオンになっていると、ディスクは読み取り専用になり、書き込みはできません。このスイッチが付いている場合は、オフになっていることを確認してください。
  • ヒント2: 組織で使用しているコンピュータでは、データ漏えいを防ぐために外部デバイスへのアクセスが読み取り専用に設定されている場合があります。Macが組織から支給されたものである場合は、IT担当者に相談してください。
  • ヒント3: Time Machineのバックアップディスクには、バックアップ以外のファイルを追加できません。このような外付けハードドライブにMacからファイルを追加する方法については、こちらのガイドを確認してください。 

方法1:NTFSドライブへの書き込みを有効にする

読み取り専用になっているファイルシステムがNTFSでフォーマットされた外付けドライブの場合、通常のmacOSのアクセス権の問題ではありません。macOSはNTFSドライブを読み取れますが、デフォルトでは書き込むことができません。そのため、「情報を見る」の「共有とアクセス権」を変更しても、完全な書き込みアクセスを有効にすることはできません。NTFSに対応した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バージョンに対応しています。

また、Intel搭載Mac、T2搭載Mac、Appleシリコン搭載Macに対応しているほか、外付けハードドライブ、USBメモリ、メモリカードなど、さまざまな外部ストレージデバイスで利用できます。

下のボタンからダウンロードすると、データを失わずにMacでNTFS外付けドライブの読み書きができるようになります。

iBoysoft NTFS for Mac

 ヒント: 外付けドライブのファイルシステムがわからない場合は、「ディスクユーティリティ」で確認できます。ドライブのメインパーティションを選択し、右側に表示される情報を確認してください。

方法2:Macで読み取り専用ファイルシステムのアクセス権を変更する

外付けディスクがAPFSまたはMac OS Extended(ジャーナリング)でフォーマットされている場合は、Macで読み取り専用ファイルシステムのアクセス権を変更してみてください。手順は次のとおりです。

  1. Finderで、読み取り専用のファイルシステムとして認識されているドライブを右クリックします。
  2. 「情報を見る」を選択します。
  3. 黄色いロックアイコンをクリックして、設定のロックを解除します。
  4. 「共有とアクセス権」までスクロールします。
  5. ドライブの権限を「読み/書き」に変更します。 
    Macで読み取り専用ファイルシステムのアクセス権を変更する方法
  6. アクションポップアップをクリックし、「内包している項目に適用」を選択します。
  7. 「このボリュームの所有権を無視」にチェックを入れます。このボリュームの所有権を無視
  8. ロックアイコンをクリックして変更を保存します。

問題なく完了すれば、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:システム整合性保護を無効にする

Macのルートディレクトリを変更しようとしている場合は、読み取り専用のファイルシステムを書き込み可能にするため、SIPを無効にする必要があります。手順は次のとおりです。

 注: 「sudo」コマンドを使うと、root権限でコマンドを実行できます。「sudo」を付けてコマンドを実行するには、ログインパスワードの入力が必要です。入力を求められたらパスワードを入力し、「Enter」を押してください。セキュリティ上の理由により、入力中のパスワードは画面に表示されません。

  1. macOS復旧を起動します。
  2. 「ユーティリティ」>「ターミナル」をクリックします。
  3. SIPを無効にします。csrutil disableMacでSIPを無効にする方法
  4. 変更を反映するため、Macを再起動します。
  5. 読み取り専用のファイルシステムを読み書き可能な状態でマウントします。sudo mount -uw /
  6. 操作するフォルダーに読み書きの権限を付与します。sudo chmod - R 775 folder_path
  7. これで、Macの読み取り専用ファイルシステムに書き込めるようになります。
  8. Macを再起動します。
  9. 復旧モードを起動し、SIPを再度有効にします。csrutil enable

方法3:/etc/synthetic.confファイルを変更してルート階層にディレクトリを作成する

SIPを無効にせずに、読み取り専用のルートボリュームへ新しいファイルやディレクトリを追加するもう1つの代替手段は、/etc/synthetic.confファイルを使ってデータボリュームからルート階層へのシンボリックリンクを作成する方法です。

このファイルを使うと、システムの起動時にルート階層に表示するディレクトリやシンボリックリンクを指定できます。これらのディレクトリやリンクは実際にはデータボリューム(/System/Volumes/Data)にありますが、それらにアクセスするソフトウェアからはルート階層にあるように見えます。

ターミナルで、データを含む新しいディレクトリを読み取り専用のルートディレクトリに作成する手順は次のとおりです。

  1. 管理者アカウントでログインしていることを確認してください。
  2. 「ターミナル」を開きます。
  3. 次のコマンドを入力してEnterキーを押し、データボリュームまたはそのサブディレクトリに新しいディレクトリを作成します。sudo mkdir new_folder_pathたとえば、Macintosh HD Dataボリュームにdataという名前のフォルダを作成する場合は、次のコマンドを実行します。sudo mkdir /System/Volumes/Data/dataシステムデータボリュームに新しいフォルダを作成する
  4. ドラッグ&ドロップ、または次のコマンドを使って、必要なデータを新しいディレクトリにコピーまたは移動します。(macOSのターミナルでcpコマンドを使ってファイルやディレクトリをコピーする方法sudo cp -R source_directory_path/ new_folder_pathたとえば、cp -R /Users/jenny/Desktop/data/ /System/Volumes/Data/dataを実行します。Macのルートディレクトリに追加するファイルをコピーする
  5. /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読み取り専用のシステムディレクトリから新しいフォルダにアクセスできるよう、ルート直下にシンボリックリンクを作成する
  6. Macを再起動します。
  7. 読み取り専用のルートディレクトリにフォルダが表示されることを確認します。

macOS 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形式の外付けドライブに保存されている場合は、信頼できるNTFS for Macドライバで書き込み機能を有効にしてから、通常どおり削除してください。