Friday, April 13, 2007

XPe tip #18: Hibernation doesn't work

Things that can prevent hibernation from working on your runtime:

- Some driver conflicts or failures. The best way to fix these is to check the Device Manager to see if any exclamation marks there. Command version of the Device Manager - devcon - can also be used here. However, I personally prefer FBALog.txt and setupapi.log log files that are created under the %SystemRoot% and %SystemRoot%\FBA folders respectively.

- None or a wrong display and GART drivers installed. The same tip here - check the setupapi.log log and FBALog.txt files to see why the display driver, if was included and/or componentized for the platform, failed to install.
Note: Standard VGA driver, that takes place when you don't have native hardware driver installed, doesn't support hibernation.

- Some driver states are set to disallow the system going into standby mode. Easiest way to check this is to open a driver properties in Device Manager.

- Not enough disk space for hibernation file. Basically check here if the hiberfil.sys file is getting created on your target system partition.

- Hibernation is not enabled or you are using wrong HAL component. (Check either in TD or with Power CPL at runtime). In TD the hibernation can be enabled on the HAL (PC) component settings page - "Enable hibernattion support" checkbox under "Power Management Settings" section.

- Sometimes the "Disk Dump Drivers" component required. (The diskdump driver takes its part instead of scsiport driver when a RAM dump function is requested. It is just limited version in functionality though.)
Although from my earlier thinking the driver was required for the hibernation to work but in the newsgroup it was reported it is not. So, perhaps, it is only needed for the crash memory dumps to work. It doesn't hurt to add this very small driver component, though.

No comments: