双启动系统 Windows 10 和 Ubuntu 12.04

双启动系统 Windows 10 和 Ubuntu 12.04

如何让两个系统都显示正确的时间?到目前为止,我得到的结果是每次使用 Ubuntu 后,Windows 的时间都会改变 +4 小时。这里发布的所有解决方案都不起作用。

答案1

您的计算机包含一个小时钟,它有自己的小电池,因此即使您的 PC 关闭,它也不会忘记时间。Linux/Ubuntu 希望此时钟提供 UTC 时区的时间,具体取决于您居住的地方,这与当地时间不同(此外,UTC 没有夏令时)。另一方面,Windows 希望此时钟提供当地时间。解决方案是将 Windows 设置为期望 utc,或将 linux 设置为期望本地时间。由于 Windows 解决方案涉及弄乱注册表,让我们看看如何在 Ubuntu 中执行此操作:打开文件/etc/default/rcS使用 root 权限和您选择的编辑器,例如:

sudo nano /etc/default/rcS

将以下行更改为如下所示:

# Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not.
UTC=no

现在您可能必须重新将时钟设置为正确的时间。

注意:此方法仅适用于 15.04 及以下版本,因为 systemd 的引入改变了方法。

答案2

多启动系统时间冲突

操作系统将时间存储和检索到主板上的硬件时钟中,这样即使系统没有电源,它也能跟踪时间。大多数操作系统(Linux/Unix/Mac)默认将硬件时钟上的时间存储为 UTC,但有些系统(尤其是 Microsoft Windows)将硬件时钟上的时间存储为“本地”时间。如果两个系统对硬件时钟的看法不同,这会导致双启动系统出现问题。

将硬件时钟设置为 UTC 的优点是,您在时区之间移动时或夏令时 (DST) 开始或结束时不需要更改硬件时钟,因为 UTC 没有 DST 或时区偏移。

将 Linux 更改为使用本地时间比将 Windows 更改为使用 UTC 更容易、更可靠,因此双启动 Linux/Windows 系统倾向于使用本地时间。

自 Intrepid (8.10) 起,UTC=yes 为默认值。

让 Windows 使用 UTC

笔记:此方法最初不受 Windows Vista 和 Server 2008 支持,但在 Vista SP2、Windows 7、Server 2008 R2 和 Windows 8/8.1 中重新得到支持。

让 MS Windows 根据硬件时钟计算 UTC 时间。

创建一个名为WindowsTimeFixUTC.reg以下内​​容的文件,然后双击它以将其内容与注册表合并:

Windows 注册表编辑器版本 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
     "RealTimeIsUniversal"=dword:00000001

笔记:无论关机时上述注册表设置如何,Windows 时间服务仍会将本地时间写入 RTC,因此使用此命令禁用 Windows 时间服务非常方便(如果在 Windows 中仍需要时间同步,请使用任何第三方时间同步解决方案):

sc config w32time start= disabled

撤消更改您可以创建一个包含以下内容的文件,然后双击它以合并原始更改,如上所述:

Windows 注册表编辑器版本 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
     "RealTimeIsUniversal"=-

如果 Windows 时间服务已被禁用,请使用以下命令再次启用它:

sc config w32time start= demand

让 Linux 使用“本地”时间

要告诉你的 Ubuntu 系统硬件时钟已设置为“本地”时间:

edit /etc/default/rcS

添加或更改以下部分

# Set UTC=yes if your hardware clock is set to UTC (GMT)
UTC=no

欲了解更多详细信息,可以查看以下链接:

多启动系统时间冲突

希望,它会起作用:)

相关内容