Jump to content



Photo

Why can't I use the BIOS after a Windows hibernation?


  • Please log in to reply
22 replies to this topic

#1 moeburn

moeburn

    tracer bullet

  • Joined: 10-March 04
  • Location: Toronto, Ontario

Posted 17 September 2013 - 20:43

So I read this blog post, and apparently when you Hibernate Windows, it doesn't actually turn the computer off.  It doesn't go into S5 (fully off), it goes into S4 (so close to fully off that we will just pretend it's fully off)  It also prevents you from loading the BIOS setup options, or the boot selection dialog, when you turn on the system.  Somehow Windows is setting a flag in the BIOS that forces it to boot only from the Windows hard drive/partition.  

 

However, that blog post says you can get around this limitation by pulling the power cord/battery and pressing and holding the power button to empty the capacitors or whatever, to fully turn off the system, and apparently the hibernation is unaffected and still works just fine.  Well I hibernated my Windows 8.1 system, and then I turned the power switch on the PSU off and pulled the cord (desktop PC, not a laptop).  Sure enough the light on my motherboard was still on, and the lights on my network ethernet port were still blinking.  For a solid 5 minutes.  Those must be some damn efficient capacitors in my system to be able to power my motherboard and NIC for 5 minutes without any power source, unless they're using the CMOS battery.  I gave up waiting on the residual power to empty, and I pressed the power button.  The fans spun for a split second like the computer was going to try and turn on, and then gave up.  I held the power button for another good 30 seconds.  Confident that I had now emptied all residual power and totally turned the computer off, I then plugged the power cord back in and turned it on.  I was still not able to access the BIOS!  The BIOS post messages appeared, but the "Press DEL to enter setup" message was missing, pressing 'del' did nothing, and the POST went by much faster than usual, skipping the USB device tests and checks, and the Windows 8 hibernation restored just fine.

 

So what if I want to be able to hibernate my Windows system, then boot onto my Linux partition to work on something or check something, and then reboot and restore the Windows hibernation?  Windows has decided that is impossible!  I can do it the other way around, because Linux does not have this limitation.  If I hibernate my Linux OS, and reboot, I am able to access the BIOS, boot to Windows, reboot, and then restore the Linux hibernation.  But Windows is somehow editing my BIOS!  Wtf?!




#2 pookie62

pookie62

    Neowinian

  • Tech Issues Solved: 1
  • Joined: 15-October 09
  • Location: Dallas, Texas

Posted 17 September 2013 - 20:56

As I understand, Windows is not editing your BIOS.  It's taking advantage of a feature that allows faster restoration from a seemingly off configuration.  The configuration is stored in the volatile storage space (CMOS configuration) and held there by the motherboard CMOS battery.  You could check your BIOS settings to see if you can change the S4 state off (disable) and then Windows go old school.  

 

Regarding the LAN lights, etc. after you pull the plug... you didn't disconnect the power supply from the motherboard, and the PS is the one supplying power to the motherboard in this state.  And yes, the PS does have large power capacitors.  In my case, my computer will usually stay on (without the benefit of a UPS) when the light flicker.  Nice power supply! :)



#3 jren207

jren207

    Neowinian

  • Tech Issues Solved: 1
  • Joined: 06-February 04
  • Location: Lincolnshire, UK
  • OS: Windows 7
  • Phone: Samsung Galaxy Nexus

Posted 17 September 2013 - 20:58

Maybe Windows doesn't want you to modify any settings in the BIOS which could potentially cause any problems for it when it resumes from hibernation again.

 

I noticed it's always done this on my Asus board that has AMI BIOS. I assumed it was the "ATK0110 ACPI UTILITY" that I install (to be able to allow my computer to hibernate when I re-install windows), that could possibly allow Windows to interact with the BIOS? (or perhaps it just simply handles ACPI states, I don't know?).

 

I do understand your frustration that you should be allowed to at least select another boot device, however, it might as well allow access to the BIOS again, as what if you wanted to modify a BIOS setting before booting into Linux?

 

I've personally never had the time to research this as I've never been in the situation of hibernating then switching to another OS.

 

As for draining the power, try switching the switch on the back of the PSU off (if you have one), or pulling the cord, then plugging in a USB device such as a desk fan or similar?



#4 x-byte

x-byte

    Neowinian

  • Joined: 19-April 02

Posted 17 September 2013 - 21:15

Linux only have sleep state as far as I know. Hibernation is very different. With sleep the device is just powered down with limited power usage and is still on. RAM still have power to preserve data. With hibernation the RAM is stored on the disk (hiberfile.sys) and the PC is turned off.

 

Changing BIOS settings while a the machine is in hibernation would make the system unstable and potentially crash.

 

