正如标题所示,Windows 时间会不断随机变化,变化量也是随机的。有时每分钟都会变化,有时则会持续数小时。如果我点击与 Internet 时间同步,它会更新到正确的时间。
我读过/检查过的东西
- 禁用/启用互联网时间同步. 没有帮助。
- 禁用/启用 Windows 时间服务. 没有帮助。
- CMOS 电池没电了。不,它没有死。Windows 运行时时间也会发生变化。
- 你的路由器/调制解调器时间错误,影响 Windows 时间不,这没错。
- 您的时区配置不正确。不,现在是 UTC+0 伦敦
- 你正在双启动到 Hackintosh/Linux。这台电脑上只能运行 Win 7。
- 你的超频有问题。我的 OC 配置文件确实很高,但在没有任何帮助的情况下尝试以常规速度运行。
- 病毒/木马。我非常怀疑。这是一个非常简单的 Windows 游戏安装。只安装了 Windows 和带有 Steam 的游戏。
更新
我可以确认,当我以安全模式启动 Windows 时,不存在此问题。我已通过启动安全模式对此进行了测试。启动后,我手动更正了时间,并让 PC 运行了几个小时,时间没有改变。
更新 2
我不知道我怎么会错过这个细节(或者实际上它是否有帮助),但时间重置为“那个”确切时间。那个确切时间是第一次更新的时间。
例子:
- 我启动电脑,过了一段时间它重置为(比如说)09:33:27
- a-) 我修正了时间,让它停留一段时间,它又跳回到 09:33:27
- b-) 我让它运行了一段时间,一段时间后它会重置为 09:33:27(非常随机的时间段,我在这里看不到任何模式,例如每小时/每 17 分钟或其他任何时间)
- 无论我是否更改时间,这种情况都会发生。
- 下次启动后(第二天?),它会选择另一个时间重置
更多细节
这是事件查看器中有关时间更改的屏幕截图。请记住,此屏幕截图是在“Windows 时间”服务被禁用时拍摄的。
事件属性截图:
同一事件的详细信息页面:
<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-01-25T09:38:34.500000000Z" />
<EventRecordID>19280</EventRecordID>
<Correlation />
<Execution ProcessID="4" ThreadID="64" />
<Channel>System</Channel>
<Computer>slayer</Computer>
<Security UserID="S-1-5-18" />
</System>
<EventData>
<Data Name="NewTime">2014-01-25T09:38:34.500000000Z</Data>
<Data Name="OldTime">2014-01-25T13:59:57.982183900Z</Data>
</EventData>
</Event>
屏幕截图和详细信息暗示 Windows 确实认为这是正确的时间并觉得需要更新它。尽管没有激活 Windows 服务来授权此操作。
有任何想法吗?
更新 3 问题与解决方案
问题显然不是出在 Windows 或任何其他试图更新时间的软件上。
在阅读了一个小时的系统内存转储后,我发现 Windows 无法从主板读取 RTC。在一段时间无法读取 RTC 状态后,Windows 认为它计算的时间错误,并恢复到上次知道的 RTC 状态。
我不知道为什么在“安全模式”下不会发生这种情况,在安全模式下成功运行 Windows 让我走上了完全错误的路线(在软件而不是硬件中搜索错误)故障的根源是系统 BIOS(或我的情况是 UEFI)在系统 POST 和启动后根本没有运行。对此进行简单的谷歌搜索,显然这是大多数 UEFI 主板的一个常见问题(我自己使用的是华硕 ROG 主板)
建议的解决方案是:刷新 UEFI 并在待机电源上重置 CMOS。由于我知道我已经在用最新版本的 UEFI,所以只需在待机时重置 CMOS 就可以了。现在一切都正常了,没有问题。
感谢您提供的所有意见,对于问题误导性的信息深表歉意,但我会保留上述所有信息,希望其他人也能从中受益。
答案1
尝试这个命令:
bcdedit /set {current} useplatformclock yes
我在网上找到了它,但没有可用的资源。我在晚上遇到了同样的问题,现在 - 执行此命令后 - 问题消失了。需要重新启动系统。
答案2
怀疑这是否是该用户问题的答案,因为他们已按上述方法修复了该问题。然而,在双启动 Windows/Linux 系统中,这些症状的共同原因恰恰是:这两个操作系统对 CMOS 时钟的处理方式不同,并且争夺按其想要的方式设置时钟(Linux 在软件中将 UTC 设置为夏令时等,Windows 设置为本地时间,因此软件和硬件时钟相同)。
这有一个简单的解决方案:告诉其中一个使用另一个的默认行为。
视窗:将新的 DWORD 设置RealTimeIsUniversal
为 1
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation
然后确保您已经从 Windows 更新安装了它: https://support.microsoft.com/en-us/kb/2922223
Linux:UTC=false
设置/etc/sysconfig/clock
显然不要同时做这两件事!
答案3
这个问题有两种类型。第一种是重置为基准日期和时间,对于大多数现代计算机来说,基准日期和时间是 2008 年。即使禁用了互联网时间同步,Nero burning rom 和 MSinstall exec 等软件也会尝试设置安装或运行的时间。旧版本的 dotnet 也会这样做,有些游戏会在后台隐藏这些旧版本。最近安装的旧版本的 printshop 就是这样的。我运行了 tracemon,结果可以追溯到 printshop 内部安装的 dotnet 1.x。
查看您可能已安装的任何旧软件游戏或其他程序,并查看 dotnet 活动日志。
这也与 SSL 或互联网安全服务器有关,如果日期超过一个月(Windows 7 和 8),它也会导致未经授权的时间和日期更改,并且 Windows 安全将进入自动锁定状态并将时间和日期设置回最小默认值以保护自己。
我希望这有帮助。
答案4
您是否检查过时区服务器值。它应该是time.windows.com。
第二个选项-我建议您从 services.msc 重新启动 Windows 时间服务。
您的计算机上是否安装了第三方时钟应用程序?如果是,请卸载该应用程序。