macOSでデバイスドライバ(機能拡張)を手動で削除する方法です
SIP(System Integrity Protection )というシステム保護機能を一旦無効にして作業する必要があるため,少々煩雑な手順になります
手順1 リカバリーモードに入る
再起動して,リカバリーモードに入ります.
古いmac(cpuがintel製)と,新しいmac(M1やM2)で手順が異なります.
- システムをシャットダウンして一度電源が切れた状態にします
- 「Command」キーと「R」キーを同時押して,電源を入れます
新しいmac(M1やM2)
- システムをシャットダウンして一度電源が切れた状態にします
- touch ID(電源ボタン)を30秒ぐらい長押し続けます
手順3 SIPを無効にする
1. 画面上部のメニューからターミナルを起動します
2. ターミナル上で以下のコマンドを実行します
csrutil disable
3. 確認のメッセージが表示されるので y を入力
Turning off System Integrity Protection requires modifying system security. Allow booting unsigned operating systems and any kernel extensions for [y/n]:
4. 以下のメッセージが表示されれば成功です
System Integrity Protection is off.
Restart the machine for the changes to take effect
5. 再起動します
reboot
手順4 通常モードでログイン
再起動します.
SIPが無効状態になっているか確認します
csrutil status
SIPが有効の場合は以下の表示になります
System Integrity Protection status: enabled.
SIPが無効の場合は以下の表示になります
System Integrity Protection status: disabled.
以下の作業はSIPが無効状態,つまり
System Integrity Protection status: disabled.
である必要があります
手順6 デバイスドライバ(機能拡張)の手動アンインストール
sudo systemextensionsctl uninstall <teamID> <bundleID>
teamIDとbundleIDは,削除したいデバイスドライバのteamIDとbundleIDそれぞれ指定します
手順7 キャッシュの更新
念の為,手動でドライバのキャッシュを再作成します
sudo kextcache -i /
手順8 不要ファイルの手動削除
/Library/Extensions/ 以下にファイルがあれば手動削除します
手順9 再起動&動作確認
再起動して,デバイスドライバが消えたかどうか確認します