Windows 10 时钟在启动时偶尔会显示 +5 小时

Oce*_*gel 3 sync time clock time-zone windows-10

我的系统时钟一直有这个奇怪的问题。有时,当我启动 Windows 10 时,我的时钟显示的时间比当前时间早 5 小时。所以如果我住的地方(东部时区)是中午,时钟会显示下午 5 点。它会根据夏令时进行调整,并提前 5 小时。

我检查了我的时区设置,它被设置为正确的时区。我已将 Internet 时间设置为与 同步time.nist.gov,并且在手动同步时间时,它正确设置了时钟,尽管这样做时会出现以下错误消息:

“Windows 与 time.nist.gov 同步时发生错误。此操作返回,因为超时期限已过。”

这个问题是在擦除我的硬盘驱动器并从头开始重新安装 Windows 10 后立即出现的,所以它不是由我从那时起安装的任何东西引起的。它只发生在 Windows 启动时,但不是每次都发生。我目前在双引导配置中安装了 Ubuntu 16.04(问题在我安装 Ubuntu 之前就开始了),我没有看到 Ubuntu 时钟有任何类似的问题。

我在互联网上查看了类似的与时间相关的问题,但似乎没有一个与我的相匹配。这个问题和我的很相似,但问题是硬件时钟关闭引起的,而我电脑上的 BIOS 中显示的时钟设置为正确的时间。

让我感到奇怪的是,即使调整了夏令时,时间也正好是五个小时,而不是一分钟。在我看来,Windows 偶尔会与错误的时区同步,但我不知道如何验证或更正。

更新:事实证明,从 Ubuntu 切换到 Windows 每次都会触发 5 小时的偏移量,因此硬件时钟分别被 Ubuntu/Windows 设置为 Universal/Local 确实是一个问题。

Ste*_*uch 5

我非常怀疑 Ubuntu 和 Windows 不同意 hwclock 是本地时间还是 UTC。发生冲突通常是因为 Linux 使用设置为 UTC 的 hwclock,而 Windows 使用设置为本地时区的 hwclock。

如果您希望 hwclock 显示您所在时区的时间,那么您需要将 linux 更改为不是 UTC,这意味着让 linux 使用 localtime。如果您对 hwclock (BIOS) 处于 UTC 状态感到满意,则将窗口更改为 UTC。

这里

让 Windows 使用 UTC

注意:此方法最初在 Windows Vista 和 Server 2008 上不受支持,但在 Vista SP2、Windows 7、Server 2008 R2 和 Windows 8/8.1 上又回来了。


使 MS Windows 将硬件时钟的时间计算为 UTC。

创建一个以WindowsTimeFixUTC.reg以下内容命名的文件,然后双击它以将内容与注册表合并:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
 "RealTimeIsUniversal"=dword:00000001
Run Code Online (Sandbox Code Playgroud)

注意: Windows 时间服务仍会在关机时将本地时间写入 RTC,无论上述注册表设置如何,因此使用此命令禁用 Windows 时间服务很方便(如果在 Windows 中使用任何第三方时间时仍需要时间同步)同步解决方案):

sc config w32time start= disabled
Run Code Online (Sandbox Code Playgroud)

逆转变化。

您可以创建一个包含以下内容的文件,然后双击它以合并原始更改,如上:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
    "RealTimeIsUniversal"=-
Run Code Online (Sandbox Code Playgroud)

如果禁用了 Windows 时间服务,请使用以下命令再次启用它:

sc config w32time start= demand
Run Code Online (Sandbox Code Playgroud)

让 Linux 使用“本地”时间

告诉您的 Ubuntu 系统硬件时钟设置为“本地”时间:

Ubuntu 15.04 之前的系统(例如 Ubuntu 14.04 LTS):

编辑 /etc/default/rcS 并添加或更改以下部分

#Set UTC=yes if your hardware clock is set to UTC (GMT)
UTC=no
Run Code Online (Sandbox Code Playgroud)

Ubuntu 15.04及以上系统(如Ubuntu 16.04 LTS):打开终端,执行以下命令:

timedatectl set-local-rtc 1
Run Code Online (Sandbox Code Playgroud)