Tips:システム機能拡張を/Library/SystemExtensionsから完全削除する方法

Mac用の一部のユーティリティーは、システム内部の特定のフォルダに必要なファイルをインストールします。ただし、macOSのセキュリティーの関係で、簡単には削除できないシステムファイルが残ってしまいます。今回は、それを完全削除する時の話です。

/Library/ にゴミが残っているのは気になるし、イヤ!

通常なら、そのユーティリティーが必要なくなれば、アンインストールですべてキレイに削除できるはずです。しかし、実際にはそうもいかず、何らかの理由で不要なファイルが残ってしまうこともあります。
特にエラーが起きるとかスピードが低下するわけでもないので、そのまま放置しておいても実害はないでしょう(多分)。でも、やっぱりどうも気持ち悪い。そこで、手動で削除しようとしても、簡単には削除できないファイルを、さてどうするか?

まずは、不要なシステムファイルに気付いた経緯から紹介します。以下は、macOS Ventura 13の場合の表示です。

  1. 「システム設定」>「プライバシーとセキュリティ」>「フルディスクアクセス」を表示する。
  2. オフにしている不要な項目を選んで、ウインドウ下部の[-]ボタンをクリックするが、エラーが表示されて削除できない。
「システム設定」>「プライバシーとセキュリティ」>「フルディスクアクセス」
「システム設定」>「プライバシーとセキュリティ」>「フルディスクアクセス」
ファイルを削除できないアラート
ファイルを削除できないアラート
  1. 仕方なく、項目を右クリックして「Finderに表示」を選択する。
  2. Finderで直接削除しようとしても、やはりエラーが表示されて削除できない。

Finderで「ライブラリ」フォルダ /Library/ を見ると、確かに不要なファイルがいくつかありました。いくつかは手動でもゴミ箱へ移動できましたが、いくつか、どうしてもダメなファイルがありました。
/Library/LaunchAgents
/Library/LaunchDaemons
/Library/SystemExtensions

SystemExtensionsの中を弄るにはSIPをオフにする必要あり
SystemExtensionsの中を弄るにはSIPをオフにする必要あり

どんなシステムファイルかというと、ウイルスチェッカーやドライバーなど、サードパーティーのユーティリティーがインストールしたシステムファイルです。私の場合は、ウイルスチェッカーのAviraやMicrosoft Defenderが残していたシステムファイルでした。

System Integrity Protection (SIP) をオフに!

AVASTからAvira、そしてMicrosoft Defenderへと渡り歩いた時のように、これはmacOSのセキュリティーシステムであるSystem Integrity Protection (SIP システム整合性保護)を一旦オフにしないと削除できないようです。

では、同じ手順で…と行きたいところですが、ここで注意が必要なのが、Apple Silicon Macでは、リカバリーモードの起動方法が変わったこと。オールドMacユーザーの皆さんほど、ご注意を!

  1. Macをリカバリーモードで起動する(Apple Silicon Macは電源ボタン長押し、Intel Macはcommand-r)。
  2. 表示が「起動オプションを読み込み中…」に変わったら、電源ボタンから指を離す。
  3. 右端に表示される「オプション」を選択して、[続ける]ボタンをクリックする。
  4. 「macOS復旧」画面になるので、ユーザーを選択しパスワードを入力してログインする。
  5. 「ユーティリティ」>「ターミナル」を選択して起動する。
  6. System Integrity Protection (SIP) を無効にする。
crutil disable
Turning off System Integrity Protection requires modifying system security.
Allow booting unsigned operating systems and any kernel extensions for OS “ディスク名” ? [y/n]:
  1. 注意が表示されるので「y」で続行する。ユーザー名とパスワードを入力する。
Authorized user: ユーザー名
Password
cstutlSystem Integrity Protection is off.
Restart the machine for the changes to take effect.
  1. 念のため、SIPが無効にできたかを確認して、再起動する。
csrutil status
System Integrity Protection status: disabled.
  1. Appleメニューから「再起動」を選択する。
  2. 通常通りログインして、もう一度 /Library/SystemExtensions フォルダを開く。
  3. 削除したいフォルダを選んで、パスワードを入力し、ゴミ箱へ捨てる。
  4. 再び、復旧モードでログインして、ターミナルを起動し、SIPを有効に戻す。
crutil enable
  1. 注意が表示されるので「y」で続行する。ユーザー名とパスワードを入力する。
  2. 念のため、SIPが有効に戻せたかを確認して、再起動する。SIPはセキュリティーに必須なので、必ず戻す!
csrutil status
System Integrity Protection status: enabled.

Time Machineからユーザーアカウントを復帰させるような場合でも、こういったもう使っていないユーティリティーのシステム機能拡張や初期設定もスキップされずに戻されます。適度にクリーニングした方がいいでしょう。