Location:
State:
Carrier
Country
Status

EnableSuperfetch=0 won't stick after using Regedit


Hello.

First of all, I don't want to start a flame war or something about "why would anyone want to disable Superfetch" and such. As gamer I like to run Windows with Superfetch off. It's just a subjective matter of taste.

Anyway back on topic: Up to Win8.1 I could edit the EnableSuperfetch value in Regedit and set it up as follows:

0: Disabled
1: Apps only
2: Boot only
3: Apps and Boot (default)

Now, under Windows 10 everytime I reboot the computer the EnableSuperfetch value gets reset to 3 (default value).

Any ideas?

So far, the only way for me to stop Superfetch is to disable the Superfetch service altogether. Too bad because I have lost the prefetch ability (create .pf and layout.ini files). OTOH I haven't noticed anything performance degrading wise so far. And I have noticed a lot fewer HD accesses. HD seems more silent too. Boot time is still 40s from a SATA2 mechanical HD. Anyways MS should fix this issue or at least tell us why EnableSuperfetch=0 keeps resetting itself after each boot (when the SF service is active).

Create a batch file with the command and create a task to run it at startup or/and at regular intervals.

reg add "HKLMSYSTEMCurrentControlSetControlSession ManagerMemory ManagementPrefetchParameters" /v "EnableSuperfetch" /t REG_DWORD /d 0 /f

Thanks.

I will keep that command for future references. Meanwhile I have left Superfetch managed by Windows. Slightly annoying but it seems to work quite well under w10, even while playing games.

Tried the batchfile with the reg command and although it works at session login, Windows keep resetting the value (it actually deletes the EnableSuperfetch=0 value altogether). MOST ANNOYING. I want to disable Superfetch because I am not really interested in the preload feature, but keeping the prefetch one (I have a hybrid rig: mechanical hd + ssd). The OS is on the mechanical hd. This could be done nicely up to w8.1 Too bad Microsoft is shoving Superfetch down our throats.

Hm, I might be wrong but shouldn't that be set under "controlset001" instead of "currentcontrolset"? I disabled it there and on my system the setting survives a reboot.

"CurrentControlSet" is correct. Normally you would never make changes in any of the numbered control sets. There can be several control sets, there being another registry entry determining which one is active. Typically that will be "ControlSet001" but that will not always be the case. Making changes in an inactive control set will do nothing.

Periodically resetting the registry entry will accomplish nothing as it is only consulted at system bootup.

Sorry I do not have a solution to your problem.

I think there is no solution right now. Windows enforces Superfetch to have its default values. On the bright side, since w7/8.1 Superfetch is quite tamed compared to Vista times. On a dark side, it's too bad we cannot customize it anymore. It's either ON or OFF altogether.

Well, I have been able to make Supefetch=0 stick as a registry value (sort of). The trick is delaying the scheduled task for 1 minute. Now, everything is slightly slower but at least the hard disk is quiet now.

EnableSuperfetch=0 won't stick after using Regedit