我有一台运行 Windows 7 Ultimate(64 位)的标准 PC。由于某种原因,它在重新启动时拒绝保留正确的时区(BIOS 电池正常)。
注释(1):时区正确。“Internet 时间”选项卡还显示“此计算机设置为自动与‘time.windows.com’同步。当我单击‘更改设置...’按钮时,‘与 Internet 时间服务器同步’复选框被选中已检查。
但是,重新启动后,时间就会偏差 6 个小时......而且即使等待几个小时才发生“自动同步”,时间也无法自行纠正。
笔记2):BIOS 时间设置为当地的(即不是 UTC)。当我重新启动 Windows 7 而不启动以双启动配置安装的其他操作系统(Ubuntu Linux)时,它似乎正确地记住了时间。这也许可以解释即时重新启动时的时间,但它不能解释为什么 Windows 7惯于即使一小时后也会自动“与互联网时间服务器同步”。
为什么会发生这种情况?我该如何解决?
答案1
我决定继续浪费时间来解决那些应该可以节省我时间的工具中的问题……并且我多次重新启动系统,以便更好地观察正在发生的事情:
事实证明,仅仅启动到Ubuntu更改BIOS时间!
显然,Ubuntu 使用 UTC 时间,而 Windows 7 使用本地时间(几十年来一直如此),在通过 NTP 检索正确时间后,Ubuntu 会相应地更新 BIOS。
因此,部分谜团已经解开,但我仍然不明白为什么 Windows 7 不会像 Ubuntu 一样在重启时立即自动“与 Internet 时间服务器同步”。
答案2
因为两个操作系统设置硬件时钟的方式。默认情况下,ubuntu 使用 UTC,而 windows 使用本地时间。
因此,当您关机时,您的硬件时钟设置为“13:00”。当您启动时,Windows 将“13:00”视为当地时间,即下午 1 点,但 Ubuntu 将其视为 UTC,因此将时间从 UTC 转换回当地时间。
您可以通过要求 Windows 使用 UTC 设置硬件时钟或让 Ubuntu 使用本地时间来解决这个问题。
要在 Ubuntu 中进行更改,请编辑 /etc/default/rcS 并进行更改
UTC=yes
至no
,像这样:
# assume that the BIOS clock is set to UTC time (recommended)
UTC=no
看:
https://help.ubuntu.com/community/UbuntuTime#Multiple_Boot_Systems_Time_Conflicts
答案3
检查实际的时区设置(单击时钟,“更改日期和时间设置”,如果需要,从这里更改时区。)
我正在设置一台笔记本电脑,它重新启动时时间和日期不断改变,我用尽了各种各样的办法......BIOS,我当时能想到的一切。
原来是设置成了加拿大时区,而不是我的时区(GMT + 12/13)。改成正确的时区后,时间突然就正确了(想想看)。