为什么安装 Windows 后 Ubuntu 中的时间会发生变化

为什么安装 Windows 后 Ubuntu 中的时间会发生变化

今天我在安装了 Ubuntu 的同一台电脑上安装 Windows 7。出于某种原因,安装 Windows 7 并返回 Ubuntu 后,时间从当时的正确时间(下午 12:30)变为了早上 7:30。这是在安装 Windows 7 后发生的。据我所知,BIOS 已设置时间,Ubuntu 的时间与安装时 BIOS 中显示的时间相同。至少到目前为止,我看到的情况是这样的。现在安装 Windows 7 后(请相信我,这只是为了测试 Windows 7 与 Ubuntu 的性能,在这种情况下,Windows 7 在相同硬件上落后很多),Ubuntu 中的时间变为 Windows 7 中设置的错误时间。

我实际上并没有更改 Windows 7 中的时间,因为这是我要进行的检查之一,以查看操作系统是否能够正确获取时间。Windows 7 失败了。Ubuntu 没有,但如果我之后使用 Ubuntu 启动,Windows 7 实际上会更改 Ubuntu 的时间。

所以我的问题是,为什么/如何安装 Windows 后 Ubuntu 中的时间会发生变化。

注意 - 我已将 Ubuntu 时间设置为“手动”,而不是从互联网上获取时间,只是为了测试这一点。

答案1

因为两个操作系统设置硬件时钟的方式。默认情况下,ubuntu 使用 UTC,而 windows 使用本地时间。

因此,当您关机时,您的硬件时钟设置为“13:00”。当您启动时,Windows 将“13:00”视为当地时间,即下午 1 点,但 Ubuntu 将其视为 UTC,因此将时间从 UTC 转换回当地时间。

您可以通过要求 Windows 使用 UTC 设置硬件时钟或让 Ubuntu 使用本地时间来解决这个问题。

在 Ubuntu 中进行更改,编辑edit /etc/default/rcS并更改

UTC=yes改为不,像这样:

# assume that the BIOS clock is set to UTC time (recommended)
UTC=no

看:

https://help.ubuntu.com/community/UbuntuTime#Multiple_Boot_Systems_Time_Conflicts

答案2

这必须处理设置为 UTC (GMT) 的硬件时钟。Ubuntu 通过在本地时钟上加/减时间来正确读取本地时间。Windows 不使用 UTC,因此会弄乱时间。看一看https://help.ubuntu.com/community/UbuntuTime

尽管文档很旧,但仍然具有相关性。

答案3

如果您使用的是 Windows 7 并安装了 Service Pack 2,则可以使用注册表破解将 Windows 设置为使用 UTC。如果您需要注册表破解,请确保从 Microsoft 网站获取。如果您不知道这是什么意思,请使用Bodhi Zazen 的答案中的UTC=no方法。/etc/default/rcS

但我不清楚 Windows 8 的情况。

相关内容