Mac-Tipp: veraltete Systemerweiterungen (Kernel-Extensions) finden und entfernen

Die Informationsseite von macOS gibt eher oberflächliche Dinge zum Besten.

Seit macOS Catalina 10.15.4 weist das Betriebssystem direkt nach dem Hochfahren in einzelnen Warnmeldungen auf veraltete Systemerweiterungen hin, die in Zukunft nicht mehr unterstützt werden. Der genaue Wortlaut der Meldung ist dieser:

Ältere Systemerweiterung – Software auf deinem System hat eine Systemerweiterung mit Signatur von “Name-des-Entwicklers” geladen, die mit zukünftigen Versionen von macOS nicht kompatibel sein wird. Wende dich für Unterstützung an den Entwickler.

Die ersten paar Male habe ich die Hinweise ignoriert, aber langsam nerven sie und ich wollte mich mal ans Werk machen, um die Systemerweiterungen bzw. Kernel-Erweiterungen zu entfernen, die ab macOS 10.16 nicht mehr kompatibel sein werden.

Hinweis-Fenster am Mac: Ältere Systemerweiterung ist nicht mit zukünftigen Versionen von macOS kompatibel.
Hinweis-Fenster am Mac: Ältere Systemerweiterung ist nicht mit zukünftigen Versionen von macOS kompatibel.

Hinweis von macOS wenig hilfreich

Das Erste, was mir auffällt: der Hinweis vom System, in dem auf die veralteten Systemerweiterungen hingewiesen wird, ist fast komplett für die Füße. Es wird zwar der Name des Entwicklers genannt, aber das Programm, zu dem die Erweiterung gehört, findet man in dem Fenster nicht.

Ebenso gibt es keine Anzeige des Pfads, wo die Systemerweiterung zu finden ist. So bleibt also nur, sich mit den vagen Informationen selbst auf die Suche zu machen.

Auch die von Apple verlinkte Webseite zum Thema "veraltete Systemerweiterungen" bringt einen nicht wirklich weiter.
Auch die von Apple verlinkte Webseite zum Thema “veraltete Systemerweiterungen” bringt einen nicht wirklich weiter.

Tools wie CleanMyMac X finden die Erweiterungen nicht

Mein erster Hoffnungsschimmer für die Suche war das Tool CleanMyMac X, mit dem ich in der Regel auch Startobjekte und Ähnliches ausmiste. Leider zeigt es die Erweiterungen, die macOS ankreidet, in keiner der Listen an, durch die ich mich geklickt habe.

Damit ist leider ein einfacher Weg über ein Klickibunti-Programm scheinbar ausgeschlossen und man muss sich andere Wege suchen, um hier fündig zu werden.

Update 05.01.2020: MacUpdater in Pro-Version findet .kext-Dateien

Ein Leser hat mich eben darauf hingewiesen, dass die Software “MacUpdater” in der neuen, gekauften Version 2 auch nach veralteter Software im System suchen kann und damit auch Kernel-Extensions findet. Ich habe mir direkt die Software geklickt und tatsächlich zeigt sie mir vier kext-Dateien an, die ein Update brauchen. Man muss nur vorher in den Optionen unter “Scannen” die Einstellung “Alle Softwaretypen” wählen. Dies geht mit der Demo-Version nicht.

MacUpdater 2 findet nun auch Kernel Extensions, die nicht mehr uptodate sind – aber nur in der Kauf-Version der Software.
MacUpdater 2 findet nun auch Kernel Extensions, die nicht mehr uptodate sind – aber nur in der Kauf-Version der Software.

Suche der Kernel-Extensions über Terminal-Befehl

Nach der Suche in einigen Foren bin ich auf einen Terminal Befehl gestoßen, mit dem man sich die Kernel-Extensions anzeigen lassen kann, die NICHT von Apple sind. Dazu öffnet man das Dienstprogramm “Terminal” und gibt folgenden Befehl ein:

mdfind 'kMDItemKind == "Kernel-Erweiterung"'

Update: Ein Leser schrieb mir eben, dass dieser Befehl beim ihm nichts ausgeworfen hat. Er konnte aber mit der Eingabe von dieser Zeile eine Liste mit Drittanbieter KEXTs erzeugen:

kextstat | grep -v com.apple

Daraufhin spuckt der Mac eine Liste mit Erweiterungen aus, die man sich näher anschauen sollte. Praktisch bei dieser Liste ist, dass man direkt sehen kann, in welchen Ordnern sich die Dateien befinden.