edit: there is also hybrid sleep, which is the two combined. Here is an article on it: http://www.howtogeek...ate-in-windows/



#5 OP moeburn

moeburn

    tracer bullet

  • Joined: 10-March 04
  • Location: Toronto, Ontario

Posted 17 September 2013 - 21:39

Linux only have sleep state as far as I know. Hibernation is very different. With sleep the device is just powered down with limited power usage and is still on. RAM still have power to preserve data. With hibernation the RAM is stored on the disk (hiberfile.sys) and the PC is turned off.

 

Changing BIOS settings while a the machine is in hibernation would make the system unstable and potentially crash.

 

edit: there is also hybrid sleep, which is the two combined. Here is an article on it: http://www.howtogeek...ate-in-windows/

I know exactly what sleep/suspend, hibernation, and hybrid sleep are.  I am running Lubuntu.  It has hibernation.  I don't know if it names the file hiberfil.sys, but it definitely saves the RAM to a file on the HDD so that it can power off the computer, instead of using a small amount of power like sleep mode.  

 

https://help.ubuntu....ement/Hibernate

 

Windows, unlike Linux, uses a small amount of power in hibernation mode as well.  Not as big as sleep mode, but the only OS that completely turns off the computer and uses 0 watts after hibernating is Linux (or possibly Mac, but I don't go near that stuff).



#6 OP moeburn

moeburn

    tracer bullet

  • Joined: 10-March 04
  • Location: Toronto, Ontario

Posted 17 September 2013 - 21:41

Doing further reading, it appears that there are two types of hibernation, only one of which actually turns off the computer:

 

 

There are two modes of 'kernel' hibernation: platform and shutdown. If one does not work, you can try the other:

sudo -s
echo platform > /sys/power/disk
echo disk > /sys/power/state

Or:

sudo -s
echo shutdown > /sys/power/disk
echo disk > /sys/power/state

Platform is the default and recommended mode of hibernation. Unfortunately, the "platform" mode of hibernation does not work on some systems with broken BIOSes. In such cases the "shutdown" mode of hibernation might work.

 

I think because I'm using Lubuntu, not Ubuntu (for which the quoted article was written), Lubuntu is defaulting to the 'shutdown' hibernation mode, which is why I can still access the BIOS afterwards.

 

Apparently most newer BIOSes check for some kind of flag, ACPI probably, that the OS sets to tell the BIOS that the system has been hibernated, not shut down.  But Linux has the ability to hibernate on even older BIOSes that have never heard of hibernation, and do not check for the flag.



#7 ZeroSeven

ZeroSeven

    NeoDevil

  • Joined: 23-July 02

Posted 18 September 2013 - 07:12

Almost all ACPI compliant systems are capable of at least three states of power management: 1. Full shutdown. 2. Hybrid sleep (name for this varies from OS to OS) and 3. Normal sleep. Any modern OS, be it Linux, Windows or OSX are capable of all three and will usually default to either 2 or 3 when the sleep command is issued. Hybrid sleep is the default for the Hibernate command in Windows for example, which will save the contents of RAM to disk and power down the machine while keeping certain components (such as RAM) powered. In this state when the machine is powered on by the user, the system is restored from RAM and thus appears where you left off instantaneously. If the machine loses power while in the hybrid state, then the machine will boot normally and the OS will restore from the saved state on the hard disk. This is the case on all three major operating systems I mentioned above.

 

In the case of Linux and older versions of Windows, hibernation was possible on almost any hardware even if it didnt fully support the latest power management modes. In this case the OS would save the contents of RAM to disk and power off the system completely. When the machine was powered on it would restore from the hard drive where it left off.

 

In the OP's case it sounds like the PSU's capacitors are able to keep supplying the system with enough power to keep components like RAM, ethernet etc powered for a short time even after the power has been physically cut off, thus the machine doesnt leave the hyrbid sleep and state and explains why it skips the normal BIOS POST when he powers on. If you were to disconnect the power until the capacitors completely discharge, the machine would POST as normal and you would be able to enter cmos setup as you normally would. When you booted the OS, it would restore from the hibernate file on the hard drive as opposed to RAM as it usually would. In hybrid sleep the hard drive is more of a fail safe boot method in the event power is lost completely.

 

I hope this clears up some questions. I could of gone into the way OSX manages power too but thats a little OT for this forum me thinks :)



#8 HawkMan

HawkMan

    Neowinian Senior

  • Tech Issues Solved: 4
  • Joined: 31-August 04
  • Location: Norway
  • Phone: Noka Lumia 1020

Posted 18 September 2013 - 07:55

Whatever OS you run the motherboard and LAN lights will be on as long as the PSU is hooked up. It's for wake on LAN among other things.

