A Cure for Daylight Savings Time Amnesiacs
In the 1993 movie Groundhog Day, Bill Murray plays the role of Phil Connors, a man who goes to sleep every night and keeps waking up on Groundhog Day, as if a capricious Creator keeps turning the hands of time back to the same spot each morning. The story plot revolved around Phil’s frustrated attempts to return to normal time and a normal life.
Windows XP Embedded Devices using EWF-RAM to protect the system volume can experience a similar amnesia problem during Daylight Savings Time (DST) transitions. Each time a device that is so configured reboots, the system forgets (by design) all state changes to the system volume. This unfortunately includes registry changes that indicate whether DST has already occurred. Meanwhile, the BIOS CMOS memory on the motherboard faithfully remembers the time and date.
When Windows XPE boots up and discovers that the date has switched into official DST, it automatically adds an hour to the time of day and then sets a registry entry so it can remember that it has “fallen forward”. Unfortunately that registry entry information is lost upon subsequent boot when EWF or FBWF are used. The next time the device reboots, it will increment the time of day another hour, because the (registry-based) knowledge about having previously switched into DST is lost. As a result, there will be a creeping forward of time. Note that if the system image was created with DST turned on, the time of day will decrement backward an hour at a time, after switching out of DST (into winter).
The EXE file on the MSDN site is a care package that offers two possible workarounds to this problem. Please read the contained README.TXT for details. NOTE: This workaround has not been successfully tested for use with FBWF.
This code sample is subject to the terms of the Microsoft Limited Permissive License (Ms – LPL). If you do not agree to these terms, do not use the code.
- Mark