Does Windows 8.1 know it's running on an SSD?
2014-07
Yesterday I installed Windows 8.1 (clean install - no migration) on a new SSD (Samsung 840 EVO). I then ran winsat formal
to let Windows optimize itself, as suggested here: Windows 8.1 SSD Settings, but I don't see the expected results in the registry:
- From the article: ".. once Windows 8.1 discovers it is installed on a SSD it removes the EnableSuperfetch value entirely". My
EnableSuperfetch
value is still there underHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
- From the article: "ReadyBoot is also disabled by running winsat formal.". Under
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\ReadyBoot
, myStart
value is still 1.
So now I have two questions:
- Didn't Windows detect that it runs on an SSD?
- Does it matter for the lifetime/reliability of the SSD?
Oh man.. All it took was two reboots with some idle time in-between, and all settings were updated correctly. The need for reboots was even clearly described in the linked article.
This has happened to me twice now. Windows 8.1 decides to suspend all my processes all of a sudden. Now I know that it does that to Metro apps that are in background. But my regular desktop apps (including Explorer) might be exempted from that, I guess (especially when I'm currently using them).
I could get it to run again more or less by starting Task Manager via Ctrl+Alt+Del, then killing Explorer and starting Process Explorer from there which enabled me to resume all processes again. But I still wonder how this happens in the first place. Specifically I'd like to ask whether that's in any way expected behaviour and what I could do to prevent it from occurring in the future.
My system is virus-free, just in case anyone asks. Yesterday I just tried to run msbuild
; after hitting ↲ above issue happened. A while ago I don't remember what I tried to do when it manifested, but I didn't think far enough to solve the problem with procexp
and ended up restarting the machine.
EDIT: Okay, it seems like starting msbuild triggers this behaviour. No idea why, though.
EDIT2: Apparently only when running it from Far Manager (actually, it's a batch file for me, which calls the vsvars32
batch and runs msbuild
afterwards. It runs fine from cmd
or PowerShell.
EDIT3: Updating Far Manager to its latest version changed nothing. However, running msbuild
directly (not through the batch file) worked even from Far.
For completeness:
- Far Manager
My
PATH
includes the directoryD:\Users\Joey\Batches
which contains a batch filemsbuild.cmd
with the following contents:@echo off call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\vsvars32.bat" msbuild %*
Then, running
msbuild
from within Far seems to produce this problem. At least for me, reliably.
It was a problem with clink. It has been fixed by now, but only in source, not in a release.