我最近在我的 Ubuntu 14.04 旁边安装了 Windows7 版本,并注意到尽管时区设置正确(太平洋标准时间),但 Ubuntu 中的时钟已经关闭了几个小时。我在网上搜索了答案并在某处阅读了取消选择“与互联网时钟同步”可能有助于解决问题的地方。它似乎确实在短期内解决了这个问题,但经过一些更新后,我再次注意到我的系统时钟提前了 7 小时。查看 BIOS,我发现那里的时钟正在被重置。
引起我注意的是我在 UBuntu 中的 f.Lux 没有在正确的时间打开,所以我去查看 BIOS 中的时间,发现它提前了 7 个小时。这解释了一些事情,我怀疑它可能是电池,但是发生了一些奇怪的事情,告诉我不然。
如果我进入 BIOS 并将时钟设置为正确的时间,然后加载到 Windows 中,一切都很好。我可以将系统重新启动到 Windows,并且 BIOS 或 Windows 时间没有任何变化。如果我通过 Windows 引导加载程序登录 Ubuntu,Ubuntu 时钟中的时间会更改为 7 小时之后。如果我再次重新启动进入 Ubuntu,Ubuntu 时钟仍然关闭并且 BIOS 时钟正常。BIOS 中唯一的时钟更改是当我更改 UBuntu 时钟中的时间时(通过选择手动或互联网同步)。
奇怪的是,在将 BIOS 修改为错误的时间后,Ubuntu 中的时钟通过显示正确的时间似乎是正确的。如果我在 BIOS 中修复时间,直接登录到 ubuntu wia windows bootloader,Ubuntu 时钟将关闭。
就好像 Ubuntu 无法正确读取 BIOS 时钟或与之同步。
与 Ubuntu 14.04 64 位一起运行 Windows7 64 位
找到了解决方案!我在这里读到:
“操作系统在位于主板上的硬件时钟中存储和检索时间,因此即使系统没有电源,它也可以跟踪时间。大多数操作系统(Linux/Unix/Mac)将时间存储在硬件上默认情况下时钟为 UTC,尽管某些系统(尤其是 Microsoft Windows)将硬件时钟上的时间存储为“本地”时间。如果两个系统以不同的方式查看硬件时钟,这会导致双引导系统出现问题“
通过使 Linux 使用“本地”时间来解决此问题的步骤是:
gksudo gedit /etc/default/rcS
添加或更改以下部分
# Set UTC=yes if your hardware clock is set to UTC (GMT) UTC=no
我的理解可能已经过时,但上次我检查 Linux 时假定 BIOS 时钟为 UTC(默认情况下),而 Windows 假定它设置为您的本地时间。
如果您想告诉 Ubuntu 使用本地时间,这可能会在启动 Windows 后解决您的问题,您需要编辑
/etc/default/rcS
:另一种方法是告诉 Windows 你的硬件时钟是 UTC,但我不熟悉你会如何去做。
您可以通过阅读有关此类似问题的信息找到更多信息。