0

I have my laptop's "Critical battery action" set to "Hibernate" when running on the battery. The Low and Critical battery levels are default (10% and 5% respectively). The "Low battery action" is "Do nothing".

My battery was running low and I was trying to work right up until the point of hibernation. However, the computer simply shut down rather than hibernating. It was very sudden (no shut down message).

How can I ensure that the laptop hibernates instead of shutting down?

What I tried:

  • I found this SuperUser post, but I know that Hibernation is enabled as I do it manually.

  • The laptop is an HP EliteBook 840 G6 with 12GB RAM and 475GB SDD, of which 238GB is free. I suspect that this is enough disk space for hibernation.

  • The only BIOS information I could find about power management do not include the actions when Critical batter level is reached (image below)

enter image description here

  • I tried a full charge from dead to 100%, full depletion to dead, and a full charge to 100%, but the laptop still shuts down when the charge runs out instead of hibernating

  • I charged it up to 100% again and boosted the Critical battery level from 5% to 10%. The charge indicator is supposed to be properly calibrated after so many full chargings and discharges. Together with the additional 5% headroom, I expected this to leave enough margin to hibernate when the charge runs out. It did not. The laptop still shuts down instead of hibernating when the charge runs out.

  • I charged it up to 100% again and set Critical battery level to 20% to see if the additional margin allows for hibernation. Since Low battery level had to be higher than Critical, I had to set the former to 25%. The discharging battery blew past the Critical level of 20%, reaching 16% at the time of updating this bullet.

Essentially, I can manually hibernate and I can set the Critical battery action to hibernate, but the latter is simply ignored when the charge indicator reaches the Critical battery level.

9
  • 1
    Note that the battery level measuring is often not very accurate, especially when the battery gets older - so after 12% might come 0%… no chance for windows to act at 10% or wherever. Check into ‘recalibrating battery’ to get that corrected.
    – Aganju
    Commented Dec 28, 2021 at 19:11
  • @Aganju: Thanks, I'll look into it. Commented Dec 28, 2021 at 20:07
  • 1
    You can also try to set it to 40% or so for a test; if that works fine, you'll know the problem is not in Windows, but in the battery.
    – Aganju
    Commented Dec 28, 2021 at 20:08
  • 2
    @user2153235, " Hibernation should occur at 5%." That is far too low a level for safety. 1. Batteries deteriorate rapidly when fully discharged; you're shortening its lifetime in order to get a few more minutes of use. 2. At 5%, there might not be enough energy in the battery to save the machine state to disk. Commented Dec 28, 2021 at 20:23
  • 1
    Perhaps the manufacturer uses that 5% level so that they can claim a longer run time on battery -- and so that, incidentally, they'll also sell more replacement batteries? Commented Dec 28, 2021 at 20:36

1 Answer 1

1

The original question-asker has solved the problem for h{er,is} HP laptop, but others might actually have use for the info from the initial answer, so I preserve a (slightly edited) version as a block quote.

There is a finite number of things that could have happened.

  1. The laptop might be shutting down in firmware, you probably have a BIOS setting for that one
  2. You might be running of what Windows thinks is a sufficient space to write to hiberfile.sys
  3. The laptop might be dying from battery power starvation mid-hibernation, and that might be the cause for the interruption message
  4. The underlying BIOS handles the ACPI calls incorrectly or does not [currently] accept the hibernation that OS tries to engage.

The solution for the first problem is to poke at the BIOS and lower the corresponding option. The second one has a rather obvious treatment, to diagnose the third one just and try to lift the hibernate threshold to, like, 15% and see how it goes. You might also want to try and disable all power actions and see how it discharges. The fourth problem could be diagnosed by putting the computer to hibernation manually - if it shutdowns or just errors out, you have to additionally configure stuff.

On HP devices for the OS to be able to properly control hibernations, you have to tick the Power Control option in the BIOS.

6
  • Thanks, Savchenko Dmitriy. I looked into the BIOS and didn't find anything about Critical battery action (image added to the question above). The SDD should have plenty of space for hibernation (details added to question). I am recalibrating the battery, and will see if this makes the problem go away. If not, I'll try a higher percentage Critical battery level. Commented Dec 28, 2021 at 20:21
  • 1
    @user2153235 Thanks for the screenshot! Now try and enable Power Control if it wasn't enabled. This one probably exposes additional ACPI calls. And the power manager thingy is looking suspicious, maybe set that one to extend battery life too and see how it operates... Commented Dec 28, 2021 at 20:33
  • I'm hesitant to change things without knowing what it does, and I'm especially hesitant to change things in the BIOS. I'll try the tests you've suggested to date before doing anything specialized. Thanks. Commented Dec 28, 2021 at 21:21
  • I ran out of options, so I enabled the "Power Control" checkbox in the BIOS's "Advanced" menu (as shown in my posted question). That allowed the hibernation to be performed at the Critical battery level. Would you be able to include this in your answer? Commented Jan 4, 2022 at 17:08
  • @user2153235 Why of course I would! Glad you were able to solve this one! Commented Jan 5, 2022 at 6:06

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .