5

I am having a problem where the time randomly jumps to 4 hours in the past. As a result, none of the scheduled tasks (such as backups) happen at the correct time, and some time-critical applications we are using (such as an accounting system) do not work.

For example, if the actual time is 4 PM EST, the system clock will read 12 PM. If you reset the system clock forward again to the correct time, it will randomly jump back 4 hours again.

  • OS: Windows Server 2008 R2 Standard SP1
  • This server is not on a VM and not joined to a domain.
  • Our time zone is EST.
  • Windows is set to EST time zone.
  • BIOS clock is in UTC.
  • For reference, EST is -4 hours from UTC.
  • For debugging purposes, I have disabled Windows Time Service and any other service I can think of that will change the system time.

I have checked the event viewer, and see some "Kernel-General" events related to time changes. Here's an example:

<?xml version="1.0" encoding="UTF-8"?>
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-Kernel-General" Guid="{A68CA8B7-004F-D7B6-A698-07E2DE0F1F5D}" />
    <EventID>1</EventID>
    <Version>0</Version>
    <Level>4</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8000000000000010</Keywords>
    <TimeCreated SystemTime="2014-05-09T17:04:34.500000000Z" />
    <EventRecordID>39254</EventRecordID>
    <Correlation />
    <Execution ProcessID="4" ThreadID="68" />
    <Channel>System</Channel>
    <Computer>SERVER</Computer>
    <Security UserID="S-1-5-18" />
  </System>
  <EventData>
    <Data Name="NewTime">2014-05-09T17:04:34.500000000Z</Data>
    <Data Name="OldTime">2014-05-09T21:05:19.806811800Z</Data>
  </EventData>
</Event>

This event was generated at around 5 PM. After this event, the system time was showing 1 PM, exactly 4 hours behind the current time.

Installing and running Windows Time Service and configuring it for External Time Sync does not solve the problem. The Internet time synchronization will set the time properly, and then the time will reset again randomly.

This problem also reliably occurs every single time you reboot the computer.

Anyone ever heard of this problem or know of a solution?

dssvo
  • 51
  • 1
  • 1
  • 2
  • 1
    This is strange as usually I'd recommend configuring the external time sync, but since you said you've already done that, can you make sure you have the most current time zone updates per here: http://support.microsoft.com/kb/2863058 MS released this and there are several updates that are necessary for time sync for some systems. Let me know the results then we can proceed. – Brad Bouchard May 09 '14 at 22:19
  • 3
    If you set the BIOS clock to EST, does the problem go away? – Nathan C May 09 '14 at 23:09
  • 1
    i don't have a specific answer, but dig around google, i saw quite a few mentions of flaky/hacky windows utc support issues...this link has a similar effect of -4 hrs (despite dual-boot environ), with an answer mentioning server 2008 utc is unsupported: http://askubuntu.com/questions/169376/clock-time-is-off-by-4-hours edit: more specifically, it sounds like you need to set the BIOS to local EST time despite the utc designation... – pete May 10 '14 at 01:02
  • Most people seem to suggest setting the BIOS clock to UTC, but I will try setting it to EST to see what happens... – dssvo May 10 '14 at 19:54

1 Answers1

1

By default, Windows expects the BIOS clock to be set to local time, not UTC. This is not the case under Linux and friends. (Which leads to fun in a dual-boot system.)

Windows recently added a registry setting that allows for the BIOS clock to be set to UTC. However, this setting is not officially supported, and is known to cause issues. http://blogs.technet.com/b/askds/archive/2012/03/09/unresponsive-servers-due-to-dst-and-an-unsupported-registry-key.aspx

From a purely technical standpoint, keeping the BIOS clock in UTC is "better". However, there is plenty of historical baggage in Windows that expects the BIOS clock to be the local time, so you should not mess with that setting unless you have a specific reason for doing so.

So, my recommendations would be to make set your BIOS clock to the local timezone, make sure your time zone is set correctly in Windows, and make sure you have the Windows time service configured to use an external NTP source (since you are not on a domain, use w32tm from the command line to do this).

myron-semack
  • 2,573
  • 18
  • 16