Blog‎ > ‎

Windows 8.1 real power saving using hibernate option

posted Sep 20, 2014, 11:13 PM by Sami Lehtinen   [ updated Sep 20, 2014, 11:14 PM ]
Many claim that hibernate isn't required. But it is. In some specific use cases hibernate would be preferable because of the use environment and software. Software is very slow to start as well as requires complex login procedures. Environment requires extended battery life and there is no possibility to charge the devices. In this case hibernate is just what's required afaik. Application state is saved and there's really near zero power consumption.

Microsoft Windows [Version 6.3.9600]
 
C:\Users\Winblows>powercfg /?
 
POWERCFG /COMMAND [ARGUMENTS]
 
Description:
  Enables users to control power settings on a local system.
 
  For detailed command and option information, run "POWERCFG /? <COMMAND>"
 
Command List:
  /HIBERNATE, /H     Enables and disables the hibernate feature.
 
  /AVAILABLESLEEPSTATES, /A
                     Reports the sleep states available on the system.
 
C:\Users\Winblows>powercfg /A
The following sleep states are available on this system:
    Standby (Connected)
    Hibernate
    Fast Startup
 
The following sleep states are not available on this system:
    Standby (S1)
        The system firmware does not support this standby state.
        This standby state is disabled when connected standby is supported.
 
    Standby (S2)
        The system firmware does not support this standby state.
        This standby state is disabled when connected standby is supported.
 
    Standby (S3)
        The system firmware does not support this standby state.
        This standby state is disabled when connected standby is supported.
 
    Hybrid Sleep
        Standby (S3) is not available.
 
C:\Users\Winblows>powercfg /h
Invalid Parameters -- try "/?" for help
 
C:\Users\Winblows>

 

Why, why sleep isn't possible, even if following sleep states are available. What I'm doing wrong? I've read about 50 instructions and guides from net, about this problem. And all those are unfortunately really bad ones and do not actually work out. Even manufacturer said that yes, it should be able to sleep, but alas, it doesn't work anyway. 
 
Now, who's the real guru, and knows how to hibernate a Windows system?
 
Wonderful play goes on. Now the tablet is in safe mode, and doesn't allow logging in. Yes, USB keyboard wasn't required after all for entering the safe-mode. After all also the the on screen keyboard does work in safe-mode. But logging in using the Windops PIN login doesn't work, even if the option is available. This is ridiculous. Usability is unfortunately extremely bad with tablets with Windows 8.1.
 
It turns out that safe-mode does offer and technically allow PIN login, but it doesn't work, so you can't login using it after all. Lol. With password, it works and that's ok. After that it's possible to use on screen keyboard which is extremely painful but does technically work. Using it I was able to run msconfig and also issue powercfg.exe /h on command. Let's see if it helps at all.
 
I'll also try disabling fast boot, if it already uses hibernate partially for kernel stuff and so on.  This doesn't affect the process in anyway, leave fastboot on, it's ok.
 
After all this testing and tuning, it did seem that best option is to create idle timer task, which triggers shutdown.exe /h when system has been unused for certain time period. So it can first sleep for a while like 15 minutes, and if nothing happens, then hibernate on demand.
 
Using schtasks, from command line is nice, but it doesn't offer enough parameters and flexibility in this case. So it won't let you configure required parameters for this kind of task. Creating tasks was easy but not trivial using New-ScheduledTask and powershell scripting (ps1).  Uuhh.

Now I finally have configured large batch of tables to hibernate, when un-used. This is really important thing, because without hibernation, battery does run out ridiculously fast.

kw: sleep, Microsoft, Windows 8.1, hibernate, powercfg, power saving, scripting, tablet, tablets, battery life, drain, drains, draining, time, short, minimal, maximal, save, extended, extended.