![为什么安装 Windows 后 Ubuntu 中的时间会发生变化](https://linux22.com/image/1044227/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%AE%89%E8%A3%85%20Windows%20%E5%90%8E%20Ubuntu%20%E4%B8%AD%E7%9A%84%E6%97%B6%E9%97%B4%E4%BC%9A%E5%8F%91%E7%94%9F%E5%8F%98%E5%8C%96.png)
今天我在安装了 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 的情况。