#9 OP moeburn

moeburn

    tracer bullet

  • Joined: 10-March 04
  • Location: Toronto, Ontario

Posted 18 September 2013 - 16:07

Almost all ACPI compliant systems are capable of at least three states of power management: 1. Full shutdown. 2. Hybrid sleep (name for this varies from OS to OS) and 3. Normal sleep. Any modern OS, be it Linux, Windows or OSX are capable of all three and will usually default to either 2 or 3 when the sleep command is issued. Hybrid sleep is the default for the Hibernate command in Windows for example, which will save the contents of RAM to disk and power down the machine while keeping certain components (such as RAM) powered. In this state when the machine is powered on by the user, the system is restored from RAM and thus appears where you left off instantaneously. If the machine loses power while in the hybrid state, then the machine will boot normally and the OS will restore from the saved state on the hard disk. This is the case on all three major operating systems I mentioned above.

 

In the case of Linux and older versions of Windows, hibernation was possible on almost any hardware even if it didnt fully support the latest power management modes. In this case the OS would save the contents of RAM to disk and power off the system completely. When the machine was powered on it would restore from the hard drive where it left off.

 

In the OP's case it sounds like the PSU's capacitors are able to keep supplying the system with enough power to keep components like RAM, ethernet etc powered for a short time even after the power has been physically cut off, thus the machine doesnt leave the hyrbid sleep and state and explains why it skips the normal BIOS POST when he powers on. If you were to disconnect the power until the capacitors completely discharge, the machine would POST as normal and you would be able to enter cmos setup as you normally would. When you booted the OS, it would restore from the hibernate file on the hard drive as opposed to RAM as it usually would. In hybrid sleep the hard drive is more of a fail safe boot method in the event power is lost completely.

 

I hope this clears up some questions. I could of gone into the way OSX manages power too but thats a little OT for this forum me thinks :)

 

Okay, you're wrong about a few things.  There are five sleep states, not three.  And I am not using hybrid sleep!  That's the second time I've said that.  Windows is not saving the RAM to disk while at the same time asking the PSU to keep the RAM powered for a quicker resume, because I have "Use hybrid sleep" set to disabled!  It has nothing to do with "older versions of windows", this is the way hibernation is set to behave by default on ALL laptops running ANY version of windows.  "Hybrid sleep" mode is only the default on DESKTOP windows PCs.

 

"If you were to disconnect the power until the capacitors completely discharge, the machine would POST as normal and you would be able to enter CMOS setup" - no, I said already, I tried that, that's what the guy in the article that I linked said should happen.  It does not happen.  I disconnected the power and shut off the PSU and pulled the PSU plugs from the mobo and pressed and held the power button for 30 seconds (which is really the only thing you need to do to discharge capacitors, press and hold the power button).  Then I waited for a good 5 minutes.  Then I plugged everything back in and booted up, and I was still unable to use the BIOS/CMOS.  

 

