アプリケーション開発ポータルサイト
ServerNote.NET
カテゴリー【MacOSVMwareWindows
【VMWare】macOSゲストのシステムアプリを完全削除する方法
POSTED BY
2023-09-10

iTunesを筆頭にmacのシステムアプリにはプロテクトがかかっており通常削除できない。しかし不要な人間にとってはリソースを食うしXCodeでiPhoneをつなげるたんびに自動起動したりと邪魔でしかないので完全削除する。

完全削除できない根本原因はターミナルを開いて、 csrutil status とするとenabledと出ており、これがプロテクトとなっている。このプロテクトを外すにはmacをCommand+Rのリカバリーモードで起動し、言語を選択したのちメニューバーのTools→Terminalを開き、

crsutil disable
reboot

として再起動すればよい。すかさずrebootを打つのがポイントで、一旦macを終了して再度パワーオンしたりしたらenabledに戻る事があるので注意する。

VMWareでない単体のmacなら簡単にリカバリーモードに入れるが、WindowsホストのVMWareで動くmacゲストの場合キーを押すのは容易でない。よって以下のようにコンフィグする。

(参考)https://apple.stackexchange.com/questions/210817/disable-system-integrity-protection-on-os-x-running-on-vmware

まずWindowsキー+Rを押すために、灰色のVMWareロゴが出現するまでの時間を稼ぐ。vmxファイルの末尾に以下を追加する。

bios.bootdelay = 10000

こうするとロゴが出現するまで10秒の猶予ができるので、macゲスト起動ボタンを押したら、画面をクリックもしくはCtrl+Gを押してアクティブにし、すかさずWindows+Rを押し続ける。うまくいけばBIOSブートメニューが出現する。

Enter Setup -> Configure boot options -> Add boot options とそれぞれリターンで入り、「Recovery」と表示されているパーティションを選択しEnterして、一覧から「boot.efi」を選択する。

Input the description をEnterして適当に名前をつける(Recovery)。
Input optional data はカラでOK
Commit changes and exit でセーブして、
ESCキーで Boot normally 画面まで戻る

ここでさきほど名前をつけたRecoveryが居るはずなので、Recovery Modeで起動したければ選択してEnterでOK
通常起動したければMac OS X を選択して起動すればOK

通常起動したMACのターミナルで、
csrutil status で disabledになっていれば、システムアプリが消せる状態にある。

この状態であればもうOK、消去アプリ「AppCleaner」をダウンロードし実行。
AppCleaner->Preferences で、Protect defalut OS X apps のチェックを外す。

この状態でアプレケーションウインドウからiTunesのアイコンをドロップすれば、AppCleanerで完全アンインストール可能。iTunesをはじめvmware上のmacにはまず不要なPhoto,Mail,FaceTime等根こそぎ消すことができる。

本体のソフトウェア・アップデートをしてしまったら蘇るかもしれないが、とりあえずこの方法で消せる。

なおVMWareにはvmxファイルに以下の設定記述で簡単にリカバリーモードを起動できるオプション

macosguest.forceRecoveryModeInstall = "TRUE"

があって、これで起動させたのちやる事を終えたらこの記述と.nvramファイルを削除すれば元に戻せるが、もう1度上記でリカバリーモードで起動しようとしてもなぜか反応せず全部通常起動してしまう現象にハマったので、最初の正規の?方法に落ち着いた。

※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!
ご連絡は以下アドレスまでお願いします★

【キーワード検索】