Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>trimforce-Kommando: Wo wird der Status gespeichert?

trimforce-Kommando: Wo wird der Status gespeichert?

Weia
Weia27.03.2017:15
Hallo allerseits,

im Zusammenhang mit Konfigurationsarbeiten begann ich mich zu fragen, wo eigentlich der Status (enabled/disabled) des trimforce-Kommandos gespeichert wird (also jenes Kommandozeilen-Befehls, der TRIM bei Nicht-Apple-SSDs ein- oder ausschaltet).

Im Parameter-RAM scheint das nicht der Fall zu sein. Ich kann dort keinen Eintrag entdecken, und es wäre ja auch fatal, wenn ein in anderem Kontext vorgenommenes Zurücksetzen des Parameter-RAMs TRIM ausschalten würde und die SSDs dann möglicherweise unbemerkt ohne TRIM-Unterstützung weiterliefen.

In einer Konfigurationsdatei auf dem Boot-Volume? Konnte ich auch keine finden, und das würde ja auch bedeuten, dass z.B. bei einer Software-Wiederherstellung von der Recovery Partition TRIM ggf. gegen den Anwenderwillen ausgeschaltet bliebe, was ausgerechnet in diesem Kontext mit zahlreichen neu geschriebenen Dateien fatal wäre.

Im NVRAM der SSDs? Aber dann müsste der Befehl eigentlich pro SSD konfigurierbar sein.

Weiß jemand Genaueres?
„🦖The dinosaurs invented Jesus to test our confidence in science“
0

Kommentare

john
john27.03.2017:23
im kernel
„biete support. kostenlos, kompetent und freundlich. wähle zwei.“
0
Weia
Weia27.03.2017:26
john
im kernel
Ja wie? Meinst Du über eine Kernel-Extension (.kext)? Wird ja wohl kaum die Kernel-Datei selbst verändert werden.

Außerdem hieße das ja wohl in der Tat, dass die Einstellung beim Booten von der Recovery Partition nicht berücksichtigt wird.
„🦖The dinosaurs invented Jesus to test our confidence in science“
0
Wellenbrett27.03.2017:28
john
im kernel
Na das ist mal eine knackige Antwort! Meinst Du, das wird in die Kerneldatei geschrieben? Glaube ich eher nicht. Wenn der Kernel es dagegen einliest, sind wir wieder bei Weias Frage, wenn ich das richtig sehe...
+1
Wellenbrett27.03.2017:30
Oh, Weia ist mir zuvorgekommen...
0
john
john27.03.2017:33
Weia
john
im kernel
Ja wie? Meinst Du über eine Kernel-Extension (.kext)? Wird ja wohl kaum die Kernel-Datei selbst verändert werden.

Außerdem hieße das ja wohl in der Tat, dass die Einstellung beim Booten von der Recovery Partition nicht berücksichtigt wird.
korrekt.

dürfte die IOAHCIBlockStorage.kext sein.
„biete support. kostenlos, kompetent und freundlich. wähle zwei.“
0
mikeboss
mikeboss27.03.2017:57
seit macOS Catalina wird der parameter in der tat im NVRAM abgelegt! bedeutet, dass die einstellung bei einem reset ( P-R) wieder deaktiviert ist.

aeltere macOS ignorieren den eintrag im NVRAM. dort wird die KEXT verfummelt wenn man das kommando "trimforce enable" absetzt.

terminal:

nvram -xp ausgabe, falls TRIM aktiv

<key>EnableTRIM</key>
0
Marcel Bresink27.03.2018:20
In älteren Versionen von macOS wird die Trim-Sperre für Drittanbieter-SSDs für das laufende Betriebssystem abgeschaltet, indem der Pseudo-Treiber /System/Library/Extensions/AppleDataSetManagement.kext installiert wird.
0
Weia
Weia27.03.2018:22
john
Weia
Meinst Du über eine Kernel-Extension (.kext)?
korrekt.

dürfte die IOAHCIBlockStorage.kext sein.
Nö, jedenfalls nicht direkt, sondern indirekt über eine weitere Kerle-Externsion, die installiert (für enable) oder deinstalliert (für disable) wird.

Ich habe mir mal die Strings im trimforce-Binary angesehen und dann entsprechend gegoogelt. Hier ist die beste Antwort:
Mcr am 6. Juli 2015 auf Macupdate
There is a new Apple kext "AppleDataSetManagement.kext which is located in System/Library/Extensions which gets installed when you run the command 'sudo trimforce enable'. AppleDataSetManagement.kext injects a runtime option into IOAHCIBlockStorage.kext to enable TRIM. The new option is "Force Data Set Management = YES". No means no trim, YES, means enable TRIM.

IOAHCIBlockStorage.kext is the kext that Trim Enabler and all the other trim products traditionally PATCHED in the past, bypassing the Apple ONLY SSD check. The new injection method used by Apple requires no patching, it simply enables the new APPLE BUILT IN "Force Data Set Management = YES" option of IOAHCIBlockStorage.kext.

The reason Apple uses AppleDataSetManagement.kext to do the injection, IMO, is so they didn't have to modify IOAHCIBlockStorage directly, either for 10.10.4 or El Cap, minimizing dev and QA time. Turning it ON and OFF using a runtime injection option would not require binary changes to IOAHCIBlockStorage, which gets around Kext signing in Yosemite, and the new 'rootless' protection in El Cap.

Im trimforce-Binary von Mojave finden sich außer /System/Library/Extensions/AppleDataSetManagement.kext zusätzlich auch noch /System/Library/Filesystems/AppleDataSetManagement.kext (bitidentisch zur anderen kext, vermutlich die Quelldatei zum Kopieren) und IONVRAM-DELETE-PROPERTY, warum auch immer, wenn das NVRAM doch keine Rolle spielt.

Das heißt wohl allerdings wirklich, dass beim Booten von anderen Volumes inklusive insbesondere der Recovery Partition TRIM erst erneut eingeschaltet werden muss …
„🦖The dinosaurs invented Jesus to test our confidence in science“
0
Weia
Weia27.03.2018:23
Marcel Bresink
Du warst schneller und kürzer.
„🦖The dinosaurs invented Jesus to test our confidence in science“
0
Weia
Weia27.03.2018:25
mikeboss
seit macOS Catalina wird der parameter in der tat im NVRAM abgelegt! bedeutet, dass die einstellung bei einem reset ( P-R) wieder deaktiviert ist.
Na toll … 
„🦖The dinosaurs invented Jesus to test our confidence in science“
0
Weia
Weia27.03.2018:50
Weia
Kerle-Externsion
„🦖The dinosaurs invented Jesus to test our confidence in science“
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.