在运行Ubuntu和Windows双系统的机器上常遇到时间不同步的问题,主要是因为这两个操作系统对CMOS/BIOS时间有不同的处理方式所导致的。这个问题具体表现为当你安装并使用Ubuntu和Windows作为双引导的时候,在一台计算机上的时间在两个操作系统之间表现得不一致。

默认情况下:

Windows假定BIOS存储的时间是本地时间,并以此作为时间显示的基础。

ubuntuwindows时间  第1张

Ubuntu则通常认为BIOS中存储的时间是UTC(协调世界时)的时间,并将其转换成用户的时区时间来显示本地时间。

这种不同的设定就使得两个系统无法自然和谐地共存而不造成时间偏差问题。当在Windows系统中更改系统时间为本地时间的时候,Ubuntu由于假定BIOS中存储的时间为UTC的时间,所以Ubuntu会尝试将其作为UTC并按照用户的时区设置(比如北京是中国的标准时间 +8)进行转换。如果两个系统的设置互相冲突(比如Windows中的时间是基于其假设为“local time”,但Ubuntu的处理则是将BIOS存储的时间解释为“UTC”),那么系统中的时间显示就会变得不稳定或出现偏差。

针对这一问题,常见的解决方法之一是在一个系统中将时间处理的规则设定调整为另一种系统使用的。具体操作可以在Linux Ubuntu系统中进行以下设置调整来确保Linux使用本地时间,而不是假设的UTC来防止时间偏差:

ubuntuwindows时间  第2张

1. 设置Ubuntu使用本地时间(不是建议的最佳方法,但可以解决冲突)

安装`timedatectl`这个工具,使用命令:

sudo timedatectl setlocalrtc 1 adjustsystemclock

ubuntuwindows时间  第3张

2. 如果选择保持Ubuntu以UTC为准,那么你需要在Windows中设置为使用BIOS的硬件时间为UTC:

在注册表里编辑项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation下的DWORD类型键IsLocalrtc,其数值为0,表示BIOS时间是UTC时间。然后你需要在BIOS/UEFI设置中关闭或禁用将时钟作为“本地时间”的选项。但请注意,某些BIOS的版本可能不支持这一选项。

请谨慎操作这些设置,并在修改前考虑对其他硬件组件可能产生的影响或者数据损失的风险。如果你对此不确定,请参考特定于您计算机型号的手册,或向专业技术人员咨询。同时,请根据上述信息,考虑到您提供的上下文,这些解决方案可能需要视您系统的实际环境和需要进行适应性的改动。如果你的操作已经较为陈旧,你应当确保查阅最近的文档或官方指导。

ubuntuwindows时间  第4张

以上解决方案可能会随时间和版本升级发生变化,因此请查阅相关文档并根据最新的情况做出相应改动。在执行任何可能影响系统的操作之前,建议首先备份重要数据以防万一。