It has nothing to do with the fact that the system is powered, or in hybrid sleep (it isn't).  It's because of a flag that Windows is setting somewhere, and my BIOS is configured to look for that flag every time it runs.

 

I preemptively apologize, I'm probably being a dick.  I just find it really frustrating when I have to say the same thing 3 times before people finally start reading my posts :p



#10 HawkMan

HawkMan

    Neowinian Senior

  • Tech Issues Solved: 4
  • Joined: 31-August 04
  • Location: Norway
  • Phone: Noka Lumia 1020

Posted 18 September 2013 - 16:55

On ALL windows laptops/PCs you say.

That's funny since I have entered the bios on windows 7 multiple times and sometimes 8 computers after they go to hibernation. So that's not entirely true.

#11 OP moeburn

moeburn

    tracer bullet

  • Joined: 10-March 04
  • Location: Toronto, Ontario

Posted 18 September 2013 - 17:37

On ALL windows laptops/PCs you say.

That's funny since I have entered the bios on windows 7 multiple times and sometimes 8 computers after they go to hibernation. So that's not entirely true.

 

Huh?  I said that hybrid boot was enabled by default for all laptops, and disabled by default for all desktop PCs.  

 

If you are able to enter the BIOS after hibernating windows, you are the first person I have found.  I have found at least a dozen threads on various message boards from people saying that they cannot enter the BIOS after hibernating Windows, and I have tried on all my PCs in my house.



#12 +LogicalApex

LogicalApex

    Software Engineer

  • Tech Issues Solved: 8
  • Joined: 14-August 02
  • Location: Philadelphia, PA
  • OS: Windows 7 Ultimate x64
  • Phone: Nexus 5

Posted 18 September 2013 - 17:48

It sounds a lot like you're getting hit with Intel's Rapid Start feature. This usually requires an SSD in the system, but it will basically suspend the PC to the SSD and boot the OS back ignoring the BIOS and speeding things up a bit.

 

If this is the case, this is done on a chipset/BIOS level and is OS agnostic or it is supported both by Windows and Linux. I have this on my T530 and it does it in Linux or Windows and it doesn't matter if the OS is installed or not; it has happened on LiveCD Linux Distros.



#13 HawkMan

HawkMan

    Neowinian Senior

  • Tech Issues Solved: 4
  • Joined: 31-August 04
  • Location: Norway
  • Phone: Noka Lumia 1020

Posted 18 September 2013 - 18:40

Huh?  I said that hybrid boot was enabled by default for all laptops, and disabled by default for all desktop PCs.  
 
If you are able to enter the BIOS after hibernating windows, you are the first person I have found.  I have found at least a dozen threads on various message boards from people saying that they cannot enter the BIOS after hibernating Windows, and I have tried on all my PCs in my house.


I enter bios while in hibernate quite a few times on client pc's that hibernate over night and I need to get into bios or change not settings to allow D2D recovery or allow boot menus to boot into USB sticks.

More annoyingly is that a lot of the new bios'/uefi settings don't have the option to boot into USB sticks. Oh sure they have a setting for "boot from removable media" which anyone knows hasn't worked since USB stick and such where invented they always show up as USB HDD's

#14 Richard C.

Richard C.

    Neowinian Senior

  • Joined: 15-April 05
  • Location: Around
  • OS: Windows 8.1 Pro & Mac OSX
  • Phone: iPhone 5

Posted 18 September 2013 - 20:13

Huh?  I said that hybrid boot was enabled by default for all laptops, and disabled by default for all desktop PCs.  

 

If you are able to enter the BIOS after hibernating windows, you are the first person I have found.  I have found at least a dozen threads on various message boards from people saying that they cannot enter the BIOS after hibernating Windows, and I have tried on all my PCs in my house.

 

Where did you hear that, I have a desktop and I have hybrid boot, I can also enter my bios after hibernating quite happily. Hybrid boot is a feature of Windows 8 and has nothing to do with the type of computer you have, or any bios settings you have made. 



#15 OP moeburn

moeburn

    tracer bullet

  • Joined: 10-March 04
  • Location: Toronto, Ontario

Posted 18 September 2013 - 20:55

It sounds a lot like you're getting hit with Intel's Rapid Start feature. This usually requires an SSD in the system, but it will basically suspend the PC to the SSD and boot the OS back ignoring the BIOS and speeding things up a bit.

 

If this is the case, this is done on a chipset/BIOS level and is OS agnostic or it is supported both by Windows and Linux. I have this on my T530 and it does it in Linux or Windows and it doesn't matter if the OS is installed or not; it has happened on LiveCD Linux Distros.

 

I have an SSD, a Crucial M4.  I think what you are talking about is Windows Rapid Boot, which hibernates the kernel, but not the user space, like a full hibernation?  No, that is not what is happening here.  This has nothing to do with Rapid Boot.  I'm talking about a full on hibernation, that saves the user space too, sets a flag that prevents most BIOSes from letting you enter the BIOS setup or boot selection menu.  This happens on people's older computers, too.

 

Where did you hear that, I have a desktop and I have hybrid boot, I can also enter my bios after hibernating quite happily. Hybrid boot is a feature of Windows 8 and has nothing to do with the type of computer you have, or any bios settings you have made. 

 

Both a desktop PC and a laptop can have hybrid boot sleep (my bad) turned on.  I was talking about the default settings.  I, nor anyone other than two of you in this particular thread, cannot enter the BIOS after hibernating, but no one mentioned anything about hybrid sleep.  I have hybrid sleep turned on as well, and I cannot enter the BIOS after hibernating.  Either way, hybrid sleep (where the system just sleeps like normal, but also saves a hiberfil.sys hibernation file just in case there is a power failure) has nothing to do with this, because we are not clicking 'sleep' in the power off menu, we are clicking 'hibernate'.  Hibernate does not use hybrid sleep.

 

Could you folks who are saying that this is not the case for you, could you try again right now on a Windows 7 or 8 computer (the only OS'es I have seen mentioned with this issue); Shut down via windows hibernate, wait until the computer is totally off, then wait a few seconds more, and then turn it back on, and try to enter the BIOS settings.  Most BIOSes will not let you, because apparently they are coded to look for a hibernation flag, and prevent you from editing BIOS settings that would fark up the hibernation.  It sounds like you are running on very old BIOSes.  If you are absolutely certain, then could you find out how old the BIOS is that you are running?





Click here to login or here to register to remove this ad, it's free!