Ich mache regelmäßig Backups von allen meinen Geräten, auch meinem Arbeitslaptop - ein MacBook. Irgendwann ging Time Machine auf 2 externen Festplatten zeitgleich kaputt und ich habe keine Abhilfe gefunden. Ich konnte keine Backups mehr machen. Zum Glück habe ich die Backups nicht gebraucht. Frustriert auf Apple war ich, aber zu Unrecht.
Die Ursache war die firmenweite Sicherheitssoftware ESET.
Weil ich nicht mehr auf Time Machine setzen wollte, habe ich mich für die Open Source-Lösung restic entschieden. Ich nutze restic schon lange auf Windows und Linux. Als ich eine meiner Backupfestplatten an den Mac angeschlossen habe, kam diese Meldung:
Could not mount “Ventoy”.
(com.apple.DiskManagement.disenter error 49.153.)
Es stellt sich heraus: das ist das Device Control-Feature des Produkts ESET Endpoint Security. Wäre schön, wenn die Meldung das sagen würde....und es ist sehr wahrscheinlich auch die Erklärung, warum Time Machine nicht mehr funktioniert hat - mit ähnlich seltsamen Fehlermeldungen.
Die Lösung ist, eine Regel einzurichten, die meine Festplatten erlaubt. Dazu ESET öffnen, über ⌘, in die Einstellungen gehen » Device Control » Rules. Ganz unten links ist ein +. Unter Manufacturer gibt es ein Populate, sodass die Regel nur für Hersteller, Modell und Seriennummer gilt. In meinem Fall habe ich eine Regel für jede erlaubte externe Festplatte angelegt. Sobald die Regeln aktiv sind, kann ich Device Control wieder aktivieren und trotzdem meine Backups auf externe Festplatten sichern. Vor fremden USB-Geräten bleibe ich so geschützt.
Technische Schritte zur Erkennung des Problems
Diagnose: exFAT-Volume lässt sich unter macOS 27.0.1 nicht mounten
Ausgangslage: externe 4-TB-USB-Festplatte von TOSHIBA. Der Mount bricht mit com.apple.DiskManagement.disenter error 49.153 ab; dezimal 49153 ist 0xC001.
-
Partitionslayout ansehen
diskutil list externaldisk4mit GUID-Partitionstabelle, zwei Partitionen vom Typ „Microsoft Basic Data“:disk4s1(„Ventoy“, 4,0 TB) unddisk4s2(„VTOYEFI“, 33,6 MB). Das ist das typische Ventoy-Layout. Ich nutze Ventoy, falls ich mal einen Rechnen von einem .ISO-Image starten möchte - aber das hat mit dem Problem nichts zu tun. -
Details zur Partition
diskutil info disk4s1File System Personality ExFAT, nicht gemountet, Protokoll USB, Gerät „External USB 3.0“, Volume-UUID
0B47E02F-864F-3918-8D77-E825351878F6. Die zugleich abgefragten Logs vonfsck_exfatunddiskarbitrationdwaren leer. -
Mount erneut versuchen, Dateisystem prüfen, ohne zu schreiben
diskutil mount disk4s1 fsck_exfat -n /dev/rdisk4s1Mount schlägt fehl („try the readOnly option“).
fsck_exfat -nprüft über das Raw-Device und schreibt nichts: Boot-Regionen, Systemdateien, Upcase-Tabelle, Verzeichnisbaum und Bitmap sind in Ordnung („The volume Ventoy appears to be OK“). Ein beschädigtes Dateisystem als Ursache ist damit unwahrscheinlich. -
Read-only-Mount
diskutil mount readOnly disk4s1Schlägt ebenfalls fehl. Im per grep gefilterten Log fand sich nichts dazu.
-
Manueller Mount am DiskArbitration vorbei
mount -t exfat -o rdonly /dev/disk4s1 <mountpoint>mount_exfatversucht überkmutildie alteexfat.kextzu laden. Ergebnis:Authenticating extension failed: Bad code signature,exfat filesystem is not available, Exit-Code 71. Das ist eine falsche Fährte: macOS 27 mountet exFAT über FSKit, nicht über die Kext. -
Systemkontext erfassen
sw_vers systemextensionsctl list pluginkit -m -p com.apple.fskit.fsmodulemacOS 27.0.1 (26A434). Als Endpoint-Security-Extension ist
com.eset.endpointaktiv, außerdem mehrere Network Extensions (ESET, Little Snitch, Proton VPN). An FSKit-Modulen sindcom.apple.fskit.exfat,.msdosund.ftpinstalliert. -
Mount auslösen und gleichzeitig die Logs lesen
diskutil mount disk4s1 /usr/bin/log show --last 1m --style compact \ --predicate 'process == "fskitd" OR process == "diskarbitrationd" OR process CONTAINS "exfat" OR process CONTAINS[c] "eset" OR process == "diskmanagementd"'Die entscheidenden Zeilen:
fskitd ReallyMountVolume: Enter for provider com.apple.filesystems.UserFS.FileProvider fskitd -[mountEntry mount:options:auditToken:]: will mount over LIFSv2 fskitd mount(2) error: 1 fskitd mount launch failed with result "Operation not permitted"[1] diskarbitrationd mount call of <private> returned (status code 0x00000001).Der Syscall
mount(2)liefertEPERM. Das FSKit-Modul liest das Volume also problemlos, aber eine Policy auf Kernel-Ebene verweigert den Mount. Das passt zu einem Endpoint-Security-Client, derES_EVENT_TYPE_AUTH_MOUNTablehnt. -
MDM ausschließen, ESET-Installation finden
profiles status -type enrollment ls /Library/Application\ Support/ESET*Weder DEP noch MDM-Enrollment, also keine Restriktion per Konfigurationsprofil. Verzeichnisse von ESET sind vorhanden. Im Log tauchte ESET namentlich nicht auf. Ich wünschte ESET wäre hinterher, sich als Ursache auffindbarer zu machen. 🤯
-
ESET-Komponenten näher ansehen
find "/Library/Application Support/ESET" -iname "*device*" ls /Applications | grep -i esetGefunden:
.../ESET/Security/log/devicecontrol.dat. Installiert sind ESET Endpoint Security, ESET Management Agent und ESET Remote Administrator Agent. -
Zeitstempel abgleichen
ls -la "/Library/Application Support/ESET/Security/log/" datedevicecontrol.dathat die mtime 11:44, die Systemzeit war 11:44:38. Die Datei wurde also genau beim Mount-Versuch aus Schritt 8 geschrieben. Ihr Inhalt war nicht lesbar: Sie gehörteset-ecsm-logd, Rechtedrwx------. Der Beleg ist also nur zeitlich, aber zusammen mit demEPERMeindeutig. -
Mount nach dem Deaktivieren
diskutil mount disk4s1Volume Ventoy on disk4s1 mounted.
Fazit
| Hypothese | Prüfung | Ergebnis |
|---|---|---|
| Dateisystem beschädigt | fsck_exfat -n |
widerlegt |
| exFAT-Treiber fehlt oder ist defekt | Kext-Fehler, FSKit-Modul vorhanden | falsche Fährte |
| MDM-Restriktion | profiles status |
widerlegt |
| Endpoint Security verweigert den Mount | EPERM aus mount(2), mtime von devicecontrol.dat |
bestätigt |
Tipp: Wenn mount(2) unter macOS EPERM liefert, zuerst mit systemextensionsctl list nachsehen, ob ein Endpoint-Security-Client läuft.