计算机时间管理和嵌入式系统(标准版7 SP1)https://msdn.microsoft.com/en-US/library/ff794720 ( v= winembedded.60)
.aspx
默认情况下,Microsoft Windows假定存储在CMOS时钟中的日期/时间是本地时间。由于默认日期/时间是本地时间,因此必须定期调整CMOS时钟,以便在DST适用于给定时区配置时考虑DST与标准时间之间的转换。这与其他操作系统形成对比,后者可能假设存储在CMOS时钟中的日期/时间是UTC。CMOS时钟不存储与时区或DST相关的信息。因此,在启用写入筛选器或在单个系统上安装和使用多个操作系统时,这可能会产生问题。
CMOS时钟自动调整:
“调整CMOS时钟后,还将调整ActiveTimeBias注册表项以反映用于配置CMOS时钟的新值。”
那么这是我的答案的解决方案。Windows每年两次通过确认ActiveTimeBias不符合需求来了解它应该重新配置时钟:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"ActiveTimeBias"=dword:ffffff88
0xffffff88 = 2^32 -120minutes = -2h
UTC - (-120 minutes) = Local Time
(我有GMT + 1,等于UTC + 1h,夏令时= + 1h)
UTC + Bias + (DST?1:0)*DaylightBias = UTC + ActiveTimeBias = LocalTime
如果此公式不为True:则Windows会更正时钟并重写ActiveTimeBias。到目前为止,这是我的问题的答案,我无法解决这么长时间。
我可能必须在此时修复ActiveTimeBias但是:在https://msdn.microsoft.com/en-US/library/ff794720(v=winembedded.60)中有一个注释和Boot-Sequence的图片
。 aspx @“CMOS时钟自动调整”,指出:
“因此,在启用写入过滤器(系统卷)时,记录已更新CMOS时钟所需的注册表更改不会保留。同样,您无法使用注册表过滤器来解决此问题,因为注册表过滤器是没有在启动序列中尽早启用,以防止在先前调整时钟后调整时钟。“
这导致我得出结论,我正在解决错误的Bug?好吧,我有一些XP-Systems
,也许只有他们有问题。微软可能会fixed the Time-Bug
在Windows 7 Embedded
,但不是在早期版本。我会密切关注这一点。否则这个答案是错误的,我必须查看系统的这种疲劳行为的另一个原因。