Discussion:
How to enable hibernation in the Power menu - Windows 7 Home
(too old to reply)
NY
2018-03-23 19:48:30 UTC
Permalink
Raw Message
My W7 laptop came with hibernation enabled. Somehow, a long time ago, I
managed to disable it.

Now that the battery has lost its ability to store any charge, I want to
enable hibernation so I can save the state of the PC to disk (rather than to
battery-backed memory, as for "sleep"), to avoid having to start the PC from
cold every time I unplug it from the mains.

But none of the standard things seem to work.

I've tried (from an admin-mode DOS prompt) "powercfg -h on" which completes
without an error message (or any other message expect a prompt) but has no
effect, even after rebooting.

In Control Panel | Power, I select the active power plan (balanced) and
click "Change Plan Settings" and then "Change Advanced Settings". Under
"Sleep", "sleep after" and "hibernate after" are set to never for both mains
and battery, to prevent the PC sleeping *automatically* but this shouldn't
prevent me being able to trigger it manaullly from the Start | Power menu,
should it?

I gather I should set "Allow hybrid sleep" to off for battery/mains, but
this option is permanently set to on and is greyed out - this looks
ominous...

A c:\hiberfil.sys file exists on the disk, along with a pagefile.sys. Both
are identical sizes (6GB, for 6 GB RAM) and timestamps (the time the PC was
booted). Both have the system and/or hidden attribute (ie you need "dir /as"
to see them).

Is there anything else I should do to add hibernate (save RAM state to disc)
to the Start menu, which currently defaults to Sleep, with pop-up options:
Switch User, Logiff, Lock, Restart, Shutdown - but no Hibernate.

I'm logged in as an admin-mode user rather than a standard user (Control
Panel | Users).


In the registry,
HKLM/System/CurrentControlSet/Control/Power/HibernateEnabled is set to 1 -
I've seen a .reg file referred to which sets this key to enable hibernation,
so that has already been done.
Big Al
2018-03-23 20:39:19 UTC
Permalink
Raw Message
Post by NY
My W7 laptop came with hibernation enabled. Somehow, a long time ago, I
managed to disable it.
Now that the battery has lost its ability to store any charge, I want to
enable hibernation so I can save the state of the PC to disk (rather than to
battery-backed memory, as for "sleep"), to avoid having to start the PC from
cold every time I unplug it from the mains.
But none of the standard things seem to work.
I've tried (from an admin-mode DOS prompt) "powercfg -h on" which completes
without an error message (or any other message expect a prompt) but has
no effect, even after rebooting.
In Control Panel | Power, I select the active power plan (balanced) and
click "Change Plan Settings" and then "Change Advanced Settings". Under
"Sleep", "sleep after" and "hibernate after" are set to never for both mains
and battery, to prevent the PC sleeping *automatically* but this shouldn't
prevent me being able to trigger it manaullly from the Start | Power menu,
should it?
I gather I should set "Allow hybrid sleep" to off for battery/mains, but
this option is permanently set to on and is greyed out - this looks
ominous...
A c:\hiberfil.sys file exists on the disk, along with a pagefile.sys. Both
are identical sizes (6GB, for 6 GB RAM) and timestamps (the time the PC was
booted). Both have the system and/or hidden attribute (ie you need "dir /as"
to see them).
Is there anything else I should do to add hibernate (save RAM state to disc)
Switch User, Logiff, Lock, Restart, Shutdown - but no Hibernate.
I'm logged in as an admin-mode user rather than a standard user (Control
Panel | Users).
In the registry,
HKLM/System/CurrentControlSet/Control/Power/HibernateEnabled is set to 1
- I've seen a .reg file referred to which sets this key to enable
hibernation, so that has already been done.
https://support.microsoft.com/en-us/help/920730/how-to-disable-and-re-enable-hibernation-on-a-computer-that-is-running
the command they suggest is powercfg.exe /hibernate off
VanguardLH
2018-03-23 21:11:20 UTC
Permalink
Raw Message
Post by NY
My W7 laptop came with hibernation enabled. Somehow, a long time ago, I
managed to disable it.
Now that the battery has lost its ability to store any charge, I want to
enable hibernation so I can save the state of the PC to disk (rather than to
battery-backed memory, as for "sleep"), to avoid having to start the PC from
cold every time I unplug it from the mains.
But none of the standard things seem to work.
I've tried (from an admin-mode DOS prompt) "powercfg -h on" which completes
without an error message (or any other message expect a prompt) but has no
effect, even after rebooting.
In Control Panel | Power, I select the active power plan (balanced) and
click "Change Plan Settings" and then "Change Advanced Settings". Under
"Sleep", "sleep after" and "hibernate after" are set to never for both mains
and battery, to prevent the PC sleeping *automatically* but this shouldn't
prevent me being able to trigger it manaullly from the Start | Power menu,
should it?
I gather I should set "Allow hybrid sleep" to off for battery/mains, but
this option is permanently set to on and is greyed out - this looks
ominous...
A c:\hiberfil.sys file exists on the disk, along with a pagefile.sys. Both
are identical sizes (6GB, for 6 GB RAM) and timestamps (the time the PC was
booted). Both have the system and/or hidden attribute (ie you need "dir /as"
to see them).
Is there anything else I should do to add hibernate (save RAM state to disc)
Switch User, Logiff, Lock, Restart, Shutdown - but no Hibernate.
I'm logged in as an admin-mode user rather than a standard user (Control
Panel | Users).
In the registry,
HKLM/System/CurrentControlSet/Control/Power/HibernateEnabled is set to 1 -
I've seen a .reg file referred to which sets this key to enable hibernation,
so that has already been done.
Did you run powercfg in a command shell *with admin privileges*?
Sometimes there is confusion over a setting, so change away from the
wanted value and to the wanted value even when the value is already the
desired value. That is, toggle state away and back.

