macOSでKext(カーネル拡張)を追加・削除する方法をわかりやすく解説

Kext(カーネル拡張)は、macOSの基盤であるDarwinカーネルの基本機能を拡張するためのファイルです。Windowsにおけるドライバのような役割を果たし、カーネルがPCのハードウェアと正しく通信できるようにします。通常、これらのファイルは特別なメンテナンスを必要としませんが、問題が発生した場合には、Kextの追加や削除といった作業が必要になることがあります。
本記事では、macOSでKextを追加・削除する具体的な方法を、初心者にもわかるように丁寧に解説します。
Big Sur以降のMacでもKextは使われている?
Appleは現在、macOSでのKext利用を推奨していません。さらに厄介なことに、macOS Big Surでは一部のKextがサポート対象外となっており、動作しないものもあります。対応状況については、Appleが公開している非対応リストで確認できます。
Kextはどこにあるのか
Mac上では、Kextは主に以下の2つの場所に保存されています。
- /System/Library/Extensions:Kextの主な保存場所で、ほとんどのKextはここにあります。
- /Library/Extensions:こちらにも一部のKextが存在しますが、頻度は少なめです。
Kextファイルは「.kext」という拡張子と、プラグイン風のアイコンで識別できます。

Kextを削除する方法
Kextの削除方法は大きく分けて2つあります。まずはターミナルコマンドkextunloadを使う方法から見ていきましょう。
方法1:kextunloadコマンドを使う
- 削除するKextを特定する:削除対象のKextが正しいかどうか、必ず慎重に確認してください。システムに不可欠なKextを誤って削除すると重大な不具合につながる可能性があり、しかもKextの名前は一見して意味がわかりにくいものが多い点に注意が必要です。
- ターミナルを開いて以下のコマンドを入力:
sudo kextunload /System/Library/Extensions/kext.kext
「kext.kext」の部分は、実際に削除したいKextのファイル名に置き換えてください。たとえば「AppleMobileDevice.kext」を削除したい場合は、次のように入力します。
sudo kextunload /System/Library/Extensions/AppleMobileDevice.kext
- パスワードを入力:コマンドを入力したらEnterキーを押し、続けて管理者パスワードを入力して再度Enterキーを押します。

方法2:rmコマンドで強制削除する
kextunloadがうまく機能しない場合は、rmコマンドでKextファイルを強制的に削除することも可能です。
- ターミナルで以下のコマンドを実行:
sudo rm -rf /System/Library/Extensions/kext.kext
ここでも「kext.kext」は実際のファイル名に置き換えてください。たとえば「AppleIntelE1000e.kext」を削除する場合のコマンドは以下のとおりです。
sudo rm -rf /System/Library/Extensions/AppleIntelE1000e.kext

- 管理者パスワードを入力:パスワードを入力してEnterキーを押します。

- Macを再起動:変更を反映させるために、必ず再起動を行ってください。

Kextを自動的にインストールする方法
ここから紹介する手順は、Big Surより前のmacOSを使用している環境向けです。Hackintosh向けに開発されたユーティリティ「KextBeast」を活用すれば、Kextのインストール作業を大幅に簡略化できます。
- KextBeastをダウンロード:無料配布されていますが、tonymacx86.comのアカウントを持っていない場合は、無料登録が必要です。
- Kextファイルをデスクトップに移動:KextBeastは「~/Desktop」ディレクトリ内のすべてのKextファイルを自動的に処理するため、インストールしたいファイルだけをデスクトップに置くようにしてください。

- KextBeastを起動して「続ける」をクリック。

- もう一度「続ける」をクリック。

- インストール先を選択:システムの起動ドライブをインストール先として選び、「続ける」をクリックします。

- インストール先フォルダを指定:「/System/Library/Extensions」または「/Library/Extensions」のどちらかにチェックを入れます。迷った場合は「/System/Library/Extensions」を選んでおけば間違いありません。

- 「続ける」をクリック。

- 管理者パスワードを入力して「インストール」をクリック。

- インストール完了を待ち、「閉じる」をクリック。

- Macを再起動:これでインストールは完了です。

Kextを手動でインストールする方法
Big Sur以降のMacをお使いの場合は、Kextの代わりとなる仕組みを検討するのがおすすめです。Appleは「DriverKit」や「Network Extension」などの代替手段を推奨しています。
それでもBig Surより前のOSでKextを手動インストールしたい場合は、以下の手順に従ってください。ただし、この方法はやや手間がかかる上に、macOS側も推奨していない操作である点には注意しましょう。
- Kextファイルをドラッグ&ドロップ:対象のKextファイルを「/System/Library/Extensions」フォルダへ移動します。

- 「認証」をクリック。

- 管理者パスワードを入力。

- ターミナルでKextを読み込む:以下のコマンドを実行して、コピーしたKextを読み込みます。「kext.kext」は実際のファイル名に置き換えてください。
sudo kextload kext.kext

- 管理者パスワードを入力。

- Macを再起動:再起動後、Kextが正常に機能しているか確認しましょう。

よくある質問
Q1. Big Surのシステム拡張機能にはどうアクセスすればいい?
「システム環境設定」→「機能拡張」を開くと、ネイティブおよびサードパーティ製を含む、デバイスにインストール済みの拡張機能を一覧で確認できます。
Q2. システム拡張機能がブロックされた場合の対処法は?
「システム環境設定」→「セキュリティとプライバシー」→「一般」を開きます。
ウィンドウ右下に、「開発元[開発者名]のシステムソフトウェアの読み込みがブロックされました。」というメッセージとともに「許可」ボタンが表示されているはずです。
左下の鍵アイコンをクリックしてパスワードを入力し、その後「許可」ボタンを押せばブロックが解除されます。
Q3. システム拡張機能とカーネル拡張機能(Kext)は同じもの?
両者は同じ目的のために設計されていますが、動作の仕組みが少し異なります。どちらもMac上のバックグラウンド処理を円滑に行うための仕組みです。
ただし、システム拡張機能はカーネル内部では動作せず、個別のアプリのように振る舞います。そのため、万が一問題が発生しても、KextほどMac全体への影響が大きくなりません。
まとめ
Kextを直接操作する機会はそれほど多くないはずですが、Big Sur以降のデバイスなら、そもそもインストールが必要になること自体がほぼありません。
何らかの理由でKextを削除する必要が生じた場合でも、ターミナルを使えば簡単に取り除けます。また、古いMacでKextを導入したい場合は、KextBeastを活用すると作業が格段に楽になります。
macOSのメンテナンスに関しては、通常の方法では消せないファイルの削除方法など、知っておくと便利なテクニックが他にもたくさんあります。ぜひ合わせてチェックしてみてください。
-
Macからマルウェアを削除する方法|Malwarebytesと手動削除の完全ガイド
Macがマルウェアに感染しているか確認しよう削除作業を始める前に、まず自分のMacに現れている症状をメモし、この記事で解説するマルウェア(特にDownLiteトロイの木馬)の特徴的な症状と照らし合わせてください。マルウェア(悪意のあるアプリ)は、Safari・Firefox・Chromeにブラウザヘルパーオブジェクトを追加します。その際、管理者の許可は一切求められません。また、ホームページやデフォルト検索エンジンといったブラウザ設定も勝手に変更されます。さらに、普段よく訪れるウェブサイトや検索エンジン、ECサイトを開くたびに広告が表示されることもあります。DownLiteトロイの木馬の場合は、
-
macOSからDropboxを削除・アンインストールする2つの方法
MacからDropboxを削除しようとしたとき、「Dropboxの一部のプラグインが使用中のため、この項目をゴミ箱に移動できません」というエラーメッセージが表示されることがあります。多くのユーザーが、Dropbox公式サイトの手順に正しく従っているにもかかわらず、このメッセージに悩まされています。アプリケーションをゴミ箱へドラッグするたびに、何度も同じエラーが表示されてしまうのです。この問題は特定のmacOSやOS Xのバージョン限定のものではなく、どのOSバージョンでも、どのMacでも発生する可能性があります。本記事では、その解決方法を2つご紹介します。方法1:連携解除とプロセス終了を行って