Ubuntu 15.10假设BIOS时钟设置为UTC时间,无论在/etc/default/rcS中的UTC=no。

我有一个双系统,安装了Ubuntu 15.10和Windows 10。为了解决Ubuntu和Windows之间的时间不一致问题,我尝试了上述提到的广为人知的修复方法,但即使在重启后,Ubuntu仍然假设BIOS时钟设置为UTC时间,而我希望它设置为本地时间以与Windows兼容。
从上面链接的同一答案的一些评论中,似乎我不是唯一遇到这个问题的人。
有什么线索吗? 为什么这个问题不是重复的 问题双系统时钟不准确非常通用,其中有很多可能的解决方案,包括让Ubuntu使用本地时间而不是UTC时间。但是广泛提出的改变/etc/default/rcS的方法对我和其他人来说都不起作用,所以我认为有必要提出另一个问题,询问为什么广泛提出的解决方案不起作用(至少在某些情况下),我的问题就是针对这种需求的。

1我已经在systemd案例中发布了一个答案(适用于15.10):http://askubuntu.com/a/720466/158442。试一下吧。尽管如此,在我看来,让Windows使用UTC更好。 - muru
@muru 我同意每个操作系统都应该使用UTC时间,但是让Windows使用UTC的问题在于你必须禁用通过互联网更新时钟,因为Windows(即使在2015年)仍然不能将UTC时间写入BIOS时间,它总是写入本地时间。在双启动系统中,这意味着除非你启动Linux,否则你的BIOS时间将永远不会更新。 - mmj
... 除非你在Linux上使用NTP(网络时间协议)(http://askubuntu.com/a/178977/158442)。或者启用默认提供的自动更新功能:http://askubuntu.com/a/176184/158442。 - muru
@muru,我最终决定让Windows使用UTC并关闭通过互联网进行的时间更新,但如果你确信你提供的反向选项(使Ubuntu假设BIOS时间为本地时间)有效,请在这里回答(提供链接即可),我会接受它。 - mmj
其实,我之所以在另一个帖子中添加了我的回答,是为了让这个问题被标记为重复。如果我的回答已经涵盖了你的帖子(我想它已经做到了),那么这个问题将会再次被另一个问题所覆盖。 - muru
1可能是双系统引起的时钟时间不准确的重复问题。 - muru
@muru 我不同意。实际上,我认为相反的情况才是真实的;你的回答是对我非常具体问题的精确且唯一的答案,而对于那个非常普遍的问题来说,它只是众多可能答案之一。因此,最好的解决方案应该是在这里放上你的回答,并在另一个问题中留下一个链接。 - mmj
3个回答

如@muru在“双系统时钟时间不准”的解释中所述,并根据Arch Wiki的说明:

You can set the hardware clock time standard through the command line. You can check what you have set to use by:

$ timedatectl | grep local

The hardware clock can be queried and set with the timedatectl command. To change the hardware clock time standard to localtime, use:

# timedatectl set-local-rtc 1

If you want to revert to the hardware clock being in UTC, do:

# timedatectl set-local-rtc 0

我们可以让Windows使用UTC,但有时我们只有几台Windows和一台Ubuntu来进行多重启动设置。在这种情况下,更好的选择是强制一个Ubuntu使用“本地”时间,而不是逐个更改所有Windows设置。

在Ubuntu 16.04 LTS Xenial上测试了这种方法,没有出现任何问题。


如果您希望立即更新时间,请使用开关:
timedatectl --adjust-system-clock set-local-rtc 1

我对所有不想在Linux中与命令行搞乱的用户有一个非常简单的答案。 在Windows中,打开自动时间和时区更新,它会将BIOS/硬件时钟设置为本地时间。现在 在Linux中,关闭时区更新,并将时区设置为UTC或GMT。这样,它将把BIOS时间视为UTC时间(即通过Windows设置的本地时间)。并显示相同的时间。然后打开自动时间更新。