CatalinaにしたらCloverがインストールできない

CatalinaからCloverをインストールしようとすると、Cannot install without ensuring the file system is read-write というメッセージが出て、インストールできませんでした。これはSIP設定で回避できます。手作業でインストールする際には問題にならないので、将来のインストーラで対応されるかもしれません。

インストールできない

Catalinaからファイルアクセスの制限が厳しくなったと感じています。いろいろなアプリケーションにファイルアクセスの許可を出したり、ネットからのダウンロードを許可する作業などが必要になりました。システムの一部が読み出し専用になったことも関係していると思います。その影響で、インストーラでCloverをインストールしようとすると、上記のようなダイアログボックスが出てインストールできないことがあります。このようなソフトウェアインストーラは、macOS標準の「インストーラ.app」を使っています。/System/Library/CoreServices/に置かれているアプリケーションです。エラーメッセージは、このアプリケーションが引き起こしていると考えられます。

対策をネットで調べると、「リカバリーモードで再起動してターミナルからSIPを無効にすれば良い」という回答がありました。先日の記事へのコメントでも同様の方法を教えていただきました。ありがとうございます。ちなみに、リカバリーモードでSIPを解除しても、次の次の起動ではちゃんと元に戻るそうです。

でもこの方法だと、インストーラを動かすまでに2回の再起動をする必要があります。手間の少ない方法を考えました。

SIPを限定解除

Hacintoshのconfig.plistで、SIPを全部外した設定をしていれば、このメッセージは出ないのかと思います。手元のマシンでは、できるだけバニラな設定にして実機と同じにしたいと考えていたので、SIPも全部有効になってました。なのでターミナルで確認すると、以下のように、SIPは全項目で有効になっていると表示されます。

% csrutil status
System Integrity Protection status: enabled.

SIPは色々な保護をしてくれますが、今回の問題に対してはファイルシステムへの制限を解除すれば良さそうです。SIPを完全に機能させている場合、config.plistのCsrActiveConfigの数値は、

<key>RtVariables</key>
<dict>
     <key>CsrActiveConfig</key>
     <string>0x00</string>
</dict>

となっていると思います。これの下位2ビット目を立てて、例えば、

<key>RtVariables</key>
<dict>
     <key>CsrActiveConfig</key>
     <string>0x02</string>
</dict>

のように書き換えれば良いです。でも、SIPを元に戻すにはまたこれを書き直すことになり面倒です。そこでCloverの起動画面のOptionから変更しました。まずは、下のメニューからOptionsを選択します。

次にSystem Parameters, System Integrity Protection (SIPのことです)と選んでいきます。SIPの設定は、config.plistで全部有効にしてあるので、設定値が0になってます。

 

ここでSIPの各項目を設定できるので、Allow Unrestricted FSを選びます。FSはファイルシステムの意味で、ファイルシステムアクセスの制約を外すという設定です。

これで起動すると、SIPが限定解除されています。ターミナルで確認すると、

% csrutil status
System Integrity Protection status: unknown (Custom Configuration).

Configuration:
Apple Internal: disabled
Kext Signing: enabled
Filesystem Protections: disabled
Debugging Restrictions: enabled
DTrace Restrictions: enabled
NVRAM Protections: enabled
BaseSystem Verification: enabled

This is an unsupported configuration, likely to break in the future and leave your machine in an unknown state.

のように表示されます。Filesystem Protectionsが無効になっています。どういうわけかAppe Internalも無効になっていますが、セットで設定すべき値なのかもしれません。この状態でCloverインストールを行うと、問題なく実行できます。Cloverの起動画面で一時的に設定しましたので、次の再起動ではSIPは元に戻っています。

10件のコメント

  1. こんにちは。
    Hackintoshを起動しようとすると、禁止マークがでます(🚫)
    なぜでしょうか?
    以前は出ませんでした。
    OlarilaやCloverからしても同じ結果でした。
    分からないのでアドバイスお願いします。

    1. -vオプションメッセージからは手掛かりありませんでしょうか?

      1. すみません。
        初心者なので…
        そのモードのことは知ってるのですが、どうすればいいのかがわかりません。
        お願いします。

        1. config.plistのBootキーの中のArgumentsキーのところに、今書いてある内容に加えて、その最後にスペース+-vを追加しておけば良いです。
          以下の記事と、そこにリンクが書いてあるCPUごとのconfig.plist説明の記事を参考にしてください。ここのconfig.plist例には全部-vが書いてあります。

          https://bootmacos.com/entry/2019/01/10/234355

          また、この記事の内容とは直接関係しないので、フォーラムのUser Buildsでトピックスを立てて続けていただければと思います。そこでハードウェア構成などを詳しく書いていただければ、他のメンバーからの助言も得られると思います。ここだと埋もれてしまって、解決策が得られないと思います。

  2. clover configulator で 0x00 と 0x67 をやり直すのが一番わかりやすいと思います。

  3. こんばんは。Cloverをインストールしようとしたところ「Cannot install without ensuring the file system is read-write 」というメッセージが出てきたのでそのままググったらこの記事にたどり着きました。
    いや〜凄いです。何事もなくインストールできました。凄く助かりました。ありがとうございます!
    他にも二台CatalinaをインストールしてるHackintoshがあるのですがそちらではなんのエラーもなくインストールできたのに不思議です。
    他の記事も読んで勉強させて頂きます。感謝。

  4. お役に立てて何よりです。インストールできるマシンの方はCsrActiveConfigでSIPが元から部分解除されているのではないでしょうか?

Window へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です