我应该将 BIOS 设置为本地时间还是 UTC?

我应该将 BIOS 设置为本地时间还是 UTC?

我即将安装新系统,刚刚注意到 BIOS 时间设置为 UTC 时间。我应该将其设置为本地时间吗?保持原样或将其设置为本地时间会有什么后果?

我将要安装的操作系统是 Kubuntu 11.04。

答案1

检查您的设置,/etc/default/rcS如果是,UTC=yes则在 BIOS 中将其设置为 UTC,Kubuntu 将使用您的时区文件进行适当调整。问题是,如果它认为您的 BIOS 是 UTC,而它实际上是本地时间,那么您的 hwclock 总是会不同步,当它使用时区数据(就像在 UTC 时钟上一样)时,您最终会得到错误的时间。

答案2

简而言之:

现在是 2018 年,硬件时钟应该设置为 UTC 时间,即使对于 Windows 双启动也是如此。

要让 Windows 将硬件时钟视为 UTC,请执行以下操作:

  • 在注册表中的 下,添加一个值为类型的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformationRealTimeIsUniversal00000001dword
  • 通过运行以下命令禁用 Windows 时间服务:sc config w32time start= disabled

参见Ubuntu 维基百科

详细信息:

大多数操作系统都认为硬件时钟是 UTC,但 Windows 除外荒谬的兼容性原因,据称是为了避免用户通过 bios 设置时间时感到困惑(!)(顺便说一句,这篇博文的评论值得一读)

Arch Linux 维基很好地解释了使用本地时间作为硬件时钟的缺点:

时间标准有两种:本地时间和协调世界时 (UTC)。本地时间标准取决于当前时区,而 UTC 是全球时​​间标准,与时区值无关。尽管概念不同,但 UTC 也称为 GMT(格林威治标准时间)。

硬件时钟(CMOS 时钟,BIOS 时间)使用的标准由操作系统设置。默认情况下,Windows 使用本地时间,macOS 使用 UTC,类 UNIX 系统有所不同。使用 UTC 标准的操作系统通常会将硬件时钟视为 UTC,并对其进行调整,以根据时区在启动时设置操作系统时间。

如果一台机器上安装了多个操作系统,它们都会从同一个硬件时钟获取当前时间:建议为硬件时钟采用唯一的标准,以避免系统间冲突,并将其设置为 UTC。否则,如果将硬件时钟设置为本地时间,多个操作系统可能会在 DST 更改后对其进行调整,从而导致过度校正;在不同时区之间旅行并使用其中一个操作系统重置系统/硬件时钟时也会出现问题。

答案3

在大多数情况下,我建议将 BIOS 设置为 UTC 时间。但如果您使用 Windows 双启动,我建议使用本地时间。Windows 无法正确处理 BIOS 设置为 UTC。因此,每次切换操作系统时,都会影响另一个操作系统的时间。

我的看法

你可以破解注册表,让 Windows 支持 UTC 时间,不过可以参考这个Windows 10 是否支持 UTC 作为 BIOS 时间?

相关内容