新たなセキュリティアップデート「Security Update 2019-001」がリリースされました。
今回も各種アップデートに加えてリカバリーHDパーティションのアップデートがあります。
その過程でまたスクリプトエラーが発生しそうです、が、まぁその辺は相変わらずかな。
実際はリカバリーHDなど無くても困らないのですが、
エラーなくアップデートする方法はあるので今回はそのやり方について紹介してみます。
方法は二つ。
セキュリティアップデートとリカバリーHDアップデートを別々に実施
別の方法も後ほど紹介しますが、基本的にはこの方法がおすすめです。
アップデートパッケージからリカバリーHDのものを外し、その他のアップデータを適用、その後にリカバリーHDパーティションを手動でアップデートします。
基本的には前回と同じ流れでの作業。
ファイル名などが違うのでその辺は注意が必要。
1、セキュリティアップデート(2019-001)をダウンロード
アップデータはこちらからダウンロードできます。
→ Download Security Update 2019-001 (High Sierra)
2、パッケージを展開
ダウンロードした「SecUpd2019-001HighSierra.dmg」を開き、
現れたボリューム「Security Update 2019-001」を右クリックして
サービス > フォルダに新規ターミナル
からターミナルを起動。パッケージの中身を ~/Desktop/Expanded に展開。
pkgutil --expand SecUpd2019-001HighSierra.pkg ~/Desktop/Expanded
3、Distributionファイルを変更する
Expanded フォルダ内にある Distributionファイル(xml)をテキストエディタで開いて編集。
a.インストールパッケージを実行可能に
44行目、BoardIDの一つを自分のものに書き換え。
52行目、自分の機種IDを削除。
b.パッケージリストからの削除
次の2行を削除。
35行目
<pkg-ref id="com.apple.pkg.SecUpd2019-001HighSierra.RecoveryHDUpdate.17G5019" auth="Root" packageIdentifier="com.apple.pkg.SecUpd2019-001HighSierra.RecoveryHDUpdate.17G5019" active="RecoveryHD10(my.target.mountpoint)" installEnvironment="ClientOS">#SecUpd2019-001HighSierra.RecoveryHDUpdate.pkg</pkg-ref>
181行目
<pkg-ref id="com.apple.pkg.SecUpd2019-001HighSierra.RecoveryHDUpdate.17G5019" installKBytes="0" version="1.0.0.0"/>
編集したら上書き保存。
4、パッケージを再びまとめる
ターミナルから入力
pkgutil --flatten ~/Desktop/Expanded ~/Desktop/Modified.pkg
デスクトップに「Modified.pkg」というファイルが出来上がります。
※ちょっと時間がかかります。ターミナルが入力可能になるまで待機。
5、変更済みのパッケージをインストール
「Modified.pkg」を開いてインストールします。
問題なくインストールは完了するはず。
ビルド番号も「10.13.6(17G5019)」に。
6、リカバリーHDパーティションのアップデート
ターミナルから直接スクリプトの尻を叩く(実行する)とエラーなくアップデートできます。
#一時的にパスを通す export PACKAGE_PATH=~/Desktop/Expanded/EmbeddedOSFirmware.pkg/RecoveryHDMeta.dmg #スクリプトフォルダへ移動 cd ~/Desktop/Expanded/SecUpd2019-001HighSierra.RecoveryHDUpdate.pkg/Scripts #スクリプトを実行 ./replaceRecovery / / #最後のスラッシュをスクリプトにターゲットボリュームとして渡しています。(スクリプト内の TARGET="$2")
ずらずら〜っとログが出てきます。
…
Operation fully complete
Operation finished
終わったらアプリケーションを閉じて一旦電源を切ります。
OSのインストール時に作成したUSBインストーラを接続して「option」キーを押しながら起動。
たち上がったら「macOS POST Install」を開き、「Recovery Partition Patch」にだけチェックを入れてHigh Sierraのボリュームを選択、「Patch」ボタンでパッチを当てたらOKです。
パーティションを切って複数のOSを入れている場合にはリカバリーパーティションも複数あり、その場合は選択画面が出てくるので間違えないように選びましょう。
これで作業完了です。
必要ならSMC(システム管理コントローラ)リセットを
セキュリティアップデート適用後、メモリの使用量が多くパフォーマンスが若干落ちてしまう場合があります。
そんな時はSMC(システム管理コントローラ)リセットすれば治ります。
→ Mac の SMC (システム管理コントローラ) をリセットする方法
OSの再インストール後にセキュリティアップデートを適用する
通常の手順でアップデートしようとするとなぜかリカバリーHDに関してエラーが発生します。
ならば事前に「最新のリカバリーHDパーティションを含んだインストーラ」でOSを上書きインストールしてしまおうというのがこの二つ目の方法です。
その後にセキュリティアップデートを適用するわけですが、リカバリーHDに関しては更新の必要がないのでスルーされエラーも発生しません。すでに最新のものになっているので当然ですね。
実際にやってみたところうまくいきました。
が、いわばリカバリーHDパーティションの為だけにOSを再インストールするわけです。
その手間とか時間とか、労力に見合ったものかどうかは・・・
クリーンインストールであれ上書きインストールであれ、OSを再インストールする必要が何かある場合に使える方法だと思います。
1、パッチツールでUSBインストーラを作成
パッチツールからmacOSインストーラをダウンロードしておきましょう。
そこからUSBインストーラを作成します。
手順はこちらの記事を参照のこと。
2、セキュリティアップデート(2019-001)をダウンロードして展開
スタンドアローンのアップデータをダウンロードし、中身を展開します。(手順は上述)
3、リカバリーHD関連のファイルを置き換え
展開後のフォルダにある「EmbeddedOSFirmware.pkg」を右クリックしてパッケージの内容を表示。
「RecoveryHDMeta.dmg」を開きます。
中に入っている4つのファイル
- AppleDiagnostics.chunklist
- AppleDiagnostics.dmg
- BaseSystem.chunklist
- BaseSystem.dmg
を、USBインストーラの中にあるものと置き換えます。
4、OSを上書きインストール
ファイルを置き換えたら再起動。
USBインストーラから起動し、OSをインストールします。
5、セキュリティアップデートを適用
各種パッチも当て、問題なく起動したら「a.インストールパッケージを実行可能に」の通りにDistributionファイルを編集(BoardIDの追加、機種IDの削除)。
この時リカバリーHD関連の行は削除しないでOKです。
パッケージを再びまとめて実行。
6、POST INSTALLでパッチを当てる
USBインストーラから起動、
「macOS POST Install」を開いて「Recovery Partition Patch」を当てます。
これで作業は完了です。
(※書いてて気がついた。もしかしたらOSインストール時にパッチを当てる際、一緒にやったら二度手間にならないかも?試してないけど。)
まとめ
これで問題なくセキュリティアップデートが適用できたはずです。
OSのインストールは時間もかかるし、やはり一つ目の方法がおすすめかなと。
ただ一つ気になるのは・・・
今になってフォーラムで
「自分のiMac 8,1ではApp Storeを通してSecurity Update 2019-001をインストールしたけど何も問題は起きなかったよ」とか言う投稿を見つけたこと。
え?・・・もしかして、え?あれ?ものすごい・・・遠回り?
まいっか。
今回はエラーが起きるかどうかの確認をせずに作業していましたが、
もしエラーが出てしまった or 今後のセキュリティアップデート適用の仕方を知りたい、という方々のためにこの記事が役に立つことを願って・・・
【追記】
次のセキュリティアップデート「2019-002」に関してはこちらを参考にしてください。
コメント