I decided to check on the state of Vista fixes last night by installing the latest updates from Windows Update and the latest NVidia drivers. Unfortunately, my system would still hang when waking from its second slumber. These kinds of sleep problems with Vista are widely reported on blogs and discussion forums all over the Internet, so I thought I’d post about what appears to fix the problem for me.
I don’t know what made me think to do this, and I think I’ve tried this in the past, but I disabled hybrid sleep (Control Panel, Power Options, Change plan settings, Change advanced power settings, expand Sleep, expand Allow hybrid sleep, change setting to Off, click OK). Now my PC wakes from sleep every time!
Hybrid sleep is new in Windows Vista and is a cross between the old "standby" mode and "hibernation". Standby works by powering down just about everything except the RAM, which saves the machine’s state so that it can very quickly resume where you left off when you power it up again. Hibernation saves the computer’s state to the hard drive and powers down completely. Resuming from standby is many times faster than resuming from hibernation, since loading the state back from the hard drive takes some time. Windows Vista’s hybrid sleep mode saves the state to the hard disk but then goes into standby mode, keeping the state in RAM as well. The idea here is that the state is protected in case the power is lost to the PC (which would wipe out the state in RAM), but most of the time the machine wakes up quickly by using the state stored in RAM.
I don’t know what it is about my hardware that is preventing a wake from hybrid sleep and not "plain old standby" mode. I have a UPS connected to this machine, so I’m not particularly concerned about it losing power while it’s sleeping. XP only supports standby and hibernation and that had been working without and problems, so that may be what finally made me think to disable hybrid sleep.
So now I think I’m going to give Vista another chance. At least until I run into the next show stopper…