900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 解决 Windows 11和 Manjaro 21.2.5 Linux双系统时间不同步(时间不一致)问题:差8小时的问题

解决 Windows 11和 Manjaro 21.2.5 Linux双系统时间不同步(时间不一致)问题:差8小时的问题

时间:2018-10-20 13:53:24

相关推荐

解决 Windows 11和 Manjaro 21.2.5 Linux双系统时间不同步(时间不一致)问题:差8小时的问题

解决 Windows 11和 Manjaro 21.2.5 Linux双系统时间不同步(时间不一致)问题:差8小时的问题

症状

主要症状是安装 Windows 和 Linux 系统后 Windows 的时间会比慢8个小时。

当我们将 Windows 时间调整正确之后,Linux 这边如果未联网则时间会快8小时,而联网时我们通常看不到 Linux 时间快,但是回到 Windows 后时间又慢了。 orz

原因

电脑系统中有两个时间:

硬件时间:保存在主板中,信息比较少没时区、夏令时的概念系统时间:又系统维护,独立于硬件时间,拥有时区、夏令时等信息

系统时间又因为系统的不同使用了两种时间管理办法:

localtime:本地时间,目前只有 Windows 在使用。UTC:是一种世界标准时间,Linux 这类类 UNIX 多数会使用,UTC 加减时区之后才是本地时间。

然后问题就来了

Windows 认为硬件时间就是本地时间,所以会直接把主板中的时间拿来当做当前的时间。设置或同步时间后也会把“正确”的时间写入主板。

而 Linux 认为硬件时间是 UTC 标准时间,Linux 时间同步后会把“正确”的时间 -8 之后作为标准 UTC 标准时间写入主板。

而貌似 Linux 启动时就会链接网络同步时间,所以硬件时间很迅速的就被替换为了 UTC 。但是 Windows 比较懒,虽然我们都开启了自动同步时间,但是往往不是很及时,所以错把为 +8 的 UTC 时间当做了正确的显示了出来。

原因说完了,我们接着说怎办

解决办法

我这边是 Manjaro Linux 以它为例来说修复方法。大致上有两种思路,一种是让 Windows 使用 UTC 时间;另一种则是让 Linux 使用 localtime

让 Linux 使用本地时间

委屈以下 Linux 吧,Manjaro 或 Arch 可以在终端中输入:

sudo timedatectl set-local-rtc true1

让 Windows 使用 UTC

这需要修改注册表,而且不能开启时间同步,以免我们的设置被重置。由于我的 Windows 是主力系统,因此没有尝试下面的方法,有效性有待验证

# 以管理员身份使用运行reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f# 以上方法无效或64位系统:reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_QWORD /f1234

本文部分参考内容:

Arch Linux wiki —— Time

参考链接:/weixin_36349646/article/details/102597290

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。