使用两个操作系统时的时间变化

dha*_*asu 4 windows linux time multi-boot ubuntu

我有一台双启动机器。Ubuntu 和 Windows Vista。从 Ubuntu 重新启动到 Vista 后,我看到 Vista 中的时间发生了变化,反之亦然。为什么会出现这种情况??两个操作系统上的时区都是正确的。

Al.*_*Al. 7

这可能是因为 Ubuntu 被配置为假设系统时钟是 GMT/UTC(或任何你想调用的时间),它会根据登录用户的位置调整时区。 Windows 更改实际系统时钟以匹配时区。您可以重新配置 Ubuntu 以假设系统时钟是本地时间,但我现在不记得该怎么做(谷歌会告诉您!)。


Jos*_*unt 7

这是由于对两种不同的操作系统如何存储和检索当前时间有些混淆。默认情况下,某些操作系统(或 BIOS?)将使用 UTC 时区在 BIOS 中“存储”和“检索”时间,然后将其转换为用户所需的时区,而其他操作系统可能会“存储”和“检索”它在用户的时区。

这个问题在使用 bootcamp 的 Mac 用户中很常见(或最明显)。请参阅 Mac Observer 论坛上的这篇文章

在您的 Windows 注册表中,您需要更新密钥:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal
Run Code Online (Sandbox Code Playgroud)

到达那里后,RealTimeIsUniversal 设置的 DValue 应为 1。该注册表项告诉 Windows,保存在 NVRAM(您的设置所在的位置)中的内部时钟的时间使用协调世界时 (UTC),有时(错误地) ) 称为格林威治标准时间 (GMT)。

注意:我知道这适用于 XP,但我认为它也适用于 Vista。我没用过Win7所以别问了!