powercfg -h off
powercfg -h on

There can be multiple power plans. Did you modify the power button and
lid actions for the currently *selected* power plan? Are you still
logged in under the Windows account where you changed power options for
when you are testing use of hibernate?

With a main battery, the OS will crash (no memory save) on every loss of
power which includes you disconnecting the A/C adapter, the outlet going
dead (I've seen users hook to a switched outlet), or a power outage.
Copying the memory into the hiberfil.sys file takes take during which
there must be power. Closing the lid means you still have to give the
laptop enough time to copy its memory into a file before you yank the
A/C power source.

You cannot add Hibernate to the Start Menu -> Shutdown drop-down list.
You can change what action is the default for the Start menu's power
button by going into the taskbar's properties: right-click on empty
space of Windows taskbar, Properties, Start Menu tab, Power button
action, select Hibernate.

If your computer/OS setup supports hybrid mode, disable in (in Power
Options for the currently selected power plan). Hybrid mode is not full
hibernate (where power can be removed and memory later restored on power
up). Hybrid mode puts any documents and programs into the hiberfil.sys
file but NOT the system memory content. Hybrid then puts the computer
into low-power (standby) mode to preserve the memory content. Hybrid
mode, if enabled, overrides hibernate mode (because hybrid is a low-
power hibernate mode, not a no-power hibernate mode). Hybrid mode is
enabled/disabled under Power Options -> your selected power plan ->
Change plan settings -> Change advanced settings -> Sleep.

After disabling the Hybrid sleep option, the Hibernate option should
show up under Start Menu -> power button (right-side panel). It will be
a new entry in the drop-down list. Then you can elect to make it the
default action for the Start Menu's power button (described above).

Somewhere you still need to perform a shutdown. Don't rely on the
availability of the Start Menu's power button. If an application is
hung but refuses to relinquish focus or Windows get hung, the Start Menu
won't be accessible. Make sure the Power button (on the computer, not
inside of Windows) is configure in Power Options to do a shutdown. This
gives you a chance of forcing a graceful shutdown of Windows rather than
having to crash it by removing power.
VanguardLH
2018-03-23 21:22:10 UTC
Permalink
Raw Message
Post by VanguardLH
Post by NY
My W7 laptop came with hibernation enabled. Somehow, a long time ago, I
managed to disable it.
Now that the battery has lost its ability to store any charge, I want to
enable hibernation so I can save the state of the PC to disk (rather than to
battery-backed memory, as for "sleep"), to avoid having to start the PC from
cold every time I unplug it from the mains.
But none of the standard things seem to work.
I've tried (from an admin-mode DOS prompt) "powercfg -h on" which completes
without an error message (or any other message expect a prompt) but has no
effect, even after rebooting.
In Control Panel | Power, I select the active power plan (balanced) and
click "Change Plan Settings" and then "Change Advanced Settings". Under
"Sleep", "sleep after" and "hibernate after" are set to never for both mains
and battery, to prevent the PC sleeping *automatically* but this shouldn't
prevent me being able to trigger it manaullly from the Start | Power menu,
should it?
I gather I should set "Allow hybrid sleep" to off for battery/mains, but
this option is permanently set to on and is greyed out - this looks
ominous...
A c:\hiberfil.sys file exists on the disk, along with a pagefile.sys. Both
are identical sizes (6GB, for 6 GB RAM) and timestamps (the time the PC was
booted). Both have the system and/or hidden attribute (ie you need "dir /as"
to see them).
Is there anything else I should do to add hibernate (save RAM state to disc)
Switch User, Logiff, Lock, Restart, Shutdown - but no Hibernate.
I'm logged in as an admin-mode user rather than a standard user (Control
Panel | Users).
In the registry,
HKLM/System/CurrentControlSet/Control/Power/HibernateEnabled is set to 1 -
I've seen a .reg file referred to which sets this key to enable hibernation,
so that has already been done.
Did you run powercfg in a command shell *with admin privileges*?
Sometimes there is confusion over a setting, so change away from the
wanted value and to the wanted value even when the value is already the
desired value. That is, toggle state away and back.
powercfg -h off
powercfg -h on
There can be multiple power plans. Did you modify the power button and
lid actions for the currently *selected* power plan? Are you still
logged in under the Windows account where you changed power options for
when you are testing use of hibernate?
With a main battery, the OS will crash (no memory save) on every loss of
power which includes you disconnecting the A/C adapter, the outlet going
dead (I've seen users hook to a switched outlet), or a power outage.
Copying the memory into the hiberfil.sys file takes take during which
there must be power. Closing the lid means you still have to give the
laptop enough time to copy its memory into a file before you yank the
A/C power source.
You cannot add Hibernate to the Start Menu -> Shutdown drop-down list.
Oops, meant you cannot add Hibernate as an option under Start Menu ->
power button -> dropdown list *if* Hybrid mode is enabled.

Hibernate mode is memory save and then *no* power.
Hybrid mode is memory save and then *low* power mode (standby).
Hybrid overrides Hibernate.
Gotta get rid of Hybrid mode, if available and if enabled.
NY
2018-03-24 15:44:15 UTC
Permalink
Raw Message
Post by VanguardLH
Oops, meant you cannot add Hibernate as an option under Start Menu ->
power button -> dropdown list *if* Hybrid mode is enabled.
Hibernate mode is memory save and then *no* power.
Hybrid mode is memory save and then *low* power mode (standby).
Hybrid overrides Hibernate.
Gotta get rid of Hybrid mode, if available and if enabled.
Yes. I think I'd come to the same conclusion. The problem is how to disable
hybrid sleep when the dropdown control in Control Panel | Power | (power
plan) | Advanced is greyed-out. If I could do that, I get the impression
that hibernation to disk would become available in the Start | Power control
and as an action to be taken when the lid is closed.

Incidentally, I *did* run the powercfg commands (both off and on, with
reboots in between) from a "Run as admin" CMD prompt. I think I did say
that, but you may have missed it.
Paul
2018-03-24 16:17:59 UTC
Permalink
Raw Message
Post by NY
Post by VanguardLH
Oops, meant you cannot add Hibernate as an option under Start Menu ->
power button -> dropdown list *if* Hybrid mode is enabled.
Hibernate mode is memory save and then *no* power.
Hybrid mode is memory save and then *low* power mode (standby).
Hybrid overrides Hibernate.
Gotta get rid of Hybrid mode, if available and if enabled.
Yes. I think I'd come to the same conclusion. The problem is how to
disable hybrid sleep when the dropdown control in Control Panel | Power
| (power plan) | Advanced is greyed-out. If I could do that, I get the
impression that hibernation to disk would become available in the Start
| Power control and as an action to be taken when the lid is closed.
Incidentally, I *did* run the powercfg commands (both off and on, with
reboots in between) from a "Run as admin" CMD prompt. I think I did say
that, but you may have missed it.
In the Option 3 section here, there is

"Change settings that are currently unavailable"

shown in the final picture in that section of the article.

https://www.sevenforums.com/tutorials/850-power-button-start-menu.html

When you click that, the section at the bottom here has some
tick boxes, and "Sleep" is a tick box. Sleep and/or hibernate
boxes would be grayed out, if the associated ACPI stuff is damaged
or some policy is set or something. "powercfg -h off" can also
be used to gray out the Hibernate tick box, but I don't think there
is a powercfg command for sleep.

Loading Image...

Paul
VanguardLH
2018-03-24 20:11:54 UTC
Permalink
Raw Message
Post by Paul
"Change settings that are currently unavailable"
Didn't even think to mention that option. Forgot the OP said some of
the power options were disabled.
Post by Paul
ACPI stuff is damaged
Got me wondering how old is the laptop. Were any laptops manufactured
before ACPI became ubiquitous? We don't know what brand and model the
OP has so no way to tell how old it is. Even if ACPI is available in
the BIOS, perhaps the laptop was configured to use the old APM mode
instead of ACPI mode.

https://en.wikipedia.org/wiki/Advanced_Power_Management#Power_states
...
APM Suspend: Most devices are powered off, but the system state is
saved. The computer can be returned to its former state,
but takes a relatively long time.
(Hibernation is a special form of the APM Suspend state).

Hibernate was supposedly available but will Windows work with APM to get
into hibernate mode? For example:

http://www.thinkwiki.org/wiki/How_to_make_APM_work
Suspend to disk (Hibernate)
The Phoenix BIOS allows you three ways to hibernate with APM:
...
using a hibernation file on a dos type partition
...

DOS type partition. Hmm, what if Windows is running on an NTFS
partition? The hardware abstraction layer (HAL) installed when Windows
gets installed depends on which power mode the computer supports and was
configured to use in its BIOS. APM is the legacy method based on hidden
hardware (SMI/SMM) and relied on a machine-specific BIOS feature set.
Not all APM-capable computers are supported by Windows. If APM was not
enabled within Windows during its installation (and ACPI wasn't used as
a superceding specification for power management), that computer's BIOS
is known to have problems, it was on the disable list, or is not on the
auto-enable APM list. apmstat.exe tool is too old, system requirements
list only Windows 2000, and it won't work with multiple processors
(whether physically separate or multi-core).

The OP could go into Device Manager (devmgmt.msc), use the View -> Show
hidden devices menu, expand the Computer tree node, and hopefully sees
it is an ACPI HAL getting used in Windows on his laptop (and it should
be Microsoft's driver so Windows knows how to communicate with it - but
then the MS driver needs to know how to communicate with the BIOS which
is easy for ACPI but vendor BIOS-specific for APM). Under the System
Devices tree node should also be the ACPI Fixed Feature Button and ACPI
Power Button devices. I assumed the OP either got this laptop already
setup by its maker or he made sure the laptops chipset driver package
was installed. While DevMgr lets the user update the driver for a
device, I'm reluctant to suggest doing so for a computer that is fully
functional but lacks one non-critical convenience feature (hibernate).

Just because ACPI replaced APM doesn't mean BIOS vendors didn't screw up
the hardware definitions in the ACPI that Windows queries. As yet, we
have no idea of brand and model of the laptop and are trying to resolve
a problem on some generic and vague "laptop". See:

https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/acpi-driver

hiberfil.sys must be on the same boot partition as where Windows loads
(its boot partition for the kernel, rest of Windows and apps which may
or may not be the same as the system partition which is used to boot).
That is, hiberfil.sys is in the root folder of the same partition where
is the \Windows folder. While the OP mentioned C:\hiberfil.sys for its
location, what if C: wasn't the boot partition but instead, say, E: was
Windows' boot partition. We, as yet, really don't know how this laptop
was configured for booting or its partitioning.

https://technet.microsoft.com/en-us/library/2007.11.windowsconfidential.aspx

Maybe the OP needs to delete all hiberfil.sys files wherever they are
and let Windows create a new one in the correct location. If the OP
cannot get hibernate mode enabled to use it, the hiberfil.sys file is
just wasting disk space. Also might be time to run "chkdsk /r C:".

While all the troubleshooting, so far, has been to display Hibernate at
various places in the Windows GUI (Start Menu's power button or
drop-down list, action for a button, etc), perhaps the OP needs to first
check that hibernate will work. Supposedly "powercfg -h on" enabled it,
so see it the laptop can actually go into hibernate mode sans all the
GUI methods and just start a hibernate from the command line (probably
requires a command shell with admin privileges):

shutdown /h

Run "shutdown /?" to see all the options in the shutdown.exe program.

Because I switched from an HDD for the OS partition (which is both the
system and boot partition) to an SSD, I don't want to waste the limited
write cycles of the SSD on a hibernate file. The SSD makes the OS load
faster which was half the reason for using a hibernate file. If I am
done with a Windows session, I don't leave programs or documents open.
I close everything or have Shutdown do that. After all, how long will
it take to reopen the same .doc file, especially since it is in Word's
recent docs list? I can't hibernate during a compile or while video
editing as those likely won't tolerate the interruption. With 16 GB of
system memory, that's a lot of wasted space and a lot of writes on a
256GB SSD for a feature that isn't really that helpful.

Without a main battery, the OP's laptop has become a low-end desktop.
He will have to keep looking for A/C power to use with the adapter.
Likely that laptop isn't moving anywhere which means it isn't getting
"unplugged from the mains". If the laptop is still moving around, well,
the time to start Windows is only a little longer than the time to read
the hiberfil.sys file into memory -- unless the OP has a ton of startup
programs eating up his memory. So either close everything down before
shutting down Windows or just leave the laptop running. With a main
battery, why couldn't the laptop still go into sleep mode? The laptop
won't power off so its memory keeps its state.

If the laptop is indeed still being used as a portable computer, and if
hibernate isn't available (perhaps because of a BIOS limitation or
setting), then cold booting is what the OP will have to do until he gets
a new main battery. Besides, having a main battery to keep the laptop
in low-power mode isn't a long-time solution. The battery will still
drain which means eventually the laptop will still have to turn off.

Some things the OP should do or consider:
- Is the unidentified laptop using APM or ACPI?
- Tried deleting the hiberfil.sys file? Just wasted space if cannot get
hibernate to work. If hibernate is made to work, it ALWAYS recreates
the ENTIRE file, anyway.
- Does "shutdown /h" work to put the laptop into hibernate mode?
- How is the Windows boot partition formatted? FAT or NTFS?
- How much system memory is there (copied into the hiberfil.sys file)?
Is it more than 4GB?
FAT16/32 has a limit of 4GB for maximum file size. You cannot save
memory into a hiberfil.sys in a file system where the maximum file
size is less than the system memory size. ALL of system memory gets
copied into hiberfil.sys, not just the currently allocated blocks.
- Just how expensive is a new main battery for the unidentified laptop?
The whole point of a portable computer is that it is portable, not
fixed to desktop-like locations for where A/C power is available.
Loading...