OCLP 2.5.0で「Dirty Root Volume」と言われ、ルートパッチがインストールできない問題

コンピュータ関連
スポンサーリンク

OCLP 2.5.0 がリリースされました。

早速アップグレードしたところ、「Root volume dirty, unpatch to continue」と言われてインストールできず。

その時は何かおかしいと思い、revertして(元に戻して)、OCLP 2.5.0もアンインストール。

改めて 2.4.1 をインストールし、ルートパッチをあてて復帰しました。

その後調べて何が起こっていたのか、いるのかを把握。
簡単にですがまとめてみます。

スポンサーリンク

何が起きているのか

OCLP 2.5.0では、ルートパッチが適用できる状態かどうかを複数の条件で判定しているようです。

例えば、

  • 現在のSystem VolumeのSeal状態が Broken
  • OpenCore-Legacy-Patcher.plistのコミット情報を比較(古いバージョンなど)
  • plistに、既存のルートパッチが適用済みであることを示す情報が残っている

といった内容です。

これらに該当すると、いったんパッチを解除してから続けてくださいねということになります。

なので「Root volume dirty」と言われても、システムボリューム自体が壊れているという意味ではありません。

どちらかというとその「dirty」という表現が適切ではないようです。あるいは説明不足かな?

なぜこのような仕組みになったのか

今回、ver2.5.0 からルートパッチの適用方法が変わりました。

この変更は

  • すでにパッチが適用済み、
  • あるいは何らかの変更が加えられている

ようなシステムボリュームに対して、さらにパッチを上書きすることで問題が発生する可能性を防ぐことを目的としています。

今までは「パッチ解除 → 再起動 → 再パッチ」という手順を省略し、単に上書きしても大きな問題はありませんでした。

が、OCLP 2.5.0ではWi-Fiパッチに仕様変更があり、これまでのようにパッチを解除せず上書きすると問題が生じる可能性があります。

なのでいったん元の状態に戻してからやり直してくださいという手順になったようです。

なお、もう少し分かりやすい表現に変更するための修正パッチを現在準備中だそうです。(※1)

また、
必ずしも今すぐにOCLPをアップデートする必要はありません。

今すぐOSをインストール/アップデートしたい、ということでなければ、
2.4.1のままにしておいても問題ありません。

今後のマイナーアップデートを待ってからアップデートしても大丈夫だと思います。

(※1 「About “Root Volume Dirty” in OCLP 2.5.0 and later」)

OCLP 2.5.0のインストール手順

一時的にWi-Fiが使えなくなるので、モデルによってはイーサネット/LANケーブルでネット接続できるようにしておく必要があります

「新しい OpenCore Legacy Patcher があるよ!」 と言われたら、
「Download and Install」を選択
Download and Install

ダウンロードが始まるのでしばし待つ
ダウンロード

インストール
インストール

アップデート完了!
アップデート完了

OCLPが最新バージョンにアップデートされたから、OpenCoreとルートボリュームパッチをアップデートする?「Yes」
OpenCoreとルートパッチをインストールする?

ビルド完了。インストールする?「Install to disk」
ビルド完了 インストール

インストール先を選択
(※OSがインストールされているディスクを選びます)
インストール先を選択

選んでインストール
選んでインストール

成功。次にルートパッチもアップデートする?「Yes」
ルートパッチもインストールする?

「Post-Install Menu」
ここで問題の画面が出てきます。
Post-Install Menu

この時点でOCLP自体のバージョンは2.5.0に、起動ディスクのEFIパーティションには新しいOpenCoreがインストールされています。

ルートパッチも続けてインストールしたいところですが、前述の仕様変更の影響が出てきます。

ターミナルから

diskutil info -plist / と打って表示された情報を見ると

<key>Sealed</key>
<string>Broken</string>

Brokenとなっています。これは「壊れている」わけではなく、
2.4.1のパッチが適用され「変更されている」のでこうなります。

なのでまずはこれを元に戻します。

「Revert Root Patches」を選択してパッチを外し、再起動。
Revert Root Patches
再起動

起動したらOCLPが「ルートパッチなしで起動してるよ!パッチを当てる?」と聞いてくるので「OK」
もしくはOCLPを起動して「Post-Install Root Patch」からインストールしましょう。
OCLP

ちなみに、パッチを当てる前に先ほどと同じくターミナルからdiskutil info -plist / と打てば、
Apple純正の状態に戻ったため SSV(Sealed System Volume)の項目(Sealed)がYesになっているはずです。

話を先に進めます。

パッチ適用成功!再起動するか聞かれるので「Reboot」
パッチ適用成功!

再起動したらWi-Fiも復活!
Wi-Fiも復活

これで無事にアップデートが完了しました。

まとめ

「Root volume dirty」という表現とインストール手順の変更のために少々混乱しましたが、

要はまっさらな状態(元の状態)にしてからルートパッチを適用してね、というお話でした。

そして前述の通り、修正パッチかマイナーアップデートされたものが近いうちに出るでしょうから、それを待ってアップデートしても良い気がします。二度手間になるしね。

また何か新しい情報が出たり、修正の必要が出たら追記します。
では。

コメント

タイトルとURLをコピーしました