例如,如果实际时间是美国东部时间下午4点,则系统时钟将读取下午12点.如果将系统时钟再次向前重置到正确的时间,它将再次随机跳回4小时.
>操作系统:Windows Server 2008 R2标准版SP1
>此服务器不在VM上,也未加入域.
>我们的时区是EST.
> Windows设置为EST时区.
> BIOS时钟采用UTC格式.
>供参考,EST距离UTC为-4小时.
>出于调试目的,我已禁用Windows时间服务和我能想到的任何其他服务,这将改变系统时间.
我检查了事件查看器,并查看了一些与时间变化相关的“内核常规”事件.这是一个例子:
<?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>
该活动于下午5点左右生成.在此事件之后,系统时间显示在下午1点,恰好比当前时间晚4小时.
安装和运行Windows时间服务并将其配置为外部时间同步并不能解决问题. Internet时间同步将正确设置时间,然后时间将再次随机重置.
每次重新启动计算机时也会可靠地发生此问题.
有没有人听说过这个问题或知道解决方案?
Windows最近added a registry setting允许将BIOS时钟设置为UTC.但是,此设置未得到官方支持,并且已知会导致问题.
http://blogs.technet.com/b/askds/archive/2012/03/09/unresponsive-servers-due-to-dst-and-an-unsupported-registry-key.aspx
从纯粹的技术角度来看,保持BIOS时钟为UTC是“更好”.但是,Windows中存在大量历史包袱,期望BIOS时钟是本地时间,因此除非您有特定原因,否则不应该使用该设置.
因此,我的建议是将BIOS时钟设置为本地时区,确保在Windows中正确设置了您的时区,并确保将Windows时间服务配置为使用外部NTP源(因为您不在一个域,从命令行使用w32tm来执行此操作).