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

今天我在与Ubuntu相同的计算机上安装Windows 7。 出于某种原因,在安装Windows 7并返回Ubuntu之后,时间从正确的小时,​​即12:30 PM到7:30 AM。 这是在安装Windows 7后发生的。根据我的理解,BIOS有一个时间设置,Ubuntu与安装它时在BIOS中显示的时间相同。 至少到目前为止我所看到的是这一点。 现在安装Windows 7之后(相信我这只是为了测试Windows 7对Ubuntu的性能,在这种情况下,Windows 7在同一硬件上落后很多),Ubuntu的时间变为Windows中设置的错误时间7。

我实际上并没有改变Windows 7中的时间,因为这是我正在做的一项检查,看看操作系统是否可以正确地占用时间。 Windows 7失败。 Ubuntu没有,但是如果我之后用它启动,Windows 7实际上会改变Ubuntu的时间。

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

注意 – 我已经将Ubuntu时间设置为“手动”而不是从Internet上抓取它只是为了测试它。

由于两个操作系统设置硬件时钟的方式。 默认情况下,ubuntu使用UTC和windows localtime。

因此,当您关闭时,您的硬件时钟设置为“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

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

虽然文档很旧,但仍然相关。

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

不过,我不知道Windows 8。