FreeBSD 和 Windows 显示不同的时间

FreeBSD 和 Windows 显示不同的时间

在双启动系统中,我通常使用 FreeBSD 9,但是当我启动到 Windows 7 时,两个操作系统中的系统时间都会自动更改并显示错误的时间。有什么问题以及如何解决?

答案1

典型的 BIOS PC 具有一个时钟,用于存储没有时区指示的时间。不同的操作系统有不同的约定:有些需要时钟存储 UTC,有些则需要时钟存储本地时间。需要不同约定的系统之间的双启动是一个问题。

旧版本的 Windows 没有与本地时间分开的显示时间的概念。因此,您需要将硬件时钟设置为您想要在 Windows 中显示的时间。不知道 Windows 7 是否修复了这个问题。

Unix 系统有每个用户的时区设置,并在内部使用 UTC。大多数 Unix 变体喜欢使用 UTC 时钟,但为 PC 设计的 unice 通常提供与 Windows 共存的方法。在 FreeBSD 上,运行tzsetup然后adjkerntz更新此设置。您可以判断硬件时钟使用的是 UTC 还是本地时间:如果/etc/wall_cmos_clock存在,则假定硬件时钟使用本地时间。

请注意,如果您居住在采用夏令时的时区,并且您的硬件时钟使用本地时间,则您的多个操作系统可能会在 DST 开始或结束时竞争重置时钟。这就是为什么将硬件时钟设置为 UTC 更好的原因之一:仅当您使用绝对需要它的操作系统时,才应将硬件时钟设置为本地时间。

答案2

根据我的经验,您的问题听起来像是一个操作系统将您的硬件时钟视为使用 UTC,而另一个操作系统则认为它是本地时钟。

检查您的 BSD 和 Windows 安装是否配置为您的本地时区

相关内容