Die Liste der gefundenen Kernel Extensions auf meinem Mac zeigt auch den Treffer von MalwareBytes, den macOS Catalina beim Booten in der Warnung aufgeführt hat.
Die Liste der gefundenen Kernel Extensions auf meinem Mac zeigt auch den Treffer von MalwareBytes, den macOS Catalina beim Booten in der Warnung aufgeführt hat.

In welchen Ordner befinden sich Systemerweiterungen und Kernel-Extensions?

Um eine Liste der Ordner zu machen, an denen sich die KEXTs (Abkürzung für Kernel-Extensions) befinden, habe ich einfach mal in meinen Ergebnissen geschaut, wo diese so liegen. Hier sind die “üblichen Verdächtigen”, die ich bei mir ausfindig machen konnte:

  • /Library/StagedExtensions/Library/Extensions/
  • /Library/StagedExtensions/System/Library/Extensions/
  • /Library/Application Support/
  • /System/Library/Extensions/
  • /Library/Extensions/

Was sind “StagedExtensions”?

In den Ordner “StagedExtensions” schiebt macOS alle Kernel-Erweiterungen, die Programme von Drittanbietern installieren wollten, was jedoch vom System aus Sicherheitsgründen unterbunden wurde. In der Regel erscheint nach der Installation von solchen Erweiterungen in den Systemeinstellungen > Sicherheit > Allgemein für kurze Zeit ein Hinweis, über den man die Genehmigung für die Installation erteilen kann. Dazu muss man noch das Admin-Passwort eingeben und die Kernel-Extension kommt in den Ordner “Extensions”, in dem sie dann auch ausgeführt werden.

Wenn ihr gerade nichts vermisst, könnt ihr den Ordner “StagedExtensions” in der Regel mit folgendem Terminal-Kommando leeren:

sudo kextcache --clear-staging

Wichtig: Backup vor dem Löschen der Extensions

Bevor man nun fleißig alle möglichen Dateien in den Papierkorb befördert, sollte man sich mit Carbon Copy Cloner, Smart Backup oder SuperDuper ein 1:1 Backup machen, mit dem man auch wieder starten kann. Bei Arbeiten in Systemordnern kann man unter Umständen viel kaputt machen, sodass man im schlimmsten Fall den Mac nicht einmal mehr von dem Volume booten kann.

Beachten sollte man auch, dass einige Hersteller Extensions mit mehreren Programmen nutzen. Wer also von Adobe CC oder Microsoft Office nur bestimmte Teile verwendet, benötigt in der Regel dennoch alle Systemerweiterungen, die die Programme installieren. Entfernt man diese trotzdem, funktioniert die Software manchmal nicht mehr richtig.

Solltet ihr noch Fragen zu den Systemerweiterungen haben, könnt ihr diese gerne als Kommentar hier hinterlassen.

 

Hat dir der Artikel gefallen und helfen dir die Anleitungen im Blog? Dann würde ich mich freuen, wenn du das Blog über eine Steady-Mitgliedschaft unterstützen würdest.

