Dual-booting Debian/Windows 2000 and Daylight Saving Time

Since the shift into British Summer Time (yes, this entry is somewhat late), I'd noticed that Debian was one hour fast. In Windows 2000, the time was correct. Strange, I thought. I'd not noticed this when using Redhat 7.3. I invoked hwclock to set the time correctly.

The next time I booted Windows, it was one hour slow. Ah, this is more complicated than I thought. It seems that Debian Linux defaults to running the hardware clock at GMT (aka UTC), and makes adjustments for daylight saving time in software. Windows, on the other hand, actually adjusts the hardware clock. Since I didn't want to change the default Windows behaviour, the fix is to tell Debian that your hardware clock is running on local time; no daylight saving time adjustment is then made in software.

The place to inform Debian of a local time hardware clock is in the file /etc/default/rcS. The setting of the UTC variable should be "no":

  # Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not.

It'll be interesting to see if the time change back to GMT is handled properly in October...

Update: 2nd April, 2006

This may no longer a complete fix; see this later entry.