There are a dozen ways to disable Superfetch/SysMain floating around the internet, and half of them are wrong — setting it to Manual instead of Disabled, editing the wrong registry key, or using sketchy “optimizer” tools that change twenty things at once. Done wrong, the service comes back after the next update and you’re troubleshooting the same 100% disk problem again. Done right, it’s a two-minute job that stays done.
This is the right way: the correct service setting, the registry lock that survives updates, proper verification, and the re-check routine. For the diagnostic background, see troubleshooting Superfetch and SysMain high disk .
Why this happens
- Service set to Manual instead of Disabled: Windows restarts it on demand — the most common “it came back” cause.
- Feature updates reset services: Major Windows updates restore SysMain to its default Automatic state.
- Wrong registry key edited: Guides pointing at obsolete keys leave the real setting untouched.
- “Optimizer” tools reverting changes: Tune-up utilities often re-enable services they consider “should be on.”
- Confusion between Superfetch and SysMain: Disabling one name on a system that uses the other leaves the real service running.
- Prefetch folder left intact: Stale cache data can cause issues if the service ever restarts.
- Never verified after reboot: The disable is only real if it survives a restart — many skip this check.
How to fix it
Work through these in order — diagnose first, then act.
Fix 1: Identify the correct service name
Know what you’re disabling.
- Press Win+R, type
services.msc, press Enter. - Look for SysMain — that’s the name on Windows 10 (1809+) and all of Windows 11. Its description mentions Superfetch.
- On older Windows 10 builds you may see Superfetch directly — same service, old name.
- Note the current Status (Running?) and Startup Type (Automatic?) — this is your “before” state.
- There’s only one of these — if you see both names, you’re on a transitional build; disable SysMain.
Fix 2: Disable via Services — the correct settings
The core procedure, done right.
- Double-click SysMain in the Services console.
- Click Stop and wait for the service to halt — the Status column should clear.
- Set Startup type to Disabled — not Manual, not Automatic (Delayed Start). Disabled.
- Click Apply, then OK.
- Do not close the console yet — you’ll verify in Fix 4 after a restart.
Fix 3: Lock it in the registry
The step that makes it survive updates.
- Press Win+R, type
regedit, and navigate to:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters - Find or create EnableSuperfetch (DWORD 32-bit) and set its value to
0. - Find or create EnablePrefetcher (DWORD 32-bit) and set it to
0as well. - Back up first: right-click the PrefetchParameters key > Export, save the .reg file somewhere safe.
- These values are what the Services console manipulates — setting them directly ensures the intent is recorded at the lowest level.
Fix 4: Verify after a full restart
Prove it worked — this step is non-optional.
- Restart the laptop (full restart, not shutdown-with-fast-startup — or hold Shift while clicking Shut down).
- After boot, open an elevated Command Prompt and run
sc query SysMain— expect STATE: STOPPED. - Open Task Manager > Processes, sort by Disk — confirm no Service Host: SysMain entry during the post-boot period.
- Watch Performance > Disk for 10 minutes — Active time should spike briefly, not camp at 100%.
- If the service is running again, something reverted it — check for optimizer tools or group policies (Fix 6).
Fix 5: Clean up the leftovers
Remove what the disabled service leaves behind.
- Open
C:\Windows\Prefetch(Win+R, accept the admin prompt) and delete its contents — stale patterns serve no purpose now. - Run Disk Cleanup (
cleanmgr.exe) > Clean up system files for the temp-file categories. - Check Task Scheduler > Microsoft > Windows > Application Experience — the prefetch-related tasks are harmless when the service is disabled, but you can disable them for tidiness.
- Empty the Recycle Bin and restart once more for a clean final state.
- Re-run the Fix 4 verification — belt and suspenders.
Fix 6: Handle Group Policy and optimizer interference
When something keeps turning it back on.
- Check for tune-up utilities (CCleaner, “optimizers,” manufacturer tools) with “service optimization” features — disable those features or the tools.
- On Pro editions, check
gpedit.msc> Computer Configuration > Windows Settings > Scripts — logon scripts can start services. - In enterprise or school laptops, Group Policy may enforce the service — check with your IT admin rather than fighting policy.
- After each Windows feature update, re-verify with Fix 4’s steps — updates are the most common legitimate resetter.
- Keep a note of this article’s Fix 2–3 steps somewhere — reapplying them after a feature update takes 60 seconds. Microsoft documents service management on Windows support .
Fix 7: Decide whether to ever re-enable
The honest assessment of the tradeoff.
- On SSDs: leave it disabled permanently — there’s no meaningful benefit to re-enabling, ever.
- On HDDs: try two weeks disabled and note app launch times for your most-used programs — if you genuinely feel a slowdown, re-enable and set the registry to app-preloading-only.
- To re-enable: Services > SysMain > Automatic, Start the service, registry values back to
3. - If disk usage returns to 100% after re-enabling, the answer is clear — the tradeoff isn’t worth it on your hardware.
- For the bigger picture of disk performance, our 100% disk guide and slow laptop guide cover the other levers.
Closing
Disabling Superfetch/SysMain the right way is a small procedure with outsized importance: Disabled (not Manual), registry locked, verified after restart, and re-checked after feature updates. It’s two minutes of precision that ends the 100%-disk problem instead of postponing it. Do it once, do it right, verify it stuck.