34 Kommentare zu „Mac-Tipp: veraltete Systemerweiterungen (Kernel-Extensions) finden und entfernen“

  1. Bei mir hat der Befehl nichts gefunden. Ich konnte mit “kextstat | grep -v com.apple” die Kernel Erweiterungen, die nicht von Apple sind finden

  2. Ich bekomme nach Aufruf des Befehls “kextstat | grep -v com.apple” die folgenden Infos:

    Index Refs Address Size Wired Name (Version) UUID
    149 0 0xffffff7f81047000 0x1d000 0x1d000 com.kaspersky.kext.klif (3.4.0a25) 60A1E118-2531-354D-BD36-2FA6ADC11C07
    150 0 0xffffff7f80edf000 0x5b000 0x5b000 com.kaspersky.nke (2.3.0a7) 245493BB-B11C-3C84-9051-A2E51E4D01C0

    Ich gehe davon aus, dass diese der Grund für die Meldung “veraltete Systemerweiterungen (Kernel-Extensions)” sind. Weiß jemand von Euch, wie man das bereinigen kann?

    1. Hallo Marcel! Ja, das könnten alte Programmteile von Kaspersky sein. Also entweder mal mit dem Kaspersky Deinstaller probieren oder eben mit der Anleitung, zu der du gerade den Kommentar geschrieben hast. :D

  3. Mit dem Konsolenbefehl bekomme ich folgende Antwort, aber leider finde ich die Dateien absolut nicht… Hilfe wäre toll!!

    Index Refs Address Size Wired Name (Version) UUID

    174 0 0xffffff7f84705000 0x13000 0x13000 com.kaspersky.kext.kimul (46) A8797394- 1582-3199-B848-57168A700E56

    175 0 0xffffff7f84718000 0x1e000 0x1e000 com.kaspersky.kext.klif (3.6.12a2) 6BA1AFA7-F84D-3C69-9E56-0C3E21139D2E

    176 0 0xffffff7f84736000 0x5b000 0x5b000 com.kaspersky.nke (2.4.0a6) 45D3BCC3-2FB1-37A1-8148-801CBB1D353B

  4. Was heisst das denn? Sind das Extensions zum löschen? Und er fragt nach Passwort? Ich habe keines…………Danke herzlichst. Meinen Namen habe ich gelöscht…….
    The default interactive shell is now zsh.
    To update your account to use zsh, please run `chsh -s /bin/zsh`.
    For more details, please visit https://support.apple.com/kb/HT208050.

    /Library/StagedExtensions/Library/Extensions/ATTOExpressSASRAID2.kext
    /Library/StagedExtensions/Library/Extensions/ATTOCelerityFC8.kext
    /Library/StagedExtensions/Library/Extensions/HighPointRR.kext
    /Library/StagedExtensions/Library/Extensions/CalDigitHDProDrv.kext
    /Library/StagedExtensions/Library/Extensions/HighPointIOP.kext
    /Library/StagedExtensions/Library/Extensions/ATTOExpressSASHBA2.kext
    –clear-staging
    Password:
    ???

    1. Hallo Caroline! Ja, diese Extensions können alle weg. Du kannst sie im Terminal mit diesem Befehl löschen: sudo kextcache –clear-staging
      Dass er nach dem Passwort fragt, ist normal. Schließlich darf nicht jeder im Systemordner rumwerkeln. :D

  5. Hallo.
    Leider kann ich nicht ersehen, wo ich Ihren Befehl eingeben muss.

    Bitte einmal für Laien: wenn der Mac eingeschaltet ist, was dann ?

    Vielen Dank

    1. Hallo Michael! Ah, ok… ich probiere es mal: Mac ist eingeschaltet, dann gehst du in den Ordner Programme > Dienstprogramme und öffnest darin das Programm “Terminal”. In diesem gibst du dann den Befehl ein. LG, Jens

  6. Hallo zusammen!
    Ich hatte vor einiger Zeit schon einmal das Programm MacUpdater empfohlen.
    Es gibt nun eine neue Version 2.0 , die nicht nur veraltete Apps sondern jetzt auch veraltete Plugins, Screensaver, Kernelextension, usw. findet und automatisch/manuell updaten kann.
    Man kann die App auch so konfigurieren, dass der Speicherort der veralteten .kext mit einem Doppelklick im System angezeigt wird, falls man das wünscht.
    Vielleicht kann das hier ja dem ein oder anderen helfen.
    Die Suche “über die Apps” hinaus ist der Pro-Version vorbehalten … ich kann das Programm jedoch guten Gewissens empfehlen.

    1. Ah, das ist ein guter Tipp! Ich werde es mal im Beitrag oben einbauen und auch mal ausprobieren. Klingt aber auf jeden Fall nach einer hilfreichen Funktion.

  7. …. habe noch eine Ergänzung. Habe versuchsweise beide Terminalbefehle ausprobiert.
    Der erste gibt mir 8 Kernelerweiterungen aus. Der zweite gibt mir zwar die 8 .kext nicht aus, dafür aber eine weitere.
    Habe danach die Version 2.0 von MU gestartet und sie hat mir eine veraltetet Drucker-USB-kext angezeigt. Durch Doppelklick wurde mir der Ordner angezeigt, indem sich noch weitere diverse .kext befinden … hier finde ich jedoch die 8 + 1 + weitere 7 !! .kext
    – seltsam.

    1. Hallo Dirk! Ja, verstehen tue ich auch nicht ganz, warum hier verschiedene Angaben erfolgen. Wahrscheinlich liegt die Wahrheit irgendwo dazwischen… :D

  8. Danke habe es versucht mit Deinen Befehlen. Danach bekomme ich diese riesen Liste von Systemerweiterungen und habe immer noch Abstürze. Was kann ich da tun?
    Executing: /usr/bin/kmutil clear-staging
    clearing all staged extensions…
    dweib@Ds-iMac-2 ~ % mdfind ‘kMDItemKind == “Kernel-Erweiterung”‘
    /Library/Extensions/EPSONUSBPrintClass.kext
    /Library/Extensions/EyeTVVoyagerAudioBlock.kext
    /Library/Extensions/EyeTVCinergyXSAudioBlock.kext
    /Library/Extensions/EyeTVEmpiaAudioBlock.kext
    /Library/Extensions/HighPointIOP.kext
    /Library/Extensions/SoftRAID.kext
    /Library/Extensions/EyeTVAfaTechHidBlock.kext
    /Library/Extensions/EyeTVCinergy450AudioBlock.kext
    /Library/Extensions/HighPointRR.kext
    […]
    /System/Library/Extensions/AGXFirmwareKextG11GRTBuddy.kext
    /System/Library/Extensions/AGXFirmwareKextG13GRTBuddy.kext
    /System/Library/Extensions/AGXFirmwareKextRTBuddy64.kext
    /System/Library/Extensions/AFKACIPCKext.kext

  9. Dominik Wettstein

    NAchtrag inbesondere die Eye TV erweiterungen brauche ich nicht mehr, wie werde ich sie los?
    /EyeTVCinergyXSAudioBlock.kext /Library/Extensions/EyeTVEmpiaAudioBlock.kext /Library/Extensions/HighPointIOP.kext /Library/Extensions/SoftRAID.kext /Library/Extensions/EyeTVAfaTechHidBlock.kext /Library/Extensions/EyeTVCinergy450AudioBlock.kext /Library/Extensions/HighPointRR.kext
    /EyeTVAfaTechHidBlock.kext /Library/Extensions/EyeTVCinergy450AudioBlock.kext /Library/Extensions/HighPointRR.kext

    1. Hallo Dominik! Die Kernel Extensions findest du im “Library/Extensions/”-Ordner. Du kannst den Ordner aufrufen und dann die Dateien in den Papierkorb werfen. Hier eine Anleitung, wie du in den Ordner Library kommst.

      Dann habe ich noch folgende Anleitung gefunden:
      1. Erweiterungen aus /Library/Extensions entfernen
      2. Booten im Recovery Modus (CMD + R beim Neustart halten)
      3. Terminal aufrufen
      4. Diesen Befehl eingeben: kmutil invoke-panic-medic
      5. Mac neustarten
      6. dem Hinweis folgen und die Systemeinstellungen öffnen und in “Sicherheit & Privatsphäre” wechseln
      7. dem Hinweis folgen und neu starten

      Ich habe diese Anleitung nicht ausprobiert, aber vielleicht kommst du damit weiter.

  10. Ich habe aus dem Internet ein Programm runtergeladen um meinen Mac Bildschirm mit dem Ipad zu teilen. Habe leider trotz mehrere Warnung die Sicherheitswarnungen ignoriert und Zugriffsrechte erlaubt. Habe das Programm gelöscht doch bei der Suche blieb ”YamDisplayDriver.kext” . Und ich konnte dies auch nicht löschen. Habe den Befehl ”sudo kextcache –clear-staging” eingegeben und hoffe das dadurch Alles von diesem Datei(wahrscheinlich Virus oder Spionage Programm) gelöscht wurde. Kann mir das jemand bestätigen?

    1. Hallo Ali! Es wäre sicher hilfreich, wenn du sagen könntest, wie das Programm hieß, das du geladen hast. Wenn es – der Kernel Extension nach zu urteilen – um Yam Display geht, scheint es keine Spionage-App zu sein. Es kann sein, dass das Programm unter Big Sur sowieso nicht mehr läuft, da Apple keine Kernel Extensions mehr von Drittanbietern zulassen möchte.

    1. Hallo Rene! In der Regel löscht man Dateien im Terminal mit rm /pfad-zur-datei/dateiname.kext
      Aber ich habe keinen Schimmer, ob das eine Kernelextension auch tatsächlich rauswirft. Versuch macht kluch, sage ich immer. :D

      1. Leider hat dieser Befehl nicht gefruchtet. Das System meldet

        rm: /Library/StagedExtensions/Library/Extensions/SamsungPortableSSDDriver.kext: is a directory

        Die Date bleibt bestehen

        1. Hallo Rene! Verzeichnisse löscht man mit
          rm -r /Library/StagedExtensions/Library/Extensions/SamsungPortableSSDDriver.kext/
          Vielleicht klappt das?

          1. Das war die Systemantwort:

            override rw-r–r– root/wheel restricted for /Library/StagedExtensions/Library/Extensions/SamsungPortableSSDDriver.kext//Contents/_CodeSignature/CodeResources?

            Leider immer noch nicht erfolgreich. Scheint (für mich zu) schwierig zu sein. Auch mit einem Script von Samsung hat es nicht geklappt.

  11. Warum macht Apple es so schwer, sein Betriebssystem zu aktualisieren? Ich bin kein Programmierer und es sollte nicht so schwer sein! Ich weiß, dass etwas schief gehen wird, wenn ich diese Anweisungen ausprobiere. Tut mir leid, dass ich mich hier Luft mache und danke für die Tipps. Leider werde ich wohl bei OS 10.14.6 bleiben.

  12. Hallo,
    Ich wollte noch hinzufügen, dass die Extensions auch unter  → Über diesen Mac → Systembericht → Software → Erweiterungen aufgelistet werden können. Über die Spalte ganz rechts können die Ergebnisse anschliessend nach Entwickler sortiert werden. Zu beachten ist, dass das Auflisten aller Erweiterungen in manchen Fällen einige Minuten in Anspruch nehmen kann. Solange unten rechts im Fenster eine Ladeanimation angezeigt wird sollte man einfach kurz warten.
    Durch das Anklicken eines Menüitems werden unter Anderem der Dateipfad und der Entwickler (!) angezeigt. Somit kann man die Extensions identifizieren, die die MacOS-Benachrichtigungen verursachen und nur gezielt solche Extensions vom Gerät löschen, indem man den Dateipfad kopiert, den Finder öffnet, den Dateipfad im Menü, das man durch die Kombination ⇧+⌘+G öffnet, einfügt, und anschliessend mit Enter bestätigt. Die Extension wird anschliessend im Finder revealt wo man diese in den Papierkorb schieben kann. In einigen Fällen kann es dazu kommen, dass Extensions nur mit einem Admin-Passwort oder gar nicht (nur bei Extensions von Apple) löschen kann.
    Ich hoffe, mit diesem Kommentar jemanden geholfen zu haben. Falls du ihn in deinen Beitrag einfügen solltest würde ich mich über einen kleinen Credit (“Dylan W.” genügt) freuen.

    Ich übernehme keinerlei Haftung beim Verlust von Daten oder dem Beschädigen vom MacOS-System bei der Durchführung meiner vorgeschlagenen Schritte. Um sicher zu sein sollte zuerst ein Backup erstellt und keine Extensions von Apple gelöscht werden.

    1. PS: Im Detailmenü, welches sich öffnet, wenn man auf ein Menüitem in den Systeminformationen klickt, befindet sich der Punkt «Abhängigkeiten». Dort sieht man, ob die Extension noch kompatibel ist (Wenn «Erfüllt» steht wird sie noch unterstützt, ansonsten steht «Nicht mehr unterstützt»).

  13. Vielen Dank, hat mir geholfen.

    Bei mir nervte beim Booten die “Ältere Systemerweiterung … von Parallels”. Meine Suche per kextload hatte nichts ergeben, es zeigte sich aber, dass diese wirklich ältere Erweiterung gar nicht geladen war sondern in einem der “Staged-Ordner” rumgammelte, wohl von einer früheren Version.
    Was mir die Suche (mit dem unverzichtbaren “Find Any File”) schwierig machte, war die Tatsache, dass die Parallels-Erweiterungen nicht “parallels_irgendwas.kext” heißen sondern “prl_irgendwas.kext”.

    Ein beherztes Aufräumen mit dem angegebenen “–clear-staging” hat mich vom dem lästigen Dialog befreit :)

    1. Hallo Robert! Ja, das gute, alte Find Any File. Das hat auch einen Blogbeitrag verdient! Muss ich die Tage mal machen. 😊 Schön, dass das Nervdings bei dir jetzt weg ist.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Im Sir Apfelot Blog findest du Ratgeber, Anleitungen und Testberichte zu Apple Produkten wie iPhone, iPad, Apple Watch, AirPods, iMac, Mac Pro, Mac Mini und Mac Studio.

Specials