Warum Windows Server keine Prefetch-Dateien hat
Wenn Sie einen Prefetch\-Ordner aus einer Windows-Server-Installation
gezogen haben und leer ausgegangen sind, hat sich das System
wahrscheinlich genau wie vorgesehen verhalten. Prefetch ist ein
Workstation-Feature. Microsoft deaktiviert es auf Server-SKUs
standardmäßig, weil die Workload-Annahmen — langlaufende Dienste statt
kurzlebiger, interaktiver Anwendungen — es performance-seitig
kontraproduktiv machen.
Der Registry-Schalter
Das Prefetch-Verhalten wird von einem Schlüssel gesteuert:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
Zwei Werte sind relevant:
EnablePrefetcher(DWORD) —0(deaktiviert),1(nur Application-Launch-Prefetch),2(nur Boot-Prefetch),3(beides, Workstation-Standard).EnableSuperfetch(DWORD) — gleiche Wertsemantik, steuert SuperFetch / SysMain, also das übergeordnete Memory-Management-Feature, das auf modernen Windows-Versionen die Prefetch-Logik beherbergt.
Auf Windows Server stehen beide Werte standardmäßig auf 0. Auf den
Workstation-Editionen Windows 10/11 stehen beide standardmäßig auf
3.
Der SysMain-Dienst
Der Dienst, der Prefetch-Dateien schreibt, heißt SysMain (in
früheren Versionen hieß er „Superfetch"). Ist SysMain gestoppt oder
deaktiviert, werden auch dann keine Prefetch-Dateien mehr erzeugt, wenn
die Registry auf 3 steht. Eine Zwei-Schritt-Prüfung auf einem
laufenden System:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters"
sc query SysMain
Sowohl EnablePrefetcher = 3 als auch ein laufender
SysMain-Dienst sind erforderlich, damit neue Prefetch-Dateien in
C:\Windows\Prefetch\ erscheinen.
Forensische Konsequenzen
Ein leerer Prefetch\-Ordner ist für sich genommen kein Negativbefund.
Bevor Sie auf „keine Prefetch-Beweise" schließen, prüfen Sie:
- OS-Edition: Server-Editionen weisen selbst nach monatelanger Laufzeit faktisch keine Prefetch-Dateien auf.
- Die Registry-Werte: Bestätigen Sie
EnablePrefetcherundEnableSuperfetchzum Zeitpunkt der Sicherung. Beide auf0bedeutet, dass das System so konfiguriert war, Prefetch zu unterdrücken. - SysMain-Status: War der Dienst gestoppt oder deaktiviert, ist das oft im System-Eventlog sichtbar. Suchen Sie nach Ereignissen des Service Control Managers rund um den Zeitpunkt, zu dem Sie die Prefetch-Generierung erwartet hätten.
- SSD vs. HDD: Einige Windows-10-Builds deaktivieren Prefetch auf reinen SSD-Systemen automatisch aus I/O-Gründen. In aktuellen Versionen ist das selten, aber man sollte es wissen.
Reaktivieren für die Sicherung
Wenn Sie das System kontrollieren und Prefetch für laufende Sichtbarkeit einschalten möchten:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters" /v EnablePrefetcher /t REG_DWORD /d 3 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters" /v EnableSuperfetch /t REG_DWORD /d 3 /f
sc config SysMain start= auto
net start SysMain
Beachten Sie: Das Aktivieren von Prefetch füllt nicht rückwirkend
historische Ausführungsdaten nach. Ab dem Moment, in dem SysMain wieder
schreibt, spiegeln neue .pf-Dateien ausschließlich neue Programmstarts
wider. Für Belege vergangener Ausführungen auf einem System, auf dem
Prefetch deaktiviert war, müssen Sie auf
Amcache, ShimCache und Eventlogs
zurückgreifen.
Per Richtlinie deaktiviert
In manchen Umgebungen wird Prefetch per Gruppenrichtlinie oder durch
Endpoint-Hardening-Baselines (CIS, STIG, Hersteller-Profile)
unterdrückt. Die Registry-Werte spiegeln dann die Richtlinieneinstellung
wider; ein Blick auf das lokale Gruppenrichtlinienergebnis
(gpresult /h) verrät, ob der Wert durch ein GPO erzwungen oder lokal
gesetzt